您是否知道是否可以明确定义函数中的“thisThing”是什么?
例如: 在我的UseBox.as
中 public function UseBox(stageRef:Stage, thisThing:Object){
this.stageRef = stageRef;
this.thisThing = thisThing;
public function destroy(e:MouseEvent):void{
thisThing.visible = false;
if (thisThing(“HOUSE”)){
doThis();
}
if (thisThing(“FLAT”)){
doThat();
}
“HOUSE”和“FLAT”是动画片段。
现在,如果我点击一个动画片段,它就会变得隐蔽。我想知道我是否可以为具有“house”和“flat”的特定动画片段定义一个独特的功能。
感谢您的回答
修改
这是我的Engine.as中调用useBox的函数:
private function examine(e:MouseEvent):void{
stage.dispatchEvent(new Event("itemClicked"));
useBox = new UseBox(stage, e.currentTarget);
useBox.x = mouseX;
useBox.y = mouseY;
stage.addChild(useBox);
}
答案 0 :(得分:0)
您可以为house和flat创建一个基类,基类包含一个可以在destroy中调用的函数。 thisThing'类型将是基类类型。
类定义
//the base class
public class BaseMc extends MovieClip
{
public function onDestroy():void
{
}
}
//House
public class House extends BaseMc
{
override public function onDestroy():void
{
//do the house destroy
}
}
UseBox类将是这样的
public function UseBox(stageRef:Stage, thisThing:BaseMc ){
this.stageRef = stageRef;
this.thisThing = thisThing;
}
public function destroy(e:MouseEvent):void{
thisThing.visible = false;
this.thisThing.onDestroy();
}
修改强>
useBox = new UseBox(stage, e.currentTarget as Engine);