Adobe 动画碰撞
Adobe animate collision
我正在用 adobe animate 制作一个游戏 AS3.I 想在什么时候停止我的方块
它与左边的障碍物相撞并且不让它离开 through.The 我的盒子的实例名称称为 'box' 我的障碍物称为 'left' 和 'right'.
这是我的舞台图片:image of stage
这是我到目前为止移动盒子的代码:
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
函数的末尾
我正在用 adobe animate 制作一个游戏 AS3.I 想在什么时候停止我的方块 它与左边的障碍物相撞并且不让它离开 through.The 我的盒子的实例名称称为 'box' 我的障碍物称为 'left' 和 'right'.
这是我的舞台图片:image of stage
这是我到目前为止移动盒子的代码:
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
函数的末尾