2012-02-14 2 views
-1

개체의 모든 변수를 선언 순서대로 ByteArray에 넣으려고합니다. 개체를 확장 할 수 있습니다.ActionScript 3에서 객체의 모든 변수를 선언 순서로 나열하는 방법은 무엇입니까?


private static function getVariables(packet:*): Array 
    { 
     var vars:Array = new Array();   
     var description:XML = describeType(packet); 
     Alert.show(description); 
     var descriptionList:XMLList = 
      description..accessor.(@access != "writeonly") + description..variable; 
     for each (var info:XML in descriptionList) 
     { 
      vars.push({ name: [email protected], type: [email protected], 
       pos: uint([email protected]) }); 
     } 
     vars.sortOn("pos", Array.DESCENDING); 
     return vars; 
    } 

    public static function print():void 
    { 
     var o:C = new C(); 
     var description:XML = describeType(o); 
     Alert.show(description); 
    } 

    public class A 
    { 
     public var a_of_A:int; 
     public var b_of_A:int; 
    } 
    public class B extends A 
    { 
     public var i_of_B:int; 
     public var j_of_B:int; 
    } 
    public class C extends B 
    { 
     public var d_of_C:int; 
     public var e_of_C:int; 
    } 

<type name="packet::C" base="packet::B" isDynamic="false" isFinal="false" isStatic="false"> 
    <extendsClass type="packet::B"/> 
    <extendsClass type="packet::A"/> 
    <extendsClass type="Object"/> 
    <variable name="j_of_B" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="110"/> 
     </metadata> 
    </variable> 
    <variable name="i_of_B" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="84"/> 
     </metadata> 
    </variable> 
    <variable name="e_of_C" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="110"/> 
     </metadata> 
    </variable> 
    <variable name="b_of_A" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="81"/> 
     </metadata> 
    </variable> 
    <variable name="d_of_C" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="84"/> 
     </metadata> 
    </variable> 
    <variable name="a_of_A" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="55"/> 
     </metadata> 
    </variable> 
    <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="54"/> 
    </metadata> 
    </type> 

무엇을 "POS"를 수행하기위한 : 여기 내 코드?

답변

0

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Array.html#sortOn()

AS3 function sortOn(fieldName:Object, options:Object = null):Array 

그래서 "pos가"필드 이름입니다 ....

은 내가 XML을 인쇄하려고,하지만 난 "POS"의 의미를 찾을 수 없습니다.

+1

"pos"는 선언 순서를 의미하지 않습니다. – Terry

+0

'describeType' 메서드는 클래스에 대한 정보가있는 xml을 반환합니다. 출력을 인쇄 해보십시오. – vulkanino

+0

나는 XML을 게시, 그것을 알아낼 수 없습니다. – Terry

관련 문제