Actionscript 3 Adobe动画碰撞

Actionscript 3 Adobe动画碰撞,actionscript-3,flash,adobe,collision,Actionscript 3,Flash,Adobe,Collision,我正在用AS3制作一个adobe动画游戏。我想在游戏开始时停止我的方块 它与左边的障碍物碰撞而不让它通过。我的盒子的实例名叫做“盒子”,我的障碍物叫做“左”和“右” 以下是我的舞台图像: 这是我迄今为止移动箱子的代码: var upPressed:Boolean = false; var downPressed:Boolean = false; var leftPressed:Boolean = false; var rightPressed:Boolean = false; box.addE

我正在用AS3制作一个adobe动画游戏。我想在游戏开始时停止我的方块 它与左边的障碍物碰撞而不让它通过。我的盒子的实例名叫做“盒子”,我的障碍物叫做“左”和“右”

以下是我的舞台图像:

这是我迄今为止移动箱子的代码:

var upPressed:Boolean = false;
var downPressed:Boolean = false;
var leftPressed:Boolean = false;
var rightPressed:Boolean = false;

box.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey);
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed);

function fl_MoveInDirectionOfKey(event:Event)
{
  if (leftPressed)
  {
     box.x -= 5;
  }

  if (rightPressed)
  {
     box.x += 5;
  } 
}

function fl_SetKeyPressed(event:KeyboardEvent):void
{   
  switch (event.keyCode)
  {
    case Keyboard.LEFT:
    {
        leftPressed = true;
        break;
    }
    case Keyboard.RIGHT:
    {
        rightPressed = true;
        break;
    }
  }
}

function fl_UnsetKeyPressed(event:KeyboardEvent):void
{
 switch (event.keyCode)
 {  
    case Keyboard.LEFT:
    {
        leftPressed = false;
        break;
    }
    case Keyboard.RIGHT:
    {
        rightPressed = false;
        break;
    }
  }
}

非常感谢你

你需要像

if (box.hitTestObject(left)) box.x = left.x + left.width;
if (box.hitTestObject(right)) box.x = right.x  - box.width;
添加到
fl_MoveInDirectionOfKey
函数的末尾