如何让玩家在与物体碰撞时停止,但当它接触物体的x侧时,它仍然可以上下滑动,当它接触物体的y侧时,它仍然可以滑动碰撞时并排。
这是我的玩家移动代码。
public function onKeyDown(event: KeyboardEvent): void
{
if (event.keyCode == Keyboard.D)
{
isRight = true;
}
if (event.keyCode == Keyboard.A)
{
isLeft = true;
}
if (event.keyCode == Keyboard.W)
{
isUp = true;
}
if (event.keyCode == Keyboard.S)
{
isDown = true;
}
}
public function onEnterFrame(event: Event): void
{
if (isRight)
{
x += 5;
}
if (isLeft)
{
x -= 5;
}
if (isUp)
{
y -= 5;
}
if (isDown)
{
y += 5;
}
}
答案 0 :(得分:0)
在每个移动刻度上(在您的情况下为OnEnterFrame),您应该执行以下基本步骤:
这些步骤的难度很大程度上取决于所讨论物体的形状,碰撞物体的最大相对速度,碰撞求解所需的准确度。如果你正在处理像矩形和圆形这样的基元,它们可以相对容易实现,尽管仍然会遇到像几个对象碰撞这样的困难情况。以下是您可能需要查看的一些基本工具:
检测和解决碰撞是游戏开发中最常见的问题之一,因此您可以轻松地在网上找到关于该主题的大量材料。例如: