0

我想制作一个具有键盘移动(上、下、左、右)的正方形,当它碰到另一个物体(如墙壁)时会停止。

编辑:我已经有一个正方形和一个键盘布局,但如果需要特定的东西,请告诉我!

4

1 回答 1

1

杰克逊,你需要做的就是

  1. 听钥匙
  2. 更新你的角色
  3. 检查碰撞

你不是具体的,但我 100% 肯定,如果你用谷歌搜索你需要的东西,你会发现它,因为有大量的 Flash 游戏教程。

这是一个最小的设置

//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;
}

显然它并不理想,但它是基本的,它很容易说明顶部的点状态。您可能想要使用一些平滑的键并在 EnterFrame 上更新您的游戏。

祝你好运

于 2009-09-04T01:22:27.323 回答