• ÇÁ¸®Ä«¿îÅÍ
  • Ç÷¡½ÃºÏ
  • ÇÁ¸®º¸µå
  • Àü±¤ÆÇ
  • À¥°øºÎ¹æ
  • Ä¿¹Â´ÏƼ
[AS3]Ŭ·¡½º³» º¯¼ö(ÀνºÅϽº) Ž»ö 2008.08.03 20:39
±Û¾´ÀÌ : ¿î¿µÀÚ Á¶È¸ : 972 Ãßõ : 0

AS2.0 ¿¡¼­ ÈçÈ÷ ¹«ºñŬ·´À̳ª Ŭ·¡½º³»ÀÇ °´Ã¼³ª ÇÏÀ§ ¹«ºñŬ·´À» Ž»öÇÏ´Â ¹æ¹ýÀ¸·Î for... inÀÇ

±¸¹®À» »ç¿ëÇÏ¿´´Ù. Ž»öÈÄ ÇØ´ç ÀνºÅÏÆ®³ª ÇÏÀ§¹«ºñŬ·´¿¡ ÀÏ°ý, °³º°ÀûÀÎ ¾×¼ÇÁ¦¾îµîÀÇ ÇÊ¿ä¿¡

ÀÇÇؼ­ (¾ÆÁÖ) ¸¹ÀÌ »ç¿ëÇß´ø ¹æ¹ýÀ̾ú´Ù.

_________________________________________________________________________________

¿¹ : [AS2] ÇöÀç ¹«ºñŬ·´¾È¿¡ ÀÖ´Â ¸ðµç ÇÏÀ§ ¹«ºñŬ·´ÀÇ  xÁÂÇ¥¸¦ 0À¸·ÎÇÏ°í, Á¤Áö½ÃŲ´Ù 

       ¿©±â¼­ this ´Â ¹«ºñŬ·´ÀÌ´Ù.

 

for(var p in this){

trace(p + "::" + this[p]);

this[p].x = 0;

this[p].stop();

}

 

_____________________________________________________________________________________

 

±×·±µ¥ AS3¿¡¼­ for.....in  ȤÀº for each ....in µîÀÇ ±¸¹®À¸·Î´Â µ¿ÀûÀ¸·Î Á¤ÀÇµÈ º¯¼ö³ª ÀνºÅÏÆ®¿¡

´ëÇؼ­ Ž»öÀÌ ºÒ°¡´ÉÇÏ´Ù. Áï, À§¿Í °°Àº Ž»ö ¹æ¹ýÀ¸·Î´Â ¿øÇÏ´Â °á°ú¸¦ ¾ò±â Èûµé´Ù.

DisplayObjectContainer¿¡¼­ Á¦°øÇÏ´Â numChildren À̳ª getChil~~~~µîÀÇ ¸Þ¼Òµå¿Í ÇÁ·ÎÆÛƼ´Â

µîÀ¸·Î ¾ò¾î³»´Â °Íµµ ºÒ°¡´ÉÇÏ´Ù.(È­¸é¿¡ addchildµÇÁö ¾Ê¾ÒÀ¸¹Ç·Î....... ³Ê¹« ´ç¿¬ÇÑ°¡?)

AS3¿¡¼­´Â ´ÙÀ½°ú °°ÀÌ Å½»öÇÒ ¼ö ÀÖÀ¸¸ç, ÁÖ¿ä¸Þ¼Òµå·Î describeTypeÀ» µé ¼ö ÀÖ´Ù.(·¹ÆÛ·±½º ÂüÁ¶)

´ÙÀ½ ¿¹Á¦´Â ÇØ´ç Ŭ·¡½º¿¡¼­ Movieclip ŸÀÔÀÇ ÇÏÀ§ÀνºÅÏÆ®¸¦ ã¾Æ¼­ ÇØ´çÇϴ ŸÀÔÀÌ ¸ÂÀ¸¸é

Dic(Dictionary Ŭ·¡½º)·Î ÀúÀåÇÑ´Ù. ¿©±â¼­ DictionaryŬ·¹½º¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â weak ÂüÁ¶¸¦

