Hacer un objeto en ActionScript que tiene movimiento en 2D y se detiene cuando golpea una pared
-
21-09-2019 - |
Pregunta
Quiero hacer un cuadrado que tiene movimiento teclado (arriba, abajo, izquierda, derecha) y se detendrá cuando se golpea a otro objeto, como una pared.
EDIT:! Ya tengo un cuadrado y un diseño de teclado pero si eso es necesario que haya algo específico, por favor, dime
Solución
Jackson, todo lo que necesita hacer es
- Esté atento a las teclas
- actualizar su carácter
- cheque por colissions
Usted no se BEEING específica, pero estoy 100% seguro de que si google un poco más en lo que necesita lo encontrará, ya que hay un montón de tutoriales de juegos flash.
Aquí hay un mínimo de configuración
//needed to update the position
var velocityX:Number = 0;
var velocityY:Number = 0;
//draw the ball
var ball:Sprite = new Sprite();
ball.graphics.beginFill(0);
ball.graphics.drawCircle(0,0,20);
ball.graphics.endFill();
addChild(ball);
ball.x = ball.y = 100;
//setup keys
stage.addEventListener(KeyboardEvent.KEY_DOWN, updateBall);
function updateBall(event:KeyboardEvent):void{
switch(event.keyCode){
case Keyboard.RIGHT:
if(velocityX < 6) velocityX += .25;
break;
case Keyboard.LEFT:
if(velocityX > -6) velocityX -= .25;
break;
case Keyboard.DOWN:
if(velocityY < 6) velocityY += .25;
break;
case Keyboard.UP:
if(velocityY > -6) velocityY -= .25;
break;
}
//update ball position
ball.x += velocityX;
ball.y += velocityY;
//check walls , if collision, flip direction
if(ball.x > stage.stageWidth || ball.x < 0) velocityX *= -1;
if(ball.y > stage.stageHeight|| ball.y < 0) velocityY *= -1;
}
oviously no es ideal, pero es básico y que ilustra los puntos indica en la parte superior con facilidad. Es posible que desee utilizar algunas teclas suaves y actualizar su onEnterFrame juego.
Goodluck