所以我对动作脚本3相当新,并且练习我制作了一个脚本,当点击数组中的三个方块之一时,它会将其移动到一个随机点。没有任何编译器错误,但输出说:
ReferenceError: Error #1069: Property x not found on String and there is no default value.
at trying_Scene1_fla::MainTimeline/move_sq()
单击其中一个方块时。继承剧本:
import flash.events.MouseEvent;
import flash.events.Event;
var squares:Array=[ square_1, square_2, square_3]
var low:Number=1;
var high:Number=100;
var chosen:Number=Math.floor(Math.random()* (1+ high - low))+low;
for(var i=0; i<squares.length; i++){
squares[i].addEventListener(MouseEvent.CLICK, move_sq);
}
function move_sq(e:MouseEvent):void{
var square_num = e.target.name;
if (chosen>50) {
square_num.x -= Math.random()* 10
square_num.y -= Math.random()* 10
}
else {
square_num.x += Math.random()* 10
square_num.y += Math.random()* 10
}
}
enter code here
我希望它只是一个小错误或我不知道的事情,如果你可以帮忙请做。谢谢!
答案 0 :(得分:1)
您可以通过在鼠标侦听器功能中执行此操作来修复错误:
var square_num = e.target;
但如果您知道类型:
,则可以执行此操作var square_num:MovieClip = MovieClip(e.target);
答案 1 :(得分:0)
这是因为“square_num”是一个字符串:
var square_num = e.target.name;
e.target的name属性是一个字符串,它没有x和y属性。我想你可能想用:
var square_num:MovieClip = (MovieClip) (e.target.name);
(我猜“square_1”,“square_2”和“square_3”是动画片段)