我对AS3很新,我需要一些帮助。我正在尝试制作像马里奥这样的游戏。我已经创造了一个可以立即跳跃的角色,但我在碰撞检测方面遇到了一些问题。
我希望我的角色能够跳到更高的栏上。我的碰撞检测根本不起作用。
我创建了一个实例名为mcMain
的cirle,我已经创建了MovieClip
。 T还创建了一个实例名称为balkje
的矩形,我也创建了一个MovieClip
。
我希望你能告诉我我的代码有什么问题,以及为了使碰撞检测工作我需要改变的地方!非常感谢!
balkje.addEventListener(KeyboardEvent.KEY_DOWN, drag);
stage.addEventListener(KeyboardEvent.KEY_UP, drop);
function drag(e:KeyboardEvent):void
{
e.target.startDrag();
}
function drop(e:KeyboardEvent):void
{
stopDrag();
if (balkje.hitTestObject(mcMain))
{
trace("Collision detected!");
}
else
{
trace("No collision.");
}
}
答案 0 :(得分:0)
我认为你应该使用mouseEvent,而不是键盘事件。 怎么用键盘拖动?
balkje.addEventListener(MouseEvent.MOUSE_DOWN, drag);
balkje.addEventListener(MouseEvent.MOUSE_UP, drop);
function drag(e:MouseEvent):void
{
e.target.startDrag();
}
function drop(e:MouseEvent):void
{
e.target.stopDrag();
if (balkje.hitTestObject(mcMain))
{
trace("Collision detected!");
}
else
{
trace("No collision.");
}
}