Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

baigou

Jump objeto

Recommended Posts

Boa noite users, estou tentando elaborar um pequeno código para fazer com que um objeto de um salto de acordo com um click em um determinado botão, utilizando a gravidade para que o mesmo volte ao chão. Segue o código:

var gravidade:Number = 1;
var pulo:Boolean = false; 

pular.addEventListener(MouseEvent.CLICK, saltar);

function saltar(Event:MouseEvent):void {
    if(pulo == false) {
	   personagem.y -= 100;
	   gravidade = -14;
	   pulo = true;
	}
}

O problema é que o objeto não volta ao chão, ele fica fixo ao ar, ou seja, a gravidade não corresponde. Me desculpe o jeito, ainda estou aprendendo ;-;

Grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Novamente fazemos aqui o uso do "ENTER_FRAME", a ideia é essa, se baseie nela para adequar a sua necessidade ajustando os valores necessários, lembrando que criei uma variável para definir a base do objeto (piso/chão).

var gravidade:Number = 1;
var piso = 300;
var pulo:Boolean = false;

personagem.y = piso;
personagem.speedY = 0;
personagem.impulso = 20;

personagem.addEventListener(Event.ENTER_FRAME, enterframe);
function enterframe(evt:Event) {
	personagem.speedY += gravidade;
	personagem.y += personagem.speedY;
	if (personagem.y > piso) {
		personagem.speedY = 0;
		personagem.y = piso;
		pulo = true;
	}
}

personagem.addEventListener(MouseEvent.CLICK, saltar);
function saltar(Event:MouseEvent):void {
    if(pulo == true) {
		personagem.speedY -= personagem.impulso;
		pulo = false;
	}
}

Como disse no seu outro post, eu estou meio enferrujado com o Flash, então pode ser q tenha melhores soluções, se isso não ajudar, aguarde a galera para colaboração.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.