»ç¿ëÇؼ­ ¼öµ¿À¸·Î °¡ºñÁö Ä÷º¼ÇÀ» Á¦¾îÇϱâ À§ÇÑ ¸ñÀûÀÌ´Ù.

 

_______________________________________________________________________________________

[¿¹Á¦ AS3.0 ÄÚµå]

import flash.utils.*;

 

var description:XML = describeType(this);
var temp_obj:XMLList = description..variable;
var dic:Dictionary = new Dictionary(true);
for(var p in temp_obj){
 if(this[temp_obj[p].@name] is MovieClip){
  dic[String(temp_obj[p].@name)] = temp_obj[p];
  trace(p, "::", dic[String(temp_obj[p].@name)].@type, temp_obj[p].@name);
 }
}
_________________________________________________________________________________________

 

 

 

 

´ÙÀ½Àº À§ÀÇ Äڵ带 Á¶±Ý ¹ßÀü½ÃÄѼ­ ÀÛ¼ºÇØ º¸¾Ò´Ù.

 

 

 

--------------------------------------------------------------------------

[UtilObject.as]

// ActionScript file
package net.Hiddenid.Utils{
/**
*  1. ÆÄÀϸí : UtilObject.as
*  <p/>
*  2. Á¦ÀÛ¸ñÀû : °´Ã¼ µ¥ÀÌÅÍ ÄÁÆ®·Ñ & Á¢±Ù
*  <p/>
*  3. Á¦ÀÛÀÚ : À¯ÁÖ»ó(Hiddenid)
*  <p/>
*  4. Á¦ÀÛÀÏ : 2007.06.11 ¿ÀÈÄ 10:28
*  <p/>
*  5. ÃÖÁ¾¼öÁ¤ÀÏ : 2007.08.11 ¿ÀÈÄ 10:28
*  <p/>
*  6. ºÎ°¡¼³¸í : ¸Þ¼Òµå Ãß°¡ ¹×  º¯Çü ÁøÇàÁß. ½Ì±ÛÅÏ ÆÐÅÏ
*  <p/>
*  8. »ç¿ë¹ý :
*  <listing>
*   import net.Hiddenid.Utils.UtilObject;
*   UtilObject.getInstance().addEventListener("Event_Run", Type_Trigger);
*   UtilObject.getInstance().Manage_Object(this, ["Mc_Piece","Object"], true);
*  </listing> 
*  <p/>
*  @playerversion Flash 9.0.28.0
*   @langversion ActionScript3.0
*/ 
 import flash.display.*;
 import flash.events.*;
 import flash.utils.*;
 import net.Hiddenid.Events.Hiddenid_Event;
 public class UtilObject extends EventDispatcher {

    /**
     * »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ® À̺¥Æ® »ó¼ö ¼±¾ð
     * @eventType Event_Run
     */
     public static const Trigger_Run:String = 'Event_Run';
 
    /**
     * ½ÌŬÅÏ ÆÐÅÏ. °´Ã¼ ÀνºÅϽº
     */
  private static var _instance:UtilObject = null;

    /**
     * traceÀÇ Ãâ·Â¿©ºÎ °áÁ¤
     */
  private var _trace_mode:Boolean = false;  
  public function UtilObject(target:IEventDispatcher=null):void{
   super(target);
  }
  
  public static function getInstance():UtilObject {
   if(_instance == null) _instance = new UtilObject();
   return _instance;
  }
  
  /**
   * °´Ã¼(Ŭ·¡½º)¸¦ °Ë»çÇÏ¿© typeÆĶó¹ÌÅÍ¿¡ ¼±¾ðµÈ ŸÀÔÀÏ °æ¿ì trace ȤÀº triggerÀÌ ÀÛµ¿ÇÏ°Ô µÈ´Ù.
   *
   * @param object °ËÅäÇÏ·Á´Â ¿ÀºêÁ§Æ®(ȤÀº Ŭ·¡½º)
   * @param type °ËÅä Áß ¹è¿­¿¡ ¼ÓÇÑ Å¸ÀÔÀ϶§¸¸  traceȤÀº triggerÀÛµ¿
   * @param trigger °ËÅä Áß ÀÛµ¿ÇÒ trigger.
   *
   */  
  public function Manage_Object(object:*, type:Array = null, trigger:Boolean = false):void{

   var description:XML = describeType(object);
   var Xml_Refer:XMLList = description..variable;
   var dic:Dictionary = new Dictionary(true);
   try{    
    for (var p:String in Xml_Refer){
     var temp_p:String = Xml_Refer[p]["@type"];
     var ttt = Xml_Refer[p];
     for(var i:int = 0 ; i < type.length ; i++){
      //if(getQualifiedClassName(Xml_Refer[p]) is getQualifiedClassName(type[i])&& type){
      if((getDefinitionByName(temp_p) == getDefinitionByName(type[i].toString()))&& type != null){
       this._trace_mode == true ? trace(getQualifiedSuperclassName(getDefinitionByName(type[i].toString())) , ":°´Ã¼Ãâ·Â:",type[i] , p, getDefinitionByName(temp_p)) : null;
       dic[String(Xml_Refer[p]["@name"])] = Xml_Refer[p];
      }else{
       if(type == null && this._trace_mode == true){
        trace(":¸ðµç°´Ã¼ üũ:",p);
       }
      }
     }

    }
   }catch(e:Error){
    trace( "üũŸÀÔ::",getDefinitionByName(temp_p), ">>UtilObject_60_¿¡·¯¹ß»ý::", e);
   }
 
   try{
    if(trigger == true){
     dispatchEvent(new Hiddenid_Event(Hiddenid_Event.Trigger_Run, dic)); 
    }
   }catch(e:Error){
    trace("UtilObject_Line:88_¿¡·¯¹ß»ý::" + e);
   }
  
  }
  
  //Get, Setter ¼±¾ð½ÃÀÛ_______________________________________________________________________
  /*
   °´Ã¼ trace ¸Þ¼¼Áö Ãâ·Â¿©ºÎ °áÁ¤
  */
 
     /**
      * trace¿©ºÎ °áÁ¤
      */  
     public function get trace_mode():Boolean{
         return this._trace_mode;
     }
 
     /**
      * @private (setter)
      */
  public function set trace_mode(mode:Boolean):void{
   this._trace_mode = mode;
  }
  
  //Get, Setter ¼±¾ð³¡_________________________________________________________________________  
  
 }
}

