2014-02-01 3 views
0

Знаете ли вы, можно ли конкретно определить, что такое «thisThing» в функции?Определите объект в моей функции

Exemple: В моем 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» является MovieClips.

На данный момент, если я нажимаю на мувиклип, он становится невидимым. Я хотел бы знать, могу ли я определить уникальную функцию для специально мувиклипа с вхождениями «дом» и «плоский».

Спасибо за ваш ответ


EDIT

Вот функция в моем 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

Вы можете создать базовый класс для дома и квартиры, а базовый класс содержит функцию, которую можно было бы назвать в уничтожении. Тип этого типа будет базовым классом.

Класс определяют

//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); 
+0

Я получил ошибку 1020: метод, помеченный переопределение необходимо переопределить другой метод. Ты знаешь почему ? – user2421975

+0

Вы определяете функцию onDestroy в BaseMc? – Pan

+0

Забыл. Готово. Но теперь ошибка в моем Engine.as ... с использованием строкиBox = new UseBox (stage, e.currentTarget); это предположительно, чтобы создать UseBox, где я могу щелкнуть по уничтожению (и вызвать функцию «destroy». Ошибка 1067: Contrainte implicite d'une valeur du type com.laserdragonuniversity.alpaca: Неверный путь к движению com.laserdragonuniversity .alpaca: BaseMc. – user2421975

Смежные вопросы