好吧,通过正确删除我的意思是我实际上摆脱了实例,还是只是没有被绘制了?我应该提到,我试图从自己的类中删除实例,也就是删除它自己。它“起作用”,因为它所画的正方形不再出现在屏幕上,但我不确定它是否真的已经消失或者没有被绘制。反正这里的类:Actionscript:我是否正确删除这个类实例?
package
{
import flash.display.*;
import flash.events.*;
public class OBJECT_bullet_1 extends Sprite
{
public var X:int = 0; public var Y:int = 0;
public var Y_SPEED:int = 5;
public var DEPTH:int = 9;
public var CONTAINER:Sprite = new Sprite();
public function CREATE(CONTAINER:Sprite,X:int,Y:int):void
{
this.CONTAINER = CONTAINER;
CONTAINER.stage.addEventListener(Event.ENTER_FRAME,STEP);
this.X = X; this.Y = Y;
DRAW();
}
public function STEP(event:Event):void
{
this.graphics.clear();
Y -= Y_SPEED;
if (Y < 20) {Y = 300; CONTAINER.removeChild(this); CONTAINER.stage.removeEventListener(Event.ENTER_FRAME,STEP); CONTAINER.(delete this); CONTAINER = null; return;}
DRAW();
}
public function DRAW():void
{
this.graphics.beginFill(0xCCCC00,1);
this.graphics.drawRect(X - 2,Y - 2,4,4);
this.graphics.endFill();
CONTAINER.addChild(this);
}
}
}
我关心的是在STEP功能时,它会检查如果Y < 20.你会发现,它确实几件事情后记部分。我是否正确删除它?如果有,我正在做什么来删除它,我不需要?
你超出了必要的范围;但是,你对if语句进行格式化的方式让我想要打个小宝宝。 – Aaron 2010-08-17 03:13:21