[Amory]Haxe獲取場景中的對象及調用其綁定的方法

通過對象名獲取場景中的對象

var myObj = iron.Scene.active.getChild("the_object_name");

獲取對象的某個child

    public static function getChild(obj: Object, childName:String) {
      if (obj == null) {
        return null;
      }
  
      if (obj.name!= childName) {
        return obj;
      }
  
      for (i in 0...obj.children.length) {
        var ch = getChild(obj.children[i],  childName);
        if (ch != null) {
            return ch;
        }
      }
      return null;
    } 

獲取某個對象的rootParent

    public static function getParent(obj: Object) {
      if (obj == null) {
        return null;
      }
  
      if (obj.parent == null) {
        return obj;
      }
  
      return getParent(obj.parent);
    } 

調用對象綁定的某個方法

// 假設myObj綁定了SomeTrait類,類有dosomething()方法,
myObj.getTrait(SomeTrait).dosomething();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章