我已經叫了一個名爲「目標」與屬性對象「運動」:僅當使用方法時,對象纔是空引用?
private function start() {
var movement:IMovement = new ZigZagMovement(target);
target.movement = movement;
mediumDifficulty();
}
private function mediumDifficulty(target:AbstractTarget):void {
var movement:IMovement = target.movement;
movement.mediumMove();
}
我的抽象類Target看起來是這樣的:
package
{
import flash.display.Sprite;
public class AbstractTarget extends Sprite
{
protected var __movement:IMovement;
public function AbstractTarget()
{
}
public function set movement(value:IMovement):void
{
__movement = value;
}
public function get movement():IMovement
{
return __movement;
}
}
}
我的「運動」類看起來是這樣的:
package {
import flash.events.Event;
public class ZigZagMovement implements IMovement
{
private var __target:Object;
public function ZigZagMovement(target:Object)
{
__target = target;
}
public function mediumMove():void
{
// movement code
}
}
}
奇怪的是,當我跟蹤「目標」和「target.movement」我得到了我期待的......但如果我嘗試說,寫:
target.movement.mediumMove();
OR
movement.mediumMove()
;
然後目標和「移動」(局部變量)追蹤爲空?
我添加了更多細節...我對格式化表示歉意,似乎無法在此編輯器中正確使用。 – redconservatory 2011-02-07 18:29:18