我正在制作一款使用鼠标碰撞检测的游戏。AS3碰撞检测鼠标移动
当鼠标与物体移动到坐标X0,Y0时,播放器是自定义鼠标光标。我用来实现这个的代码如下。然而,当鼠标移动后,当鼠标移动到X0,Y0时,鼠标移动到碰撞发生的位置,而不是从屏幕顶部移动。
import flash.events.Event;
var cursor:MovieClip;
function initializeMovie():void {
cursor = new Cursor();
addChild (cursor);
cursor.enabled = false;
Mouse.hide();
stage.addEventListener (MouseEvent.MOUSE_MOVE, dragCursor);
}
function dragCursor (event:MouseEvent):void{
cursor.x = this.mouseX;
cursor.y = this.mouseY;
}
initializeMovie();
this.addEventListener(Event.ENTER_FRAME, handleCollision)
function handleCollision(e:Event):void{
if(cursor.hitTestObject(wall)){
cursor.x = 0
cursor.y = 0
}
}
因此,解决问题的最佳方法是不用移动鼠标,而是让用户在某个特定像素处“抓住”一个正方形并移动此物体,然后将此物体位置重置为(0,0) – 2012-08-08 08:12:31