| Flex 2 ÄÄÆÛ³ÍÆ®ÀÇ ÀÛ¼º°ú È®Àå > ActionScript ÄÄÆÛ³ÍÆ®ÀÇ ÀÛ¼º > ActionScript ¿¡ ÀÇÇÑ È®ÀåµÈ ºñÁÖ¾ó ÄÄÆÛ³ÍÆ®ÀÇ ÀÛ¼º > È®ÀåµÈ ÄÄÆÛ³ÍÆ®ÀÇ ÀÛ¼º¿¡ ´ëÇØ > ÄÄÆÛ³ÍÆ®ÀÇ ÀνºÅϽºÈ ¶óÀÌÇÁ »çÀÌŬ¿¡ ´ëÇØ | |||
ÄÄÆÛ³ÍÆ®ÀÇ ÀνºÅϽºÈ ¶óÀÌÇÁ »çÀÌŬ¿¡ ´ëÇØ
ÄÄÆÛ³ÍÆ® ÀνºÅϽºÈ ¶óÀÌÇÁ »çÀÌŬÀº, ÄÄÆÛ³ÍÆ® Ŭ·¡½º·ÎºÎÅÍ ÄÄÆÛ³ÍÆ® ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÒ °æ¿ì¿¡ »ý±â´Â ÀÏ·ÃÀÇ ¼ø¼¸¦ ±â¼úÇÑ °ÍÀÔ´Ï´Ù. Flex ´Â, ÀÌ ¶óÀÌÇÁ »çÀÌŬÀÇ ÀÏȯÀ¸·Î¼ ÄÄÆÛ³ÍÆ® ¸Þ¼ÒµåÀÇ È£ÃâÇØ, À̺¥Æ®ÀÇ ¼ÛÃâ(Dispatch), ¹× ÄÄÆÛ³ÍÆ®ÀÇ °¡½Ãȸ¦ ÀÚµ¿ÀûÀ¸·Î ½Ç½ÃÇÕ´Ï´Ù.
´ÙÀ½ÀÇ ¿¹¿¡¼´Â, ActionScript ·Î Button ÄÁÆ®·ÑÀÌ ÀÛ¼ºµÇ¾î ÄÁÅ×À̳ʿ¡ Ãß°¡µË´Ï´Ù.
// Box ÄÁÅ×À̳ʸ¦ ÀÛ¼ºÇÑ´Ù var boxContainer:Box = new Box(); // Box ÄÁÅ×À̳ʸ¦ ¼³Á¤ÇÑ´Ù // Button ÄÁÆ®·ÑÀ» ÀÛ¼ºÇÑ´Ù var b:Button = new Button() // Button ÄÁÆ®·ÑÀ» ¼³Á¤ÇÑ´Ù b.label = "Submit"; ... // Button ÄÁÆ®·ÑÀ» Box ÄÁÅ×À̳ʿ¡ Ãß°¡ÇÑ´Ù boxContainer.addChild(b);
´ÙÀ½ÀÇ ¼ø¼´Â, ÀÌ Äڵ带 ½ÇÇàÇØ Button ÄÁÆ®·ÑÀ» ÀÛ¼ºÇØ, ±×°ÍÀ» Box ÄÁÅ×À̳ʿ¡ Ãß°¡ÇßÀ» ¶§¿¡ ¹«¾ùÀ» ÇÏ´ÂÁö¸¦ ³ªÅ¸³½ °ÍÀÔ´Ï´Ù.
- ´ÙÀ½ÀÇ Äڵ忡 ³ªÅ¸³»µµ·Ï(µíÀÌ), ÄÄÆÛ³ÍÆ®ÀÇ constructor¡¡ ¡¡ À» È£ÃâÇÕ´Ï´Ù.
// Button ÄÁÆ®·ÑÀ» ÀÛ¼ºÇÑ´Ù var b:Button = new Button()
- ´ÙÀ½ÀÇ Äڵ忡 ³ªÅ¸³»µµ·Ï(µíÀÌ), ÄÄÆÛ³ÍÆ®ÀÇ properties ¸¦ ¼³Á¤ÇÕ´Ï´Ù.
// Button ÄÁÆ®·ÑÀ» ¼³Á¤ÇÑ´Ù b.label = "Submit";
ÄÄÆÛ³ÍÆ®ÀÇ setter ¸Þ¼Òµå´Â,
invalidateProperties(),invalidateSize(),invalidateDisplayList()ÀÇ ¸î°³ÀÇ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. - ´ÙÀ½ÀÇ Äڵ忡 ³ªÅ¸³»µµ·Ï(µíÀÌ),
addChild()¸Þ¼Òµå¸¦ È£ÃâÇØ ÄÄÆÛ³ÍÆ®¸¦ ±× ºÎ¸ð¿¡°Ô Ãß°¡ÇÕ´Ï´Ù.// Button ÄÁÆ®·ÑÀ» Box ÄÁÅ×À̳ʿ¡ Ãß°¡ÇÑ´Ù boxContainer.addChild(b);
Flex ¿¡ ÀÇÇØ ´ÙÀ½ÀÇ Ã³¸®¸¦ ÇÕ´Ï´Ù.
- ÄÄÆÛ³ÍÆ®ÀÇ
parentproperties °¡ ±× ºÎ¸ð ÄÁÅ×À̳ʸ¦ ÂüÁ¶Çϵµ·Ï(µíÀÌ) ¼³Á¤ÇÕ´Ï´Ù. - ÄÄÆÛ³ÍÆ®ÀÇ ½ºÅ¸ÀÏ ¼³Á¤À» °è»êÇÕ´Ï´Ù.
- ÄÄÆÛ³ÍÆ®ÀÇ
preinitializeÀ̺¥Æ®¸¦ ¼ÛÃâ(Dispatch)ÇÕ´Ï´Ù. - ÄÄÆÛ³ÍÆ®ÀÇ
createChildren()¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. invalidateProperties(),invalidateSize(),invalidateDisplayList()ÀÇ ¸Þ¼Òµå¸¦ È£ÃâÇØ, ´ÙÀ½¹øÀÇrenderÀ̺¥Æ®ÀÇ ±â°£¿¡ ½ÇÇàÇÏ´ÂcommitProperties(),measure(),updateDisplayList()ÀÇ ¸î°³ÀÇ ¸Þ¼ÒµåÀÇ È£ÃâÀ» trigger ÇÕ´Ï´Ù.À¯ÀÏÇÑ ¿¹¿Ü´Â, À¯Àú°¡ ÄÄÆÛ³ÍÆ®ÀÇ ³ôÀÌ¿Í ÆøÀ» ¼³Á¤ÇÏ´Â °æ¿ì·Î, Flex ´Â
measure()¸Þ¼Òµå¸¦ È£ÃâÇÏÁö ¾Ê½À´Ï´Ù.- ÄÄÆÛ³ÍÆ®ÀÇ
initializeÀ̺¥Æ®¸¦ ¼ÛÃâ(Dispatch)ÇÕ´Ï´Ù. ÀÌ ½ÃÁ¡¿¡¼, ÄÄÆÛ³ÍÆ®ÀÇ ¸ðµç ¾ÆÀÌ´Â Ãʱâȵ˴ϴٸ¸, ÄÄÆÛ³ÍÆ®ÀÇ Å©±â º¯°æ°ú ·¹À̾ƿô 󸮴 ½ÇÇàµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ÀÌ À̺¥Æ®¸¦ »ç¿ëÇϸé, ÄÄÆÛ³ÍÆ®ÀÇ Ãß°¡ 󸮸¦ ·¹À̾ƿôÀü¿¡ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. - ºÎ¸ð ÄÁÅ×À̳ÊÀÇ
childAddÀ̺¥Æ®¸¦ ¼ÛÃâ(Dispatch)ÇÕ´Ï´Ù. - ºÎ¸ð ÄÁÅ×À̳ÊÀÇ
initializeÀ̺¥Æ®¸¦ ¼ÛÃâ(Dispatch)ÇÕ´Ï´Ù.
- ÄÄÆÛ³ÍÆ®ÀÇ
- ´ÙÀ½¹øÀÇ
renderÀ̺¥Æ®ÀÇ ±â°£¿¡, Flex ´Â, ´ÙÀ½ÀÇ ¾×¼ÇÀ» ½ÇÇàÇÕ´Ï´Ù.- ÄÄÆÛ³ÍÆ®ÀÇ
commitProperties()¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. - ÄÄÆÛ³ÍÆ®ÀÇ
measure()¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. - ÄÄÆÛ³ÍÆ®ÀÇ
layoutChrome()¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. - ÄÄÆÛ³ÍÆ®ÀÇ
updateDisplayList()¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. - ÄÄÆÛ³ÍÆ®ÀÇ
updateCompleteÀ̺¥Æ®¸¦ ¼ÛÃâ(Dispatch)ÇÕ´Ï´Ù.
- ÄÄÆÛ³ÍÆ®ÀÇ
commitProperties(),measure(),updateDisplayList()ÀÇ ¸î°³ÀÇ ¸Þ¼Òµå°¡invalidateProperties(),invalidateSize(),invalidateDisplayList()ÀÇ ¸î°³ÀÇ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °æ¿ì, Flex ´Â Ãß°¡ÀÇrenderÀ̺¥Æ®¸¦ ¼ÛÃâ(Dispatch)ÇÕ´Ï´Ù.- ¸¶Áö¸·
renderÀ̺¥Æ®ÀÇ µÚ¿¡, Flex ´Â, ´ÙÀ½ÀÇ ¾×¼ÇÀ» ½ÇÇàÇÕ´Ï´Ù.visibleproperties ¸¦true·Î ¼³Á¤ÇÏ´Â °ÍÀ¸·Î, ÄÄÆÛ³ÍÆ®¸¦ °¡½ÃÈÇÕ´Ï´Ù.- ÄÄÆÛ³ÍÆ®ÀÇ
creationCompleteÀ̺¥Æ®¸¦ ¼ÛÃâ(Dispatch)ÇÕ´Ï´Ù. ·¹À̾ƿô¿¡ °üÇÑ ÄÄÆÛ³ÍÆ®ÀÇ Å©±â º¯°æ°ú 󸮸¦ ÇÕ´Ï´Ù. ÀÌ À̺¥Æ®´Â, ÄÄÆÛ³ÍÆ®°¡ ÀÛ¼ºµÉ ¶§ ¹Û¿¡ ¼ÛÃâ(Dispatch)µÇÁö ¾Ê½À´Ï´Ù. - ÄÄÆÛ³ÍÆ®ÀÇ
updateCompleteÀ̺¥Æ®¸¦ ¼ÛÃâ(Dispatch)ÇÕ´Ï´Ù. Flex ´Â, ÄÄÆÛ³ÍÆ®ÀÇ ·¹À̾ƿô, À§Ä¡, Å©±âµîÀÇ ½Ã°¢Àû Ư¡ÀÌ º¯°æµÇ¾î ÄÄÆÛ³ÍÆ®ÀÇ Ç¥½Ã°¡ °»½ÅµÉ ¶§¸¶´Ù, Ãß°¡ÀÇupdateCompleteÀ̺¥Æ®¸¦ ¼ÛÃâ(Dispatch)ÇÕ´Ï´Ù.
ÄÄÆÛ³ÍÆ®ÀÇ ¼³Á¤ ÀÛ¾÷ÀÇ ´ëºÎºÐÀº,addChild() ¸Þ¼Òµå¸¦ »ç¿ëÇØ ÄÄÆÛ³ÍÆ®¸¦ ÄÁÅ×À̳ʿ¡ Ãß°¡ÇÒ °æ¿ì¿¡ ¹ß»ýÇÕ´Ï´Ù. ÀÌ ÀÌÀ¯´Â, ÄÄÆÛ³ÍÆ®¸¦ ÄÁÅ×À̳ʿ¡ Ãß°¡ÇÒ ¶§±îÁö, Flex ´Â Å©±âÀÇ °áÁ¤, »ó¼Ó ½ºÅ¸ÀÏÀÇ properties ÀÇ ¼³Á¤, ȸé»ó¿¡¼ÀÇ ¹¦È¸¦ ÇÒ ¼ö ¾ø±â ¶§¹®ÀÔ´Ï´Ù.
´ÙÀ½ÀÇ ¿¹¿Í °°ÀÌ, ¾îÇø®ÄÉÀ̼ÇÀ» MXML ·Î Á¤ÀÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Box>
<mx:Button label="Submit"/>
</mx:Box>
</mx:Application>
ÄÄÆÛ³ÍÆ®¸¦ MXML ·Î ÀÛ¼ºÇÒ °æ¿ì¿¡ Flex °¡ ½ÇÇàÇÏ´Â ÀÏ·ÃÀÇ ¼ø¼´Â, ActionScript ·Î ¼³¸íÇÑ ¼ø¼¿Í °°½À´Ï´Ù.
ÄÄÆÛ³ÍÆ®¸¦ ÄÁÅ×À̳ʷκÎÅÍ »èÁ¦ÇÏ·Á¸é ,removeChild() ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù. ÄÄÆÛ³ÍÆ®¿¡ ´ëÇÑ ÂüÁ¶°¡ ¾ø´Â °æ¿ì´Â, ÃÖÁ¾ÀûÀ¸·Î, Adobe ÀÇ Macromedia Flash Player 9 ÀÇ °¡º£Áö ÄÝ·º¼Ç ¸ÞÄ«´ÏÁò¿¡ ÀÇÇØ ¸Þ¸ð¸®·ÎºÎÅÍ »èÁ¦µË´Ï´Ù.