----------------------------------------------------------------------------

 

 

 

___________________________________________________________________________________

 

[À§¿¡¼­ »ç¿ëÇÏ´Â »ç¿ëÀÚ EventŬ·¡½º]

 

[HIddenid_Event.as]

 

 

// Copyright � 2007. Adobe Systems Incorporated. All Rights Reserved.
package net.Hiddenid.Events
{
import flash.events.Event;
import flash.utils.Dictionary;


/**
 * Hiddenid_Event Ŭ·¡½º´Â »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ® Ŭ·¡½º·Î, DictionaryŬ·¡½º¿¡ »ç¿ëÀÚ Á¤ÀÇ ÆĶó¹ÌÅ͸¦ ´ã±â À§ÇÑ ¸ñÀûÀ¸·Î ¾²ÀδÙ.
 * @playerversion Flash 9
 * @langversion 3.0
 * @keyword Tween event   
 * @see fl.transitions.Tween
 */
public class Hiddenid_Event extends Event
{
    /**
    *  Æ®¸®°Å ȤÀº Hiddenid À̺¥Æ® ¹ß»ý...... ½ÇÇà ½ÃÀÛÀ» Ç¥Çö
     * Indicates that the motion has started playing.
     *  <p>The properties of the event object have the following values:</p>
     *  <table class="innertable">
     *     <tr><th>Property</th><th>Value</th></tr>
     *     <tr><td><code>bubbles</code></td><td>false</td></tr>
     *     <tr><td><code>cancelable</code></td><td>false</td></tr>
     *     <tr><td><code>currentTarget</code></td><td>ÇöÀç À̺¥Æ® ¸®½º³Ê¸¦ ÅëÇØ Event °´Ã¼¸¦ ó¸®ÇÏ°í ÀÖ´Â °´Ã¼. </td></tr>
     *     <tr><td><code>target</code></td><td>À̺¥Æ® ´ë»ó</td></tr>
     *     <tr><td><code>_dictionary</code></td><td>target¿¡ Àü´ÞµÈ ÆĶó¹ÌÅÍ Á¤º¸¸¦ ´ã°í ÀÖ´Â Dictionary°´Ã¼</td></tr>
     *  </table>
     * @playerversion Flash 9
     * @langversion 3.0
     * @keyword Hiddenid Event
     * @eventType Event_Run
     */
    public static const Trigger_Run:String = 'Event_Run';

 /**
  * ÇØ´ç À̺¥Æ® ûÃë ÇÔ¼ö°¡ Àü´Þ¹Þ°Ô µÇ´Â µ¥ÀÌÅÍ µñ¼Å³Ê¸®. ¸ðµç º¯¼ö ´ã´Â´Ù. °¡ºñÁö Ä÷¢¼Ç ¼öµ¿°ü¸®¸¦ À§ÇØ ¾àÇÑÂüÁ¶ »ç¿ë
     *
     * @playerversion Flash 9
     * @langversion 3.0
     * @keyword Hiddenid Event
     */
 public var _dictionary:Dictionary = new Dictionary(true);
 

  /**
  *  Constructor function for a TweenEvent object.
  *
  *  @param type À̺¥Æ®Å¸ÀÔ; ÀϾ »ç¿ëÀÚ À̺¥Æ® ¾×¼ÇÀ» °¡¸£Å²´Ù.indicates the action that caused the event.
  *  @param dic À̺¥Æ® ¾×¼Ç¿¡ Àü´ÞµÈ DictionaryÀνºÅÏÆ®
  *  @param bubbles À̺¥Æ®°¡ ¹öºí¸µ À̺¥Æ®ÀÎÁö ¿©ºÎ¸¦ ³ªÅ¸³½´Ù. ÀÌ °ªÀº À̺¥Æ®°¡ ¹öºí¸µ °¡´ÉÇÑ °æ¿ì trueÀÌ°í, ±×·¸Áö ¾ÊÀ¸¸é falseÀÌ´Ù.
  *  @param cancelable ÇØ´ç À̺¥Æ®¿Í ¿¬°üµÈ ºñÇìÀ̺ñ¾î¸¦ Â÷´ÜÇÒ ¼ö ÀÖ´ÂÁö ¿©ºÎ¸¦ ³ªÅ¸³½´Ù.
     *
     * @playerversion Flash 9
     * @langversion 3.0
     * @keyword Tween event      
     */    
 public function Hiddenid_Event(type:String, dic:Dictionary = null, bubbles:Boolean=false, cancelable:Boolean=false)
 {
  super(type, bubbles, cancelable);
  this._dictionary = dic;
 }


 /**
  *  @private
  */
 override public function clone():Event
 {
  return new Hiddenid_Event(this.type, this._dictionary, this.bubbles, this.cancelable);
 }
}
}

 

ÀλýÀº ª½À´Ï´Ù.
±×·¯¹Ç·Î ´Ù¸¥ »ç¶÷ÀÌ ¿ä±¸ÇÏ´Â »îÀ» »ì¸é¼­ ½Ã°£À» ³¶ºñÇؼ­´Â ¾È µË´Ï´Ù.
µ·°ú ¸í¿¹¸¦ ¾òÁö ¸øÇÏ´õ¶óµµ ³¡±îÁö ÀÚ½ÅÀÇ ±æÀ» °íÁýÇϽʽÿÀ
¸ñ·Ï À­±Û ¾Æ·§±Û
³»¾Ë FREECOUNT.NET ÇÁÄ«³Ý »ý±ä³¯ 2003.12.20 Ȩ | Ä«¿îÅÍ | Ç÷¡½ÃºÏ | ÇÁ¸®º¸µå | Àü±¤ÆÇ | À¥°øºÎ¹æ | Ä¿¹Â´ÏƼ | ÂÊÁöÇÔ