¥¼¨Ó®É¶¡ 2008-5-16 21:51
ActionScript3.0·§n
[size=4][color=Blue]ActionScript3.0·§n
2{)\*W+uS2[ E
|
K3z$T!A{ TI
ActionScript 3.0 ºtÅܦ¨¤@ªù±j¤jªº±¦Vª«¥óªºµ{¦¡³]p»y¨¥·N¨ýµÛflash¥¥xªº«¤jÅܲ¡C³oºØÅܤƤ]·N¨ýµÛ ActionScript 3.0 ±N³Ð³y©Ê¦a±N»y¨¥²z·Q¦a¨³³t¦a«Ø¥ß¥X¾AÀ³ºô¸ôªºÂ×´IÀ³¥Îµ{¦¡, ¦¨¬°Â×´Iºô¸ô®M¥Î(Rich Internet Application)±M®×ªº¥»½è³¡¤À¡C¤ñ¸û¦´ÁªºActionScriptª©¥»´N¤w¸g´£¨Ñ¤F³oºØn¨D¬°³Ð³y¯u¹ê¦a°Ñ»P½u¤WÅéÅ窺¤O¶q©MÆF¬¡©Ê¡CActionScript 3.0 ±N«P¶i©Mµo®i³oºØ®Ä¯à, ´£¨Ñµo®i±j¤jªí²{©MµÎ¾Aªº¥ý¶iªº°ª«×´_Âø®M¥Î, µ²¦X¤j«¬¸ê®Æ®w¥H¤Î¥i²¾È©Êªº±¶Hª«¥óªº¥N½X¡C¾Ö¦³ ActionScript 3.0, ¶}µoªÌ¥i¯à¹F¨ì°ª®Ä°õ¦æ®Ä²v©Mªí²{¦P¤@ªº¥ ¥x¡C,F/M?0UW)Fv T
I
?5w}2p@TY
~K|!w&\
ActionScript 3.0 °ò©óECMAScript, ECMAScript¬O©Ò¦³µ{¦¡³]p»y¨¥ªº°ê»Ú³W½d¤Æªº»y¨¥¡CActionScript 3.0 ¦P¼Ë¿í±qECMAScript»y¨¥³W½d¡C
7Sz;l-RA/N"}2P}
`1`2g
!U(~kdl(T
ActionScript ¥Ñ¤º´O¦bflash playerªºActionScriptµêÀÀ¾÷ (AVM)°õ¦æ¡CAVM1, ¬O°õ¦æ¥H«eª©¥»ªºActionScriptªºµêÀÀ¾÷, ¤µ¤ÑÅܪº§ó¥[±j¤jªºflash¥¥x¨Ï±o¥i¯à³Ð³y¥X¥æ½Í¦¡´CÅé©MÂ×´Iªººô¸ô®M¥Î¡CµM¦Ó, AVM1«o¦bÀ½À£µÛ¶}µoªÌ̪º·¥¡X¡X ¥L̪º±M®×²{¦b¨ì¤Fn¨D¥¦Åܲªº®É¨è¤F¡CActionScript 3.0 ±a¨Ó¤F¤@Ó§ó¥[°ª®ÄªºActionScript °õ¦æµêÀÀ¾÷¡XAVM2, ¥¦±N¹ý©³ªº²æL´«°©©óAVM1 ¡C ¥¦±N·N¨ýµÛ, ActionScript 3.0°õ¦æ®Ä²v±N¤ñ¥H«eªºActionScript°õ¦æ®Ä²v°ª¥X¦Ü¤Ö10¿¡CL*e9S dp:R0p!o
&Jc3N,QOD&Fy^I U#b+Y
·sªºAVM2 µêÀÀ¾÷±N·|¤º´O©óflash player8.5·í¤¤, ¥¦±N¦¨¬°°õ¦æActionScriptªºº¥ýµêÀÀ¾÷¡C·íµMªºAVM1±NÄ~Äò¤º´O¦bflash player8.5·í¤¤¥H¬Û®e¥H«eªºActionScript¡C
8p
|_#S6aX o]
tr8B[x}7I+a'm X
¦³²³¦hªº²£«~§â¦Û¨ªº®i¥Ü©M®M¥Îªí²{©óflash player·í¤¤¡A³o¨Ç²£«~ªº°Êµe¤]¸g±`®M¥Î¨ìActionScript ¥H¼W¥[¤¬°Ê©M¦æ¬°ªí²{¥L̪º²£«~¡C ¦bMacromedia ²£«~®a±Ú, ±M·~³]p®v©M¤]³\¨Ï¥Î ActionScript ¦b´XÓ²£«~·í¤¤, Ä´¦pMacromedia flash, Flex, ©MFlash media servers³Ð³y¥X¤º®e©M®M¥Îªí²{¦bflash player·í¤¤¡C¦bFlex2 ²£«~®a±Ú, ¥]¬A³Ì·sªº°ò©óEclipe¡XªºFlex Builder 2 IDE,·|¬O¨t¦C²£«~¤¤²Ä¤@Ó®M¥ÎActionScript 3.0 ªº·sÅéÅ窺²£«~¡C
1QaRGx%|f
:Oc)aS6n9R
ActionScript 3.0ªº¥Ø¼Ð:
$Hk.I'S8R:vk%T4v
J5W6m.QX3sf@)H
§ÚÌ»ÝnActionScript 3.0 ´£¨Ñ¤@Ó¥ý¶iªº, »Pµ{¦¡³]p¼Ò«¬¤@Pªº, ªA±q·~¬É¼Ð·Ç, ¥H¤Îªí²{±N¼Æ¶q¯Å¤j©ó§Ú̹L¥hªº°õ¦æ®Ä¯à¡CÁöµMActionScript 3.0 ¥NªíµÛflash¥¥x¤@Ó·sªºµ{¦¡³]p¼Ò«¬,¥¦¤]±N·|¬O¤@ÓÅý¶}µoªÌ¼ô±xªº°ò¦ªº±¹ïª«¥óªºµ{¦¡³]p»y¨¥¡C
5D!JRaB$]$Y%h1h+msM
8{4S[O A'?2o
ActionScript3.0ªº¥X²{±N®i²{¥X¦p¤U¥Ø¼Ð¡G;_F pL&e.izu
\?gO4Y)[6e
¦w¥þ ¡V ¥¦¤ä´©¤@©wªº¦w¥þ¥H¨Ï±o¯à°÷Åý¶}µoªÌ¼g¥X©ú¥Õªº, ®e©öªº¥iºûÅ@ªº¥N½X¡C
R
Ci'[C Q%A(|
¾ë¯À - ³oºØ»y¨¥ªºª½Æ[µ{«×¨Ï¶}µoªÌ¯à°÷ª½±µÅª©M¼g±M®×,¦Ó¤£»Ýn¸g±`°Ñ¦Ò¤â¥U6G8k2|)V!lL
ªí²{ - ³oºØ»y¨¥¨Ï¶}µoªÌ¼g¥X°ª®Ä²vªº©Mªí²{©Ê±jªº´_Âø±M®×¡C
K'^"dU,e
¬Û®e©Ê - ³oºØ»y¨¥©ß±ó¤£³W½dªº»y¨¥¼Ð·Ç¥H¤Î´£¨Ñ¦V«á¬Û®e¥H¤Î¦³·N¸qªº¥æ´À¥H²Å¦X·~¬É¼Ð·Ç¡CActionScript 3.0 ¬O³W½d¤Æ¤FªºActionScript 2.0, ¼W ¥[¤FECMAScript ¨ä¤¤ªºXML®M¥Î(E4X) ,¨Ï±o³o ºØ»y¨¥¿Ä¤JECMAScript¾ãÅé³s¬°¤@³e¡C&^#QDo*SR
1JG4~X7H
Gg?l
ActionScript 3.0ªº¯S©º¡G
'm|f$fw`.W$Da/{
c9EMBzBY{:q
ActionScript 3.0 ¥]¬A¤G³¡¤À: ®Ö¤ß»y¨¥©Mflash player API ¡C®Ö¤ß»y¨¥¥Î©ó©w¸qµ{¦¡³]p»y¨¥ªºµ²ºc, Ä´¦p«Å§i, ªí¥Ü, ±ø¥ó, ´`Àô, ©MÃþ«¬ ¡Cflash player API¬O ¥Ñ¤@¨t¦Cºë½T©w¸qflash player¥\¯àªºÃþ²Õ¦¨¡C
|WUEZ x:`
3e'Od&P|8G6q
ActionScript 3.0 ¾Ö¦³ºÉ¥i¯àªº«õ±¸¥X¹q¸£³Ñ¤U®Ä¯àªº·s¯SÂI¡C³W«hªí¥Ü¤ä´©¨Ï°Ê§@©Ê§ó¥[±j¤jªºXML¡C ECMAScript for XML (E4X) ¨Ï±oXML ¦¨¬°³q¥Î¸ê®ÆÃþ«¬, ±N¤j¤j¦a²¤ÆXML ³B²z¡C·sªºDisplay ListAPI±N¨ÏµêÀÀª«¥ó§ó¥[ªº¨ó½Õ¤@P¡C ³W½d¤ÆªºDOM ¨Æ¥ó¼Ò«¬¨Ï±o¨º¨Çª«¥óªºªí¥Ü©MÀ³µªµ²¦Xªº§ó¥[±j«l¡C·íµM³o¨Ç¥u¬OActionScript3.0³\¦h·sªºÅéÅç·í¤¤ªº¤@³¡¤À¡C
]K7q\y R
XU1W)B;n
U x\T
actionscript3.0»y¨¥¯SÂI¡G7MqPcK
_H T^(uT d
:v%|XjC DO(Zi
ActionScript 3.0 ªº¥X²{¬OActionScript 2.0 ªº®Ö¤ß»y¨¥¤è±¿Ä¤JECMAScript ¥H¿í¦u¨ä¼Ð·Ç©M¤Þ¤J·sªº§ï¶iªº¤@¨Ç¥\¯àÄæ¦ìªºµ²¦X¡C©Ò¦³³o¨Ç¯SÂI¦bActionScript 3.0 »y¨¥°Ñ¦Ò¤¤³£¦³¸Ô²Óªº¤¶²Ð©M°Q½×, ¥i±o¨ì¸Õ¥Îª©¥¿¦bMacromedia ¹êÅç«Ç¡C¤U±¬O¤@¨Ç¨ä¶}µoªÌ¹ï¨ä¤è«Kªº¦a¤è©M¨Ï¥Î¤è¦¡Á`µ²ªº¤@¨Ç·s¯SÂI¡C^F5S/xI(C)Q3z
GWZ*J1wP!\Zov
¼W±j³B²z°õ¦æ¿ù»~ªº¯à¤O
PZ.F
]$b?3~f*j
;l/\nHG9M/a#Ai
®M¥ÎActionScript 2.0®É, ³\¦hªí±¤W¡§§¹¬üµL·v¡¨ªº°õ¦æ¿ù»~µLªk±o¨ì°O¸ü¡C³o¨Ï±oflash playerµLªk¼u¥X´£¥Ü¿ù»~ªº¹ï¸Ü¤è¶ô, ´N¶Hjavascript»y¨¥¦b¦´Áªº¨µÄý¾¹¤¤©Òªí²{ªº¤@¼Ë¡C¤]´N¬O»¡, ³o¨Ç¯Ê¤Öªº¿ù»~³ø§i¨Ï±o§Ṳ́£±o¤£ªá§ó¦hºë¤O¥h°»¿ùActionScript 2.0µ{¦¡¡CActionScript 3.0 ¤Þ¤J¦b½sĶ·í¤¤®e©ö¥X²{ªº§ó¥[¼sªxªº¿ù»~ªº±¡§Î, §ï¶iªº°»¿ù¤è¦¡¨Ï±o¯à°÷°·§§¦a³B¸m®M¥Î±M®×·í¤¤ªº¿ù»~¡C´£¥Üªº°õ¦æ¿ù»~´£¨Ñ¨¬°÷ªºªþª`¡]¨Ò¥X¥X¿ùªº¨Ó·½Àɮס^©M¥H¼Æ¦ì´£¥Üªº®É¶¡½u, »¡©ú¶}µoªÌ¨³³tªº©w¦ì²£¥Í¿ù»~ªº¦ì¸m¡C4vh+d!Hl`
9o \.Q }sz2p+L~4L
¹ï°õ¦æ¿ù»~ªº³B²z¤è¦¡
'q O}K4Rlx
5em;W1K.z9pzF
¦bActionScript 2.0¤¤¡A°õ¦æ¿ù»~ªºª`¸Ñ¥Dn´£¨Ñµ¹¶}µoªÌ¤@Ó»¡©ú¡A©Ò¦³ªº»¡©ú¤è¦¡³£¬O°ÊºAªº¡C¦Ó¦bActionScript¥B¬O3.0¤¤, ³o¨Ç°T®§±N³QÀx¦s¨ì¤@©wªº¼Æ¶q¡AFlash player±N´£¨Ñ®É¶¡«¬Àˬd¥H´£°ª¨t²Îªº°õ¦æ¦w¥þ¡C³o¨Ç°T®§±N°O¿ý¤U¨Ó¥Î©óºÊµøÅܼƦb¹q¸£¤¤ªº°õ¦æ±¡ªp, ¥H¨Ï±o¶}µoªÌ¯à°÷Åý¦Û¤vªº®M¥Î±M®×±o¨ì§ï¶i¥H´î¤Ö¹ï°O¾ÐÅ骺¨Ï¥Î¡C
X N'F!` }bZYt`-h
nKTJ ?
±K«ÊªºÃþ
*P~X Rg [
+`5hA[3@
ActionScript 3.0 ±N¤Þ¤J±K«ÊªºÃþªº·§©À¡C¦b½sͮɶ¡¤ºªºªº±K«ÊÃþ¾Ö¦³°ß¤@©T©wªº¯S©º©M¤èªk¡A¨ä¥¦ªº¯S©º©M¤èªk¤£¥i¯à³Q¥[¤J¡C³o¨Ï±o¤ñ¸ûÄY±Kªº½sͮɶ¡Àˬd¦¨¬°¥i¯à, ³Ð³y¥X°·§§ªº±M®×¡C¦]¦Ó¥¦·íµM¥i¥H´£°ª¹ï°O¾ÐÅ骺¨Ï¥Î®Ä²v, ¦]¬°¤£»Ýn¬°¨C¤@Óª«¥ó®×¨Ò¼W¥[¤º¦bªºÂø¶Ã«ü¥O¡C·íµM°ÊºAÃþ¨ÌµM¥i¥H¨Ï¥Î¥un«Å§i¬°dynamicªºÃöÁä¦r¡CeH&]6R`!Ne
.~p8G.o'VH_
¥N²z¤è¦¡R C-PFy/j0QPu
¦bActionScript 3.0¤¤¨Æ¥ó³B²zÅܪº§ó¥[²¤ÆÂk¥\©ó¥¦ªº¤º´O¦¡¥N²z¤è¦¡¡C¦Ó¦bActionScript 2.0¤¤, ¤èªkÃö³¬«á¨Ã¨S¦³°O¦í¤°»òª«¥ó¨Æ¨Ò°Ñ·Ó¤F¥¦Ì, ·í©I¥s¤w¸gÃö³¬ªº¤èªk®É±N¾ÉP·N·Q¤£¨ìªº«áªG¡C Mx.utils.Delegate Ãþ¸g±`³Q¨Ï¥Î¡A¨Ï¥Î¥¦®É, §A¼g¤F¥N½X¦p¤U:kfVJQC*P*`f
myButton.addEventListener(¡§click¡¨, Delegate.create(this, someMethod)); Delegate.create(this, someMethod) W/{,n5uP]:h:B
¦bAS3.0¤¤¡A³oÓÃþ¤£¦A»Ýn³Q¤Þ¤J, ·í¤èªkÃö³¬®É±N¦Û°Ê¦a°O¦í¥¦ªºì©lª«¥ó®×¨Ò¡C²{¦b, §A¥i¥H²³æ¦a¼g¬°: myButton.addEventListener(¡§click¡¨, someMethod); HTLBb*DM5y
Y
`b*xL-JYJ#t1D'A;v
ECMAScript ¤¤ªº XML (E4X)
Z!E#R)v!~
P.T
ActionScript 3.0 ¯SÂI¤§¤@¬O¥þ±¤ä´©ECMAScript¤¤ªº XML (E4X), ³Ì·sªº³W½d¼Ð·Ç¬°ECMA-357 ¡CE4X ´£¨Ñ¤@ºØ¦ÛµM, ¬y§Qªº»y¨¥¨Ï±o¯à°÷§Ö³tªººc³yXML ¡C¦Ó¤£¬O¶H¶Ç²ÎXMLªº¸ÑªR±µ¤f¤@¼Ë, E4X¨Ï±oXML¦¨¬°³q¥Îªº¸ê®ÆÃþ«¬¡CE4X ²¤Æ°Ê§@XML±N¤j¤jªº´î¤Ö¬Û·í ¼Æ¶qªº¥N½X¥H¾A¥Î®M¥Î±M®×»Ýnªºµo®i¡C¦b³oÓºô¯¸§A¯à¾Ç¨ì§ó¦hÃö©óE4X ªº³W®æ:#d,T6?UJ(~em
[url]www.ecma-international.org/publications/files/ECMA-ST/ECMA-357.pdf[/url]
A5mA-J)\s
s7V;@;spa5U
³W½dªºªí¹F¤è¦¡¡]N¯«ª`¡Gì¤å¬°Regular Expressions À³¸Ó¬O ¥¿³W¹Bºâ¦¡¡^#Rh(d2~/{:KA
ActionScript 3.0 ¤Þ¤J¤ä´©³q¥Î³W«h¨Ï±o¯à°÷¨³³t·j´M©M§Ö³tªº°Ê§@¦r¤¸(¦ê)¡CActionScript 3.0¹ê¬I³W«h©w¸q¦b²Ä¤Tª©ªºECMAScript »y¨¥»¡©ú®Ñ·í¤¤(ECMA-262) ¡Cl#t)N\5Qj J
2J0Bkt3V:@
`M
\0T
©R¦WªÅ¶¡(Namespaces)