3
respostas

[Dúvida] Carros passam por baixo do ator

Realizando a aula para incluir a colisão, meus carros passam por baixo do ator. Já revisei os códigos, e não consigo encontrar erros.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Coloca o teu código aqui pra nós analisarmos.

Estes são os códigos, não criei ainda as funções para colisão por estarem dessa forma, com o ator por cima dos carros e não o contrário:

function setup() { createCanvas(600, 400); }

function draw() { background(imagemDaEstrada); mostraCarro(); mostraAtor(); movimentaCarro(); movimentaAtor();

}

//Imagens do Jogo

let imagemDaEstrada; let imagemDoAtor; let imagemDoCarro;

// Load de Imagens

function preload(){ imagemDaEstrada = loadImage ("imagens/estrada.png") imagemDoAtor = loadImage ("imagens/ator2.png") imagemDoCarro = loadImage ("imagens/carro-1.png") }

//Códigos dos Carros

let xCarro = 600; let yCarro = 50;

//Comandos dos Carros

function mostraCarro (){ image (imagemDoCarro, xCarro, yCarro,45,30) }

function movimentaCarro(){ xCarro -= 2; }

//Variáveis do Ator

let xAtor = 50; let yAtor = 366;

//Comandos do Ator

function mostraAtor (){ image (imagemDoAtor, xAtor, yAtor, 30,30) }

function movimentaAtor(){ if (keyIsDown (UP_ARROW)){ yAtor -=3; } if (keyIsDown (DOWN_ARROW)){ yAtor +=3; } }

Isso ocorre porque você chama a função mostraAtor() depois da função mostraCarro(), então a imagem do carro vai ficar no plano abaixo do ator mesmo. Se quiser alterar isso é só alterar a ordem que chama as funções em draw, mas não vai afetar o funcionamento do programa, depois que vc colocar as rotinas de colisão nem vai dar pra ver quem está por cima de quem.