0
我正在创建一个用户烘焙蛋糕的游戏。如果用户将某物(例如一壶水)拖到下一个物体(例如平底锅)上,它应该从舞台上消失。有问题的代码段是:ActionScript 3.0对象在舞台上为空
function mouseDownHandler(event:MouseEvent):void {
event.currentTarget.startDrag(true);
}
function mouseUpHandler(event:MouseEvent):void{
var obj = event.currentTarget;
var target = obj.dropTarget;
if (target != null){
test_match(target, obj);
}
obj.stopDrag();
trace(dropTarget);
}
function test_match(target, obj){
if (target == saucePan && obj == jug)
{
removeChild(obj);
}
}
的mouseUpHandler函数内部跟踪显示了“空”每当我在舞台上,hense为什么我不认为代码执行和删除一个对象上滴壶舞台上的水壶。
更改为dropTarget时舞台上的对象仍为null – CBear 2015-01-15 17:44:25
是的,因为它与舞台上的任何对象无关。你从来没有在任何地方声明过dropTarget。你把它与obj.dropTarget混淆了,因此我的回答是关于它们之间的区别。 obj.dropTarget访问对象的属性。 dropTarget本身就是你的代码中的一些随机文本,它会被解释为null。 – null 2015-01-15 17:57:02
我还是很困惑。有什么办法可以为我照亮一些光?我仍然不明白为什么我可以拖动屏幕上的物体,但它们输出空值?我应该如何声明dropTarget? – CBear 2015-01-15 18:17:20