一下是一个能实现小球转移的代码。
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
public class parenting extends Sprite{
private var _parent1:Sprite;
private var _parent2:Sprite;
private var _ball:Sprite;
public function parenting() {
// constructor code
_parent1 = new Sprite ();
addChild(_parent1);
_parent1.graphics.lineStyle(1,0);
_parent1.graphics.drawRect(-50,-50,100,100);
_parent1.x = 60;
_parent1.y = 60;
_parent2 = new Sprite ();
addChild(_parent2);
_parent2.graphics.lineStyle(1,0);
_parent2.graphics.drawRect(-50,-50,100,100);
_parent2.x = 170;
_parent2.y = 60;
_ball = new Sprite();
_parent1.addChild(_ball);
_ball.graphics.beginFill(0xff0000);
_ball.graphics.drawCircle(0,0,40);
_ball.graphics.endFill();
_ball.addEventListener(MouseEvent.CLICK,onBallClick);
}
public function onBallClick(e:MouseEvent):void
{
_parent2.addChild(_ball);
}
}
}
注意_parent1和_parent2,虽然在drawRect中已定义矩形坐标,但是随后代码又定义了坐标( _parent1.x = 60;
_parent1.y = 60;)。
问题:
为何我在运行时坐标却是引用drawRect的坐标?
此外如果去掉代码中的
_parent1.x = 60;
_parent1.y = 60;
和
_parent2.x = 170;
_parent2.y = 60;
则圆球转移的功能无法实现,请问这是为什么?