我一直在尝试在我的数字媒体课程中编写游戏,并且遇到了关于可拖动项目的巨大障碍。我首先设法使用此代码制作了一个可以用鼠标拖动的项目(影片剪辑称为“蜂蜜”):
//set listeners
honey.addEventListener(MouseEvent.MOUSE_DOWN, startHoneyDrag);
stage.addEventListener(MouseEvent.MOUSE_UP, stopHoneyDrag);
honey.addEventListener(Event.ENTER_FRAME, dragHoney);
//offset between sprite location and click
var clickOffset:Point = null;
//user clicked
function startHoneyDrag(event:MouseEvent) {
clickOffset = new Point(event.localX, event.localY-7);
}
//user released
function stopHoneyDrag(event:MouseEvent) {
clickOffset = null
}
//run every frame
function dragHoney(event:Event) {
if (clickOffset != null) { // must be dragging
honey.x = mouseX - clickOffset.x;
honey.y = mouseY - clickOffset.y;
}
}
然而,到目前为止,制作多个可移动的电影剪辑已被证明是不可能的。由于代码的冲突部分,多次使用相同的代码会产生错误。当我问一个更好的编程学生时,他告诉我创建一个数组,我照做了。
var honeyBall:Array = new Array();
honeyBall = ["honey, honey1, honey2"];
但是现在我不知道如何使引用电影剪辑的代码引用它们的数组。非常感谢您的帮助,因为这些问题给我带来了严重的麻烦。