SlideShare a Scribd company logo
1 of 149
Download to read offline
Gi th 01: LĂ m quen v i AS, Your First Look at AS
AS lĂ  m t ngĂŽn ng l p trĂŹnh Æ° c xĂąy d ng trong Flash. AS gi ng nhÆ° cĂĄc ngĂŽn ng
khĂĄc nhÆ° Javascript, C++ v.v. nhÆ°ng b n khĂŽng c n bi t cĂĄc ngĂŽn ng khĂĄc h c
AS (n u cĂł thĂŹ cĂ ng d hÆĄn).
B t Ăąu h c AS, thĂŹ chĂșng ta coi th AS lĂ  gĂŹ, lĂ m Æ° c nh ng gĂŹ vĂ  cĂł quan h gĂŹ v i
cĂĄc ch c năng khĂĄc c a Flash. Trong bĂ i nĂ y, b n s tĂŹm hi u coi AS ra i nhÆ° th
nĂ o, xem cĂĄch vi t AS lĂ m sao, tĂŹm hi u AS lĂ m Æ° c nh ng gĂŹ vĂ  sau sau cĂčng lĂ 
xĂĄc nh Æ° c nÆĄi lÆ°u tr AS trong Flash.
i såt nghĩa và ti n cho sau này, mÏnh s khÎng d ch m t s t ng ra ti ng vi t
nhÆ° script, movieclip v.v.
Script lĂ  gĂŹ?
AS lĂ  ngĂŽn ng l p trĂŹnh, v i cĂĄc l nh sai khi n Flash movie lĂ m vi c theo Ășng
nh ng gĂŹ mĂŹnh vi t (ch cĂł mĂŹnh vi t sai ch computer khĂŽng lĂ m sai ). Ph n nhi u
thĂŹ AS ch lĂ m vi c trong mĂŽi trÆ° ng c a Flash, tuy nhiĂȘn AS cĆ©ng cĂł th g i l nh
cho browser, h i u hĂ nh v.v.
Script cĂł th ng n g n vĂ i ch hay cĆ©ng cĂł th dĂ i c trăm trang. Script cĂł th Æ° c
vi t g p l i m t ch hay cĆ©ng cĂł th vi t rĂŁi rĂĄc kh p nÆĄi trong movie.
Xu t x c a AS
AS rĂąt gi ng ngĂŽn ng C++, Java, javascript .v.v vĂ  Æ° c d a trĂȘn tiĂȘu chu n do
ECMA (European Computer Manufactuers Association) l p ra g i lĂ  ECMAScript.
Nhi u ngÆ° i hi u l m r ng AS d a trĂȘn Javascript, nhÆ°ng th c ch t c 2 u d a trĂȘn
ECMAScript.
LĂșc u vi t script trong Flash r t ÆĄn gi n vĂ  cho t i Flash 4 m i u c phĂĄt tri n
nhÆ°ng cĆ©ng v n cĂČn "thĂŽ sÆĄ" v i nh ng vĂČng l p vĂ  cĂĄc i u ki n "if...else". Cho t i
Flash 5 thĂŹ dĂąn Flash m i cĂł th l p trĂŹnh vĂ  g n li n script v i cĂĄc y u t trong
movie. . Sang t i Flash MX thĂŹ AS ĂŁ tr thĂ nh ngĂŽn ng l p trĂŹnh toĂ n di n v i hÆĄn
300 cĂąu l nh, hĂ m .v.v
Nh n biĂȘt AS
AS ÆĄn gi n lĂ  nh ng cĂąu l nh Æ° c vi t b ng ti ng Anh (vĂŹ l nĂ y mĂ  mĂŹnh s khĂŽng
d ch cĂĄc tÆ° ti ng Anh liĂȘn quan n AS, vĂ  m t ph n thĂŹ mĂŹnh khĂŽng gi i thu t ng
computer hay ti ng vi t cho l m) và cåc phép tính và d u cùu. Ví d sau:
ActionScript
on (press) {
gotoAndPlay ("my frame");
}
B n cĂł th gi i nghÄ©a o n mĂŁ trĂȘn b ng cĂĄch tĂŹm hi u cĂĄc t chĂ­nh trong Ăł. Ch
"press" g i Ăœ răng ngÆ° i dĂčng ang kĂ­ch chu t vĂ o m t cĂĄi gĂŹ Ăł, (vĂ  trong trÆ° ng
h p nĂ y lĂ  cĂĄi nĂșt) Ch k ti p "gotoAndPlay" do 4 ch "go to and play" g p l i, g i
Ăœ r ng AS ra l nh cho Flash t im t i m nĂ o Ăł trong movie vĂ  b t u chÆĄi t i m
Ăł.
AS cĂł th lĂ m nh ng gĂŹ?
Flash movie g m cĂł cĂĄc scence (c nh), vĂ  m i c nh s cĂł 1 timeline (th i gi n
bi u???) vĂ  timeline s cĂł cĂĄc frame (khung) b t u t s 1. ThĂŽng thÆ° ng thĂŹ Flash
s chÆĄi t frame 1 cho t i frame cu i c a scence v i t c c nh vĂ  d ng l i hay
l p l i t u tuy theo ngÆ° i lĂ m Flash.
M c Ă­ch chĂ­nh c a AS lĂ  thay i th t trong cĂĄch chÆĄi c a Flash. AS cĂł th dĂčng
b t frame nĂ o, hay ch y ngÆ° c tr l i frame trÆ° c hay nh y vĂ i frame r i chÆĄi ti p.
NhÆ°ng Ăł khĂŽng ch lĂ  nh ng gĂŹ AS cĂł th lĂ m Æ° c. AS cĂł th bi n film ho t hĂŹnh
c a Flash thĂ nh m t chÆ°ÆĄng trĂŹnh ng d ng cĂł s tÆ°ÆĄng tĂĄc c a ngÆ° i dĂčng. DÆ° i
Ăąy lĂ  nh ng cÆĄ b n mĂ  AS cĂł th lĂ m:
‱ Ho t hĂŹnh: B n khĂŽng c n AS lĂ m ho t hĂŹnh, nhÆ°ng v i AS thĂŹ b n cĂł th
t o nh ng ho t hĂŹnh ph c t p hÆĄn. VĂ­ d , trĂĄi banh cĂł th tÆ°ng xung quanh
mĂ nh hĂŹnh mĂ  khĂŽng bao gi ng ng, vĂ  tuĂąn theo cĂĄc nh lu t v t lĂœ nhÆ° l c
hĂșt, l c ma sĂĄt, l c ph n v.v N u khĂŽng cĂł AS thĂŹ b n c n ph i dĂčng c hĂ ng
ngĂ n frame lĂ m, cĂČn v i AS thĂŹ ch 1 frame cĆ©ng
‱ Navigation (hĂŽng bi t d chlĂ m sao cho hay ): thay vĂŹ movie ch chÆĄi t ng
frame 1 theo th t thÏ b n có th d ng movie b t c frame nào, và cho phép
ngÆ° i dĂčng cĂł th chÆĄi b t c frame nĂ o .v.v
‱ Thu nh p thĂŽng tin t ngÆ° i dĂčng (user input): b n cĂł th dĂčng AS h i
ngÆ° i dĂčng 1 c u h i, r i dĂčng thĂŽng tĂŹn Ăł trong movie hay cĂł th g i cho
server hay lĂ m nh ng gĂŹ b n mu n.
‱ Thu nh p thĂŽng tĂŹn t cĂĄc ngu n khĂĄc: AS cĂł th tÆ°ÆĄng tĂĄc v i server vĂ  l y
cĂĄc thĂŽng tin t server hay text file
‱ TĂ­nh toĂĄn: AS cĂł th lĂ m b t c phĂ©p tĂ­nh nĂ o mĂ  toĂĄn h c cho phĂ©p
‱ Thay i hĂŹnh nh trong movie: AS cĂł th thay i kĂ­ch thÆ° c, mĂ u s c, v trĂ­
c a b t c movie clip (MC) nĂ o trong movie flash c a b n. B n cĂł th t o
thĂȘm phiĂȘn b n hay xoĂĄ b i phiĂȘn b n c a MC v i AS
‱ PhĂąn tĂ­ch mĂŽi trÆ° ng c a mĂĄy tĂ­nh: V i AS b n cĂł th l y gi t h i u hĂ nh
hay a ch ang chÆĄi movie Flash Ăł.
‱ i u khi n ñm thanh trong flash movie: AS là cách t t nh t i u khi n ñm
thanh trong Flash,AS cĂł chÆĄi ch m, chÆĄi nhanh, ng ng, quay vĂČng .v.v bĂąt kỳ
Ăąm thanh nĂ o trong Flash.
Phåt tri n cåc kh năng c a AS
i u quan tr ng nh t mĂ  AS cĂł th lĂ m cho b n lĂ  nh ng gĂŹ chÆ°a ai nghÄ© t i V i
AS vĂ  trĂ­ tÆ° ng tÆ° ng vĂ  Ăłc sĂĄng t o c a b n thĂŹ khĂŽng cĂł gĂŹ lĂ  khĂŽng th x y ra v i
AS Æ° c.
M c Ă­ch c a cĂĄc sĂĄch, vĂ  c a VNFX lĂ  hÆ° ng d n b n hi u bi t v Flash t Ăł
b n cĂł th t dĂčng nĂł lĂ m ra nh ng s n ph m tuy t v i mĂ  khĂŽng ai cĂł.
Vi t AS Ăąu
CĂąu h i u tiĂȘn nh ng ai tĂŹm hi u AS thÆ° ng h i lĂ  "Vi t AS vĂ o Ăąu?". Flash cĂł
m t mĂŽi trÆ° ng lĂ m multimedia khĂĄ ph c t p. N u b n ĂŁ dĂčng Flash r i hay ĂŁ c
qua cĂĄc hÆ° ng d n i kĂšm v i Flash, thĂŹ b n ĂŁ bi t cĂĄc y u t cÆĄ b n nhÆ° timeline,
key frame v.v. nĂȘu b n chÆ°a bi t thĂŹ mĂŹnh khuyĂȘn b n nĂȘn tĂŹm hi u trÆ° c r i tiĂȘp t c
Ăąy. Æ  trong m c Flash T ng QuĂĄ, VNFX cĂł post link download 3 cĂĄi CD hÆ° ng
d n cÆĄ b n cho ngÆ° i chÆ°a bao gi dĂčng Flash.
Vi t AS time line
AS cĂł th vi t vĂ o key frame b t c timeline nĂ o. lĂ m nhÆ° v y, b n ch n key
frame trong timeline trÆ° c r i b n m Action Panel ra (cĂł th nh n F9) viĂȘt hay
xem AS ĂŁ Æ° c vi t Ăł. MĂŹnh khuyĂȘn b n nĂȘn dĂčng Action Panel dÆ° i d ng
Expert hÆĄn lĂ  Normal, vĂŹ nhÆ° v y b n s h c Æ° c nhi u vĂ  l hÆĄn.
Khi vi t AS vĂ o key frame nhÆ° v y thĂŹ AS key frame Ăł s ho t ng khi mĂ  Flash
chÆĄi t i key frame Ăł. VĂ­ d nhÆ° l nh AS stop() Æ° c t key frame 5 thĂŹ Flash
chÆĄi t i key frame 5 thĂŹ s d ng l i cho t i khi cĂł l nh khĂĄc. cĂĄch vi t nĂ y g i lĂ  vi t
vĂ o time line
M t trong nh ng lĂœ do vi t script vĂ o time line lĂ  khi b n mu n dĂčng function (hĂ m),
vĂŹ function cho phĂ©p chĂșng ta tĂĄi s d ng o n mĂŁ Ăł t nhi u nÆĄi, nhi u level khĂĄc.
ViĂȘt AS nĂșt
CĂĄc ph n t c a Flash movie Æ° c g i lĂ  symbol (bi u tÆ° ng). thÆ° ng thĂŹ symbol lĂ 
cĂĄc hĂŹnh nh. VĂ  cĂł 3 lo i symbol: button (nĂșt), graphich (hĂŹnh nh), movie
clips( o n phim). 3 lo i trĂȘn thĂŹ AS khĂŽng th vi t li n v i graphic, cĂČn button vĂ 
movie clip thĂŹ OK.
NĂșt s khĂŽng cĂł tĂĄc d ng gĂŹ c n u nhÆ° khĂŽng kĂšm AS lĂȘn trĂȘn nĂł. Mu n kĂšm AS
vĂ o nĂșt thĂŹ ch n nĂșt trĂȘn stage (sĂąn kh u: di n tĂ­ch c a flash movie), r i sau Ăł m
Action panel vĂ  vi t vĂ o Ăł nhÆ° ta vi t vĂ o key frame.
AS vi t trĂȘn nĂșt ch ho t ng khi chu t ho c bĂ n phĂ­m tĂĄc ng lĂȘn nĂșt mĂ  thĂŽi
Vi t AS MC
MC khĂĄc v i graphic ch MC Æ° c t tĂȘn khi mang vĂ o stage, MC thÆ° ng lĂ  hĂŹnh
Ă nh ng, vĂ  cĂł th cĂł AS kĂšm theo MC. vi t AS vĂ o MC thĂŹ cĆ©ng tÆ°ÆĄng t nhÆ°
ta lĂ m v i nĂșt.
AS kĂšm theo MC cĂł th i u khi n MC Ăł hay lĂ  cĂĄc MC trong cĂčng m t timeline
hay cĂĄc timeline ngoĂ i movie
BĂ i t p
1. T o m t movie m i
2. t o 3 key frames
3. Dung Flash v m i hĂŹnh khĂĄc nhau cho m i frame
4. Ch y th movie (nh n Control + enter)
5. Sau Ăł tr l i timeline, vi t vĂ o keyframe 2 o n mĂŁ : "stop();"
6. Cho ch y th movie l n n a
7. VĂ  kỳ nĂ y b n ch th y Flash chÆĄi t i frame th 2 thĂŹ ng ng, vĂ  b n ĂŁ thĂ nh cĂŽng
trong vi c vi t AS :
Gi th 02: S d ng Action panel, Using the Script Editing Window
N u dĂąn ho coi Timeline lĂ  nhĂ  thĂŹ dĂąn l p trĂŹnh v i AS coi Action Panel lĂ  nÆĄi
cÆ° ng c a mĂŹnh, t i Ăł dĂąn AS cĂł th thay i, vi t t t c cĂĄc l nh. VĂŹ v y r t quan
tr ng lĂ  b n cĂł th s d ng quen thu c Action Panel
Flash MX s d ng cĂĄc panel giĂșp b n cĂł th l y cĂĄc thĂŽng tin v movie b n ang
lĂ m m t cĂĄch d dĂ ng. Khi b n cĂ i t vĂ  chay Flash l n u tiĂȘn, Flash s h i b n
mu n s d ng Flash nhÆ° th nĂ o vĂ  Flash s x p t cĂĄc panel cho h p lĂœ. B n cĆ©ng
cĂł th thay i cĂĄch x p t theo Ăœ c a b n.
NĂłi chung b n nĂȘn x p t cĂĄc panel c a b n lĂ m sao cho thu n ti n cho b n nh t, vĂ 
cĂĄi nĂ y cĆ©ng c n cĂł kinh nghi m Ăł MĂŹnh dĂčng dual monitor, mĂŹnh close h t cĂĄc
panel ch gi l i 2 cĂĄi chĂ­nh trĂȘn mĂ n hĂŹnh, mĂŹnh kĂ©o cĂĄi action panel vĂ  property
panel qua m t bĂȘn monitor, cĂČn cĂĄi bĂȘn kia cho cĂĄi stage, n u c n m panel nĂ o
thĂŹ mĂŹnh dĂčng phĂ­m t t m .
S d ng Action panel cĂł 2 cĂĄch: bĂŹnh thÆ° ng (normal) vĂ  chuyĂȘn d ng (expert). Khi
m i ch y mĂĄy l n u thĂŹ Action panel Æ° c set dÆ° i d ng bĂŹnh thÆ° ng. d ng bĂŹnh
thÆ° ng thĂŹ b n khĂŽng cĂł th ĂĄnh tr c ti p cĂĄc cĂąu l nh, mĂ  ph i ch n t cĂĄc menu
bĂȘn tay trĂĄi c a panel. V i setup nhÆ° v y thĂŹ b n khĂŽng bao gi ph m ph i l i khi vi t
AS c .
MĂŹnh s b ph n hÆ° ng d n dĂčng normal vĂŹ mĂŹnh th y dĂčng normal mode s khĂŽng
bao gi ti n Æ° c, dĂčng expert mode lĂșc u hÆĄi m t nhÆ°ng b o m lĂ  cĂĄc b n s
h c Æ° c mau vĂ  nh lĂąu hÆĄn
S d ng Action panel v i expert mode thĂŹ b n cĂł nhi u t do hÆĄn, nhÆ°ng t do ng
nghÄ©a v i trĂĄch nhi m nĂȘn b n ph i c n th t khi vi t code. T normal mode chuy n
sang expert mode thĂŹ nh n phĂ­m t t CONTROL + SHIFT + E, chuy n ngÆ° c l i thĂŹ
dĂčng CONTROL + SHIFT + N (nh kĂ­ch chu t vĂ o action panel trÆ° c khi dĂčng phĂ­m
t t). B n cĂł th i t Normal mode sang expert mode b t c lĂșc nĂ o, nhÆ°ng i
ngÆ° c l i thĂŹ ch Æ° c khi mĂ  code c a b n khĂŽng cĂł l i.
Action panel cĂł popup menu (mĆ©i tĂȘn ch xu ng dÆ° i, n m gĂłc ph i c a action
panel) vĂ  trong Ăł cĂł nhi u l nh r t t t cho b n khi b n dĂčng Action panel, nh t lĂ  i
v i Expert mode. B n cĂł th tĂŹm vĂ  thay th b t c cĂąu nĂ o, ch nĂ o trong script c a
b n. PhĂ­m t t cho tĂŹm ki m lĂ  Control + F vĂ  cho thay th lĂ  Control + H, nh n F3 thĂŹ
Flash s ti p t c tĂŹm ch , cĂąu b n mu n tĂŹm.
M t l nh n a lĂ  "Goto Line" giĂșp b n tĂŹm Æ° c cĂąu b n mu n tĂŹm. L nh "Check
Syntax" s rĂ  soĂĄt script c a b n vĂ  tĂŹm nh ng l i cĂș phĂĄp. LĂșc m i t p vi t AS, thĂŹ
dĂčng nĂȘn thÆ° ng xuyĂȘn dĂčng Chech Syntax check l i trong sctipt. L nh ti p theo
lĂ  "Auto Format" vĂ  "Auto Format Options" giĂșp cho b n trĂŹnh bĂ y script c a b n cho
d c hÆĄn. B n cĂł th thay i mĂ u s c, font ch v.v. cho script c a b n cho b n
d c code hÆĄn b ng cĂĄch vĂ o Edit > Preferences > ActionScript Editor. CĂĄc ph n
cĂČn l i c a pop-up window cho phĂ©p b n Æ° c xu t hay nh p AS dÆ° i d ng text file
vĂ  in script ra gi y.
Tuy g i lĂ  expert mode nhÆ°ng th c ra dĂčng cĂČn d hÆĄn lĂ  normal mode. B i vĂŹ dÆ° i
expert mode thi Action panel ch ng khĂĄc gĂŹ chÆ°ÆĄng trĂŹnh "note pad" hay "text pad".
B n ch vi c vi t nh ng gĂŹ b n mu n vĂ o Ăł. Khi dĂčng dÆ° i expert mode, b n v n cĂł
th tham kh o cĂĄc cĂąu l nh, cĂĄc cĂș phĂĄp c a AS cĂĄi khung bĂȘn trĂĄi c a Action
Panel. VĂ  n u b n tĂŽn th m t s quy t t thĂŹ b n s s Æ° c ch c năng "Code Hint"
c a Action Panel, ch c năng nĂ y t o nĂȘn nhÆ°ng khung nh nh trong Ăł cĂł nh ng cĂąu
l nh c a AS Ășng h p quy cho b n l a ch n.
tr thĂ nh m t "cao th " v AS thĂŹ b n khĂŽng th nĂ o khĂŽng n m v ng v Action
panel Æ° c.
Sau Ăąy lĂ  bĂ i th c hĂ nh nho nh , giĂșp b n lĂ m quen v i Action panel dÆ° i expert
mode
1. T o m t movie m i
2. Ch n key frame u tiĂȘn (frame s 1) c a layer 1 (mĂŹnh khĂŽng d ch ch layer = l p
vĂŹ d trĂčng v i class= l p)
3. M Action panel (cĂł th dĂčng phĂ­m t t hay vĂ o trong ph n Window > Action panel
4. Chuy n sang expert mode (dĂčng phĂ­m t t hĂ y vĂ o trong pop-up menu c a Action
panel i)
5. VĂ o ch vi t AS
6. Vi t o n code sau:
ActionScript
trace ("I am expert");
Khi b n th movie thĂŹ dĂČng ch "I am expert" s Æ° c hi n ra trong Output panel, vĂ 
mĂŹnh s c p n l nh trace() vĂ o nh ng gi t i
Gi th 03: H c cĂĄch l p trĂŹnh, Learning to program
L p trĂŹnh cĂł th coi lĂ  khoa h c vĂ  ngh thu t. VĂŹ v y l p trĂŹnh viĂȘn gi i c n cĂł 2 i u
ki n ki n th c v ngĂŽn ng mĂ  h dĂčng vĂ  tĂ­nh sĂĄng t o, Ă­t khi nĂ o cĂł trÆ° ng h p ch
cĂł 1 cĂĄch l p trĂŹnh cho m t ĂĄn l m.
Trong quĂĄ trĂŹnh vi t AS, b n s t o ra cho riĂȘng mĂŹnh m t phong thĂĄi vi t code khĂĄ
c trÆ°ng. CĂł th m i u b n s dĂčng phong cĂĄch vi t code trong nh ng bĂ i vi t nĂ y,
r i sau Ăł b n s t t chuy n sang phong cĂĄch c a riĂȘng b n
ThÆ° ng thĂŹ khĂĄi ni m v cĂĄc ngĂŽn ng l p trĂŹnh u gi ng nhau, vĂ  trong bĂ i nĂ y s
bĂ n v nh ng khĂĄi ni m l p trĂŹnh vĂ  lĂ m sao ĂĄp d ng nĂł trong Flash
Cåch suy nghĩ c a computer
Th t ra computer d t l m ch ng bi t suy nghĩ ùu, ch bi t làm vi c theo m nh l nh
m t cĂĄch khĂŽng suy nghÄ©. VĂŹ v y computer khĂŽng bao gi l i mĂ  l i ngÆ° i vi t l nh
sai khi n nĂł.
CĂČn AS ch lĂ  m t chu i l nh, ch th cho computer, hay Ășng ra lĂ  Flash ph i lĂ m
nh ng gĂŹ trong mĂŽi trÆ° ng runtime (runtime environment).
Khi vi t AS thĂŹ b n nĂȘn t coi mĂŹnh "ngu" nhÆ° computer, vĂ  c l i nh ng dĂČng l nh
AS và nghĩ t i k t qu c a vi c thi hành l nh ó. Khi t t mÏnh vào v trí c a
computer, b n s oĂĄn Æ° c script c a b n s lĂ m nh ng gĂŹ trong mĂŽi trÆ° ng runtime,
vĂ  b n cĂł th th y ra nh ng l i mĂ  b n vĂŽ Ăœ m c ph i. Khi mĂ  b n tr thĂ nh di n viĂȘn
tuy t v i trong vai computer thĂŹ b n cĆ©ng tr thĂ nh m t l p trĂŹnh viĂȘn tĂ i ba.
L nh, hàm, và phép tính
L nh (command) là y u t căn b n c a AS ch th Flash làm m t hành ng c th .
L nh Æ° c thi hĂ nh tuy t i trong cĂĄc trÆ° ng h p kh thi. VĂ­ d n u nhÆ° ta vi t
gotoAndPlay(5) cho Flash t i frame 5 vĂ  chÆĄi, nhÆ°ng n u trong movie khĂŽng cĂł
frame 5 thĂŹ l nh khĂŽng th lĂ m Æ° c.
HĂ m (function, mĂŹnh s dĂčng t function nhi u hÆĄn lĂ  hĂ m) lĂ  ph n tĂ­nh toĂĄn cĂĄc
phép tính và cho ra (return) m t k t qu . Ví d hàm random() s cho ra m t con s
ng u nhiĂȘn nĂ o Ăł, hay hĂ m sqrt() s cho ra giĂĄ tr bĂŹnh phÆ°ÆĄng c a 1 s mĂ  hĂ m
nh n Æ° c truy n cho.
L nh vĂ  hĂ m u cĂł th Æ° c truy n cho 1 hay nhi u thĂŽng s (parameter, mĂŹnh s
dĂčng t parameter thay vĂŹ thĂŽng s ), vĂ  nh ng thĂŽng s Ăł giĂșp cho hĂ m vĂ  l nh Æ° c
c th hÆĄn. VĂ­ d gotoAndPlay(5) thĂŹ 5 lĂ  thĂŽng s , n u nhÆ° khĂŽng cĂł thĂŽng s nĂ y
thĂŹ l nh "gotoAndPlay" s khĂŽng bi t rĂ” ph i nĂłi Flash i Ăąu. cĆ©ng nhÆ° hĂ m sqrt()
cĆ©ng c n cĂł thĂŽng s cho ra giĂĄ tr bĂŹnh phÆ°ÆĄng c a s y.
S khĂĄc bi t gi a hĂ m vĂ  l nh chĂ­nh lĂ  cĂĄc phĂ©p tĂ­nh. PhĂ©p tĂ­nh thÆ° ng lĂ  nh ng d u
+, -, *, / hay là phép so sånh <, ==. >. Hàm có phép tính, l nh thÏ khÎng
Bi n s
Bi n s (parameter) c n thi t trong m i ngĂŽn ng l p trĂŹnh vĂŹ nĂł lÆ°u tr thĂŽng tin v
m t cĂĄi gĂŹ Ăł trong chÆ°ÆĄng trĂŹnh. Bi n s g m cĂł 2 ph n: tĂȘn vĂ  giĂĄ tr . ĂŽi khi b n
ch c n lÆ°u tr thĂŽng tin trong bi n s m t th i gian ng n, vĂ­ d b n mu n Flash thi
hĂ nh 1 s l nh 10 l n thĂŹ b n c n m s l n mĂ  Flash ĂŁ thi hĂ nh l nh cĂł th ra
l nh cho Flash ngÆ°ng ngay sau khi thi hĂ nh xong l nh l n th 10. NhÆ°ng cĆ©ng cĂł lĂșc
b n c n ph i lÆ°u l i thĂŽng tin trong m t th i gian dĂ i hay trong su t quĂĄ trĂŹnh th i
gian Flash chÆĄi.
TĂȘn c a bi n s thÆ° ng lĂ  m t nhĂłm t , hay cĆ©ng cĂł th ch ÆĄn gi n lĂ  1 t , hay 1
ch cĂĄi. ThĂŽng thÆ° ng tĂȘn c a bi n s nĂȘn rĂ” rĂ ng d hi u vĂ  nĂłi lĂȘn Æ° c tĂ­nh ch t
c a thĂŽng tin mĂ  bi n s ang lÆ°u tr . VĂ­ d n u b n mu n lÆ°u tr tĂȘn c a ngÆ° i dĂčng
trong bi n s thĂŹ b n nĂȘn t tĂȘn bi n s Ăł lĂ  userName (mĂŹnh nghÄ© t tĂȘn ti ng Anh
d hi u hÆĄn, vĂŹ ti ng vi t khĂŽng d u cĆ©ng d b hi u l m), b n cĂł th t tĂȘn bi n s
Ăł lĂ  "n" nhÆ°ng quĂĄ ng n, ngÆ° i c script c a b n s khĂł hi u, n u t lĂ  name thĂŹ
d trĂčng v i cĂĄc bi n s hay t khoĂĄ khĂĄc (_name lĂ  m t c tĂ­nh c a i tÆ° ng
MovieClip)
Khi vi t AS, b n c n lÆ°u Ăœ vi t lĂ m sao cho d hi u vĂ  d c. VĂ  cĂĄc l p trĂŹnh viĂȘn
quy Æ° c tĂȘn bi n s theo quy t c sau: tĂȘn bi n s luĂŽn vi t thÆ° ng ch u tiĂȘn, vĂ 
vi t hoa ch cĂĄi u tiĂȘn cho cĂĄc ch k ti p, vĂ­ d userName, userLastName,
userMotherMaidenName v.v.
LÆ°u Ăœ r ng ch cĂĄc ch cĂĄi vĂ  s m i Æ° c dĂčng t tĂȘn cho bi n s , vĂ  luĂŽn b t
Ăąu tĂȘn b ng ch cĂĄi.
CĂł nhi u lo i bi n s lÆ°u tr nhi u lo i thĂŽng tin, vĂ  ngay m i lo i thĂŽng tin cĆ©ng
cĂł th cĂł nhi u lo i khĂĄc nhau n a. NhÆ° s (number) lĂ  m t lo i giĂĄ tr c a bi n s , vĂ 
dÆ° i nĂł cĂČn cĂł cĂĄc lo i khĂĄc nhÆ° s nguyĂȘn (integer), s ... khĂŽng nguyĂȘn
(floating, double). B n cĆ©ng cĂł th dĂčng bi n s ch a cĂĄc chu i (chu i g i t t cho
chu i ch cĂĄi), chu i cĂł th ch cĂł 1 ch cĂĄi, nhi u ch cĂĄi hay lĂ  khĂŽng cĂł gĂŹ h t, t t
c cĂĄc chu i sau Ăąy u h p l : "ablsdfjksl", "a", " ", "". Khi vi t m t chu i thĂŹ c n
dĂčng d u ngo c kĂ©p ("") b t u vĂ  k t thĂșc chu i.
Trong cĂĄc ngĂŽn ng l p trĂŹnh khĂĄc nhÆ° Java, C++, hay ngay c ActionScript 2.0 trong
Flash MX 2004 thĂŹ b n ph i xac nh trÆ° c lo i thĂŽng tin nĂ o b n s lÆ°u trong bi n
s . NhÆ°ng v i ActionScript 1 (trong FlashMX) thĂŹ b n khĂŽng c n lĂ m vi c nĂ y. VĂ­ d
bi n s userName lĂșc u ch a 1 chu i, nhÆ°ng sau Ăł l i ch a 1 s nguyĂȘn thĂŹ cĆ©ng
v n h p l .
NgoĂ i chu i vĂ  s , cĂČn cĂł nhi u lo i khĂĄc n a nhÆ°ng chĂșng ta s c p t i vĂ o
nh ng bĂ i sau.
i u ki n
Trong nh ng trÆ° ng h p chĂșng ta khĂŽng bi t nĂȘn ra l nh cho Flash ph i lĂ m gĂŹ cho
thĂ­ch h p v i t ng tĂŹnh hu ng thĂŹ ta cĂł th dĂčng " i u ki n" ra l nh cho Flash.
VĂ­ d n u nhÆ° b n ra l nh cho Flash khĂŽng cho ngÆ° i dĂčng coi m t o n phim trong
Flash n u nhÆ° user dÆ° i 18 tu i, n u user trĂȘn 18 tu i thĂŹ hĂŁy chÆĄi o n phim y.
TrÆ° c tiĂȘn, Flash s so sĂĄnh s tu i c a user v i s 18, n u nhÆ° s tu i c a user tho
mĂŁn i u ki n chĂșng ta t ra thĂŹ Flash s cĂł 1 giĂĄ tr true t phĂ©p so sĂĄnh trĂȘn, vĂ 
ngÆ° c l i s lĂ  false i u ki n s luĂŽn luĂŽn lĂ  Ășng (true) hay sai (false). M t giĂĄ tr
ch cĂł Ășng hay sai thĂŹ Æ° c g i lĂ  boolean. Sau khi th c hi n phĂ©p so sĂĄnh vĂ  cĂł
Æ° c k t qu t phĂ©p so sĂĄnh trĂȘn, Flash s ch n m t trong 2 gi i phĂĄp do chĂșng ta
Æ°a ra cho t ng trÆ° ng h p.
ĂŽi khi chĂșng ta c n cĂł nhi u i u ki n hÆĄn ch lĂ  ÆĄn gi n "true" hay "false", vĂ­ d
nhÆ° b n mu n Flash chÆĄi o n phim A cho ng ÆĄi trĂȘn 18 tu i, dÆ° i 18 nhÆ°ng trĂȘn 13
thĂŹ chÆĄi o n phim B, vĂ  nh ng ai dÆ° i 13 thĂŹ chÆĄi o n phim C.
VĂČng l p
Con ngÆ° i lĂ m ra computer vĂŹ lÆ° i khĂŽng mu n lĂ m nhi u, mĂ  bĂĄn cĂĄi cho
computer. Nh t lĂ  ph i lĂ m i lĂ m l i 1 vi c nĂ o Ăł thĂŹ cĂ ng nhĂ m chĂĄn. VĂŹ v y vĂČng
l p (loop) là m t y u t quan tr ng trong cåc ngÎn ng l p trÏnh. AS cƩng v y, b n có
th dĂčng vĂČng l p trong script.
Trong vĂČng l p, " i u ki n" r t quan tr ng. M i vĂČng l p c n cĂł i m b t u vĂ 
i m d ng vĂ  m t i u ki n bĂĄo hi u i m d ng c a vĂČng l p. VĂ­ d nhÆ° b n
mu n cho vĂČng l p ch y 10 l n thĂŹ s cĂł 1 bi n s dĂčng m vĂČng l p, b t u t
0, M i vĂČng l p ch y thĂŹ bi n s nĂ y s tăng thĂȘm 1. Khi t i 9 thĂŹ vĂČng l p s d ng
l i. Sau Ăąy minh ho c a vĂČng l p nĂ y:
1. M t s l nh tr ÆĄc vĂČng l p
2. B t u vĂČng l p, set bi n s counter = 0
3. LĂ m m t s l nh trong vĂČng l p
4. Tăng bi n s counter +=1
5. N u bi n s counter nh hÆĄn 9, tr l i bÆ° c th 3
6. Ra kh i vĂČng l p, vĂ  ti p t c chÆ°ÆĄng trĂŹnh.
Ăąy chĂșng ta b t d u bi n s counter = 0 vĂŹ quy Æ° c thĂŽng thÆ° ng cĂĄc ngĂŽn ng l p
trĂŹnh u b t u vĂČng l p 0.
M t i m ĂĄng lÆ°u Ăœ c a vĂČng l p lĂ  i u ki n Æ° c xĂ©t trÆ° c khi th c hi n cĂĄc l nh
trong vĂČng l p. Trong vĂ i trÆ° ng h p, i u ki n s Æ° c xĂ©t sau khi th c hi n cĂĄc
l nh trong vĂČng l p. ChĂșng ta cĆ©ng cĂł th ngÆ°ng vĂČng l p trÆ° c i m d ng c a nĂł, vĂ 
i u nĂ y s Æ° c c p t i vĂ o bĂ i k ti p
LĂ m nh ng i u khĂŽng tÆ° ng
L nh, hĂ m, phĂ©p tĂ­nh, bi n s , thĂŽng s , i u ki n, vĂČng l p lĂ  nh ng ph n căn b n
trong ngĂŽn ng l p trĂŹnh, vĂ  cĂĄi nĂ y thĂŹ ai cĆ©ng bi t nhÆ°ng lĂ m sao ph i h p l i thĂ nh
m t chÆ°ÆĄng trĂŹnh hoĂ n h o m i lĂ  cĂĄi khĂł.
ChÆ°ÆĄng trĂŹnh ÆĄn gi n ch lĂ  m t t p h p l nh cho computer gi i quy t 1 v n
nĂ o Ăł. VĂŹ v y trÆ° c khi vi t 1 chÆ°ÆĄng trĂŹnh chĂșng ta c n ph i xĂĄc nh "v n " c n
ph i gi i quy t. VĂ­ d th c t ngoĂ i i, m b n nh b n ra ch mua gĂ . NhÆ°ng ch
ÆĄn gi n nĂłi ra ch mua gĂ  thĂŹ chÆ°a vĂŹ bi t mua gĂ  s ng hay gĂ  lĂ m r i. n u mua
gĂ  s ng thĂŹ mua lo i nĂ o v.v. Ăł lĂ  chÆ°a nĂłi t i mua gĂ  ch nĂ o, giĂĄ c ra sao v.v.
N u nhÆ° b n m nĂłi rĂ” lĂ  ra ch b n thĂ nh, mua 1 con gĂ  mĂĄi d u, n ng kho ng 2 kg,
v i giĂĄ kho ng 10000 thĂŹ th t lĂ  d dĂ ng cho b n ph i khĂŽng?
Bi t Æ° c v n mua gĂ  r i thĂŹ tĂŹm cĂĄch mua gĂ . B n ph i "lĂȘn k ho ch", nĂȘn nh
b n ch hay i taxi ra ch b n thĂ nh. N u i taxi i hĂŁng nĂ o, tĂŹm s phone g i,
v.v. cĂČn nh b n ch i thĂŹ nh tĂȘn nĂ o. R i nĂȘn m c qu n ĂĄo nĂ o i ch . Ra n ch
thĂŹ ph i m c c lĂ m sao, tr ti n m t hay ghi s n . B n th y khĂŽng, t m t chuy n
mua gĂ  ÆĄn gi n v y mĂ  cĂł th t n c ngĂ y tr i lĂȘn chÆ°ÆĄng trĂŹnh
Vi t AS, b n c n ph i lÆ°u Ăœ t i t t c m i vi c dĂč nh cĂĄch m y cho Flash cĂł th
lĂ m Ășng theo nhÆ° Ăœ b n trong m i tĂŹnh hu ng. CĂĄc chÆ°ÆĄng trĂŹnh cĂł bug khĂŽng ph i
vĂŹ ngÆ° i vi t d mĂ  vĂŹ chÆ°a nghÄ© t i h t m i tĂŹnh hu ng thĂŽi.
TĂłm l i, i u quan tr ng trong l p trĂŹnh lĂ  kh n ng phĂąn tĂ­ch m t v n chĂ­nh thĂ nh
nhi u v n nh cho t i khi khĂŽng cĂČn nh hÆĄn n a, vĂ  sau Ăł xĂąy d ng chÆ°ÆĄng
trĂŹnh t gi i quy y cĂĄc v n nh lĂȘn d n cho t i v n chĂ­nh.
Vi t mĂŁ hoĂ n ch nh
B (bug) ÆĄn gi n lĂ  l i c a chÆ°ÆĄng trĂŹnh mĂ  b n t o ra. Bug cĂł th ch lĂ  nh ng l i
cĂș phĂĄp ÆĄn gi n, hay lĂ  nh ng l i ph c t p do cĂĄch b n gi i quy t v n trong mĂŽi
trÆ° ng runtime.
trĂĄnh cĂł bug trong script c a b n thĂŹ b n nĂȘn t n nhi u thĂŹ gi vĂ o giai o n phĂąn
tĂ­ch, thi t k chÆ°ÆĄng trĂŹnh cho script c a b n. Ki m tra cĂĄc o n code nhi u l n, vĂ 
óng vai "computer" cho th t gi ng, ng suy nghĩ, mà thi hành cåc l nh trong script
c a b n. Vi t t ng o n code nh r i rĂĄp l i v i nhau (vĂŹ v y mĂ  l p trĂŹnh theo hÆ° ng
i tÆ° ng Æ° c s d ng nhi u nh t)
N u script c a b n cĂł bug thĂŹ ng th mĂ  n n lĂČng, vĂŹ khĂŽng cĂł chÆ°ÆĄng trĂŹnh nĂ o do
con ngÆ° i lĂ m ra mĂ  khĂŽng cĂł bug c . VĂŹ v y b n ng c g ng viĂȘt code sao cho
tuy t h o khĂŽng cĂł l i. N u cĂł bug thĂŹ b n di t bug thĂŽi B n cĂł th chu n b
"chi n u" v i bug b ng cĂĄch vi t code sao cho d hi u vĂ  d c, vi t nhi u chĂș
thĂ­ch cho cĂĄc o n mĂŁ. ĂŽi khi di t bug (debug) r t ÆĄn gi n nhÆ°ng cĂł khi cĆ©ng r t
kho mĂ  bi t bug Ăąu di t. Flash cĂł kĂšm theo vĂ i cĂŽng c giĂșp b n debug d dĂ ng
hÆĄn, chĂșng ta s nĂłi t i cĂĄc cĂŽng c nĂ y trong bĂ i t i.
Gi th 04: ViĂȘt code trong Flash, Writing code in Flash
Khi b n vi t script, b n s dĂčng t t c nh ng t khĂła, vĂ  kĂœ hi u v.v. V y trÆ° c tiĂȘn
chĂșng ta s phĂąn tĂ­ch m t o n script sau Ăąy. o n script nĂ y g n vĂ o 1 button.
ActionScript
on (press) {
var myVariable = 7;
var myOtherVariable = "Macromedia";
for (var i=0; i<10; i++) {
trace(i);
if (myVariable + 3 == 5) {
trace(myOtherVariable);
}
}
}
DĂČng u tiĂȘn xĂĄc nh nh ng o n code sau Ăł Æ° c kĂ­ch ho t khi mĂ  user nh n vĂ o
nĂșt. hĂ m on(press) ch cĂł th s d ng trong vĂ o trong nĂșt mĂ  thĂŽi. NgoĂ i ra b n cĂł
th dĂčng on(release) n u nhÆ° b n mu n kĂ­ch ho t o n mĂŁ trĂȘn sau khi user nh n nĂșt,
vĂ  buĂŽng tay.
D u ngo c mĂłc {} u vĂ  cu i o n code, gĂłi o n code Ăł vĂ o lĂ m m t, vĂ  u
Æ° c kĂ­ch ho t khi nh n nĂșt. CĂĄc b n lÆ°u Ăœ th y o n code Æ° c vi t vĂ o trong cho
d nh n th y c o n code nĂ y ph thu c vĂ o on(press). CĂĄc b n nĂȘn vi t lĂči vĂ o
trong cho nh ng o n code ph thu c vĂ o 1 l nh hay hĂ m nĂ o Ăł.
DĂČng th hai l p ra bi n s (mĂŹnh s vi t t t lĂ  var nhe) tĂȘn myVariable, vĂ  t giĂĄ tr
b ng 7 cho nĂł. tÆ°ÆĄng t hĂ ng k ti p l p ra var tĂȘn lĂ  myOtherVariable vĂ  cho giĂĄ tr
c a nĂł lĂ  "Macrmedia". C 2 cĂąu nĂ y Æ° c k t thĂșc b ng d u ch m ph y ;
DĂČng th 4 chĂ­nh lĂ  vĂČng l p (mĂŹnh s g i lĂ  loop cho ti n nhe) for (s nh c t i cĂĄc
lo i loop phĂ­a dÆ° i) vĂ  cĂĄc i u ki n c a loop nĂ y. NĂł s l p 10 l n v i i u ki n
b t u lĂ  i=0 vĂ  nĂł s tăng thĂȘm 1 cho m i l n l p cho t i khi nĂł lĂȘn t i 9. TÆ°ÆĄng t
nhÆ° on(press), for loop cĆ©ng cĂł o n code cho riĂȘng nĂł, vĂ  ÆĄc b c quanh b ng { }
vĂ  o n code trong Ăł ch kĂ­ch ho t khi mĂ  cĂĄc i u ki n c a for loop Æ° c th a mĂŁn.
DĂČng th 5 lĂ  l nh trace(), l nh nĂ y ch vi t thĂŽng tin ra output window trong lĂșc
b n lĂ m vi c v i Flash, user s khĂŽng th y Æ° c. K ti p lĂ  i u ki n, if lĂ  t khoĂĄ
trong Flash, và nó s ki m tra k t qu c a phép so sånh myVariable + 3 ==5. N u mà
k t qu lĂ  Ășng thĂŹ nĂł s kĂ­ch ho t l nh trace trong, vĂ  s vi t ra output window giĂĄ
tr c a myOtherVariable
V y lĂ  b n ĂŁ th y m t o n script hoĂ n ch nh b ng AS r i. Ti p theo chĂșng ta s nĂłi
n vĂ i ph n khĂĄc c a AS.
Output window
trĂȘn chĂșng ta cĂł nh c t i output window, mĂ  khĂŽng nĂłi rĂ” lĂ  gĂŹ. Output window lĂ 
m t window trong software Flash, vĂ  ch xu t hi n khi mĂ  b n ch y th movie. N u
Flash compile movie cho b n vĂ  phĂĄt hi n ra l i thĂŹ Flash s vi t ra cĂĄc output
window nĂ y. Trong khi ch y th movie, thĂŹ l nh trace() m i cĂł th vi t cĂĄc thĂŽng tin
ra output window. Output window r t quan tr ng trong vi t "di t b ", dĂčng nĂł chung
v i trace b n cĂł th quan sĂĄt cĂĄc thĂŽng s , bi n s , cĂĄc i tÆ° ng, thu c tĂ­nh i
tÆ° ng .v.v
Trong lĂșc h c AS, b n cĂł th vi t m t an script ng n khĂŽng lĂ m gĂŹ c nh ng ch
vi t thĂŽng tin ra output window, nhÆ° o n code trĂȘn.
Th c hĂ nh: vi t thĂŽng tin ra output windown
Cåch t t nh t hi u rÔ ch c năng c a output window là s d ng nó. Bùy gi mÏnh s
vi t m t o n code ng n g i thĂŽi tin ra output window nhe.
1. T o m t file m i
2. Ch n frame u tiĂȘn c a movie, m Action panel. Ch nh kĂ­ch thÆ° c cho action
panel l n vi t, vĂ  nh dĂčng expert mode
3. KĂ­ch chu t vĂ o ph n vi t script vĂ  vi t cĂąu sau: trace("hello world");
4. Ch y th movie (Control + Enter)
5. B n th y gĂŹ output window? (N u output window c a b n chÆ°a m thĂŹ hĂŁy nh n
F2)
Gi ng nhÆ° action panel, output window cĂł 1 cĂĄi pop-up menu nho nh trĂȘn gĂłc
ph i. B n cĂł th dĂčng nĂł copy, xoĂĄ hay save n i dung c a output window hay cĂł
th tĂŹm ki m ch , v.v. NgoĂ i ra, pop-up menu nĂ y cĂł ph n cho b n ch nh ch "di t
b ", b n cĂł th ch n khĂŽng c n output window in ra cĂĄc l i (none), hay ch in l i
(error), hay ch in c nh bĂĄo (error) vĂ  cu i cĂčng lĂ  in ra chi ti t cĂĄc l i hay c nh bĂĄo
(verbose)
Bi n s c c b vĂ  toĂ n b
trong gi th 3, chĂșng ta cĂł nh c n variable (bi n s ) dĂčng lÆ°u tr thĂŽng tin.
VĂ  s d ng variable trong AS r t d dĂ ng. B n ch c n n nh giĂĄ tr cho variable. VĂ­
d : myVariable = 7. ChĂșng ta t o variable cĂł tĂȘn lĂ  myVariable vĂ  n nh 7 lĂ  giĂĄ tr
cho nĂł. (b n cĂł th t tĂȘn cho variable lĂ  b t c gĂŹ b n muĂŽn)
BĂąy gi b n cĂł th th vi t o n code sau:
ActionScript
var1= 7;
var2= "hello world";
trace ("var1: " + var1+ " /var2: " + var2);
Khi b n ch y th movie thĂŹ output window s cĂł hĂ ng ch sau: var1: 7 /var2: hello
world VĂŹ s 7 vĂ  "hello world" Æ° c ch a trong var1 vĂ  var2 s Æ° c in ra.
Variable cĂł 2 lo i, local vĂ  global. Global variable (bi n s toĂ n b ) thĂŹ b n cĂł th
truy c p giĂĄ tr c a nĂł b t c nÆĄi nĂ o trong movie. T o global variable khĂŽng ĂČi
h i m t b n ph i lĂ m m t cĂĄi gĂŹ c bi t c , b n cĂł th dĂčng nĂł nhÆ° cĂĄch trĂȘn, vĂ 
Flash t ng bi n nĂł thĂ nh global variable. Flash movie dĂčng h th ng level, vĂ 
timeline c a movie chĂ­nh lĂ  root leve (g c), cĂČn cĂĄc movie clip cĆ©ng chĂ­nh lĂ  m t
Flash movie nh trong Flash movie l n. CĂĄc hĂŹnh nh, script trong m t movie clip
lĂ  1 level th p hÆĄn root level.
Local variable (bi n s c c b ), khĂĄc v i global variable, local variable ch cĂł tr
truy c p trong cĂčng m t o n code, hay trong cĂčng m t timeline. Khi dĂčng local
variable thĂŹ khi ra kh i timeline hay o n code Ăł thĂŹ Flash s xoĂĄ local variable ra
kh i b nh . Mu n t o local variable thĂŹ dĂčng t khoĂĄ var trÆ° c tĂȘn c a local
variable, vĂ­ d : var myLocal = "This is local"; B n ch c n dĂčng t khoĂĄ var 1 l n
thĂŽi, nh ng l n dĂčng sau Ăł thĂŹ ch c n dĂčng tĂȘn c a local variable thĂŽi. VĂ­ d o n
code:
ActionScript
var myLocal = 9;
myLocal = 11;
trace(myLocal);
Phép so sånh và cåc phép tính
So sĂĄnh 2 giĂĄ tr trong AS r t ÆĄn gi n, dĂčng cĂĄc kĂœ hi u toĂĄn h c nhÆ° <, >, =
Khi n nh giĂĄ tr thĂŹ dĂčng d u =, vĂ  cho khĂĄc bi t thĂŹ khi so sĂĄnh dĂčng ==. o n
code sau xét coi giå tr c a a có b ng 7 khÎng, và in k t qu ra output window. Và khi
test o n code sau, b n s th y true output window
ActionScript
var a = 7;
trace(a == 7);
N u b n dĂčng l n = v i == thĂŹ s b l i runtime ch Flash s khĂŽng cĂł th tĂŹm Æ° c
l i nĂ y cho b n.
B n cĂł th dĂčng == so sĂĄnh 2 chu i m u t :
ActionScript
var myString = "Hello World.";
trace(myString == "Hello World.");
trace(myString == "hello world.");
Khi b n test o n code trĂȘn thĂŹ b n s cĂł Æ° c "true" vĂ  "false" output window, vĂŹ
l n so sĂĄnh th nh t thĂŹ b ng nhau, nhÆ°ng l n th hai thĂŹ khĂŽng vĂŹ ch H vĂ  h khĂĄc
nhau.
N u b n mu n th coi 2 giĂĄ tr cĂł khĂĄc nhau khĂŽng thĂŹ dĂčng ky hi u !=
ActionScript
var a = 7;
trace(a != 9);
trace(a != 7);
HĂ m trace u tiĂȘn s cho ra "true" vĂŹ 7 khĂĄc 9, vĂ  cĂĄi th hai thĂŹ s cho ra "false"
N u b n mu n th giĂĄ tr coi l n hÆĄn hay nh hÆĄn thĂŹ dĂčng > vĂ  <
ActionScript
var a = 7;
trace(a < 8);
trace(a > 6);
trace(a < 1);
o n code trĂȘn s cho ra "true", "true" vĂ  "false" trong output window vĂŹ "a" qu th t
nh hÆĄn 8 vĂ  l n 6, nhÆ°ng khĂŽng nh hÆĄn 1.
N u b n mu n th giĂĄ tr coi l n hÆĄn hay b ng nhau ho c lĂ  nh hÆĄn hay b ng nhau
thĂŹ dĂčng kĂœ hi u >= vĂ  <=
ActionScript
var a = 7;
trace(a <= 9);
trace(a >= 5);
trace(a >= 7);
o n code trĂȘn s cho ra 3 k t qu "true" c .
B n cĂł th thay i giĂĄ tr c a variable v i cĂĄc phĂ©p tĂ­nh ÆĄn gi n nhÆ° c ng (+), tr (-
), nhĂąn (*), chia (/). VĂ­ d mu n thĂȘm 4 vĂ o giĂĄ tr c a a thĂŹ vi t a = a + 4. AS cĆ©ng cĂł
cĂĄch vi t t t nhÆ° Java, C++ cho vĂŹ d nĂ y, a += 4 N u b n mu n thĂȘm 1 vĂ o a thĂŹ b n
cĂł th vi t nhÆ° 2 cĂĄch trĂȘn a = a +1 vĂ  a += 1 vĂ  cĂČn cĂĄch th 3 a++ . D u ++ ch lĂ m
tăng thĂȘm 1 cho giĂĄ tr Ăł thĂŽi. CĂł 2 cĂĄch dĂčng ++, 1 lĂ  sau variable nhÆ° cĂĄch trĂȘn,
vĂ  1 cĂĄch thĂŹ trÆ° c variable. BĂąy gi thÆ° o n code sau:
ActionScript
var a = 7;
trace(a++);
trace(a);
output window b n s th y 7 r i m i t i 8. dĂČng th 2, hĂ m trace s cho ra giĂĄ tr
c a a trÆ° c r i m i tăng giĂĄ tr c a a lĂȘn thĂȘm 1. BĂąy gi xem vĂ­ d khĂĄc:
ActionScript
var a = 7;
trace(++a);
trace(a);
output window b n s th y 8 vĂ  8. dĂČng th 2 c a vĂ­ d nĂ y, hĂ m trace s tăng
giĂĄ tr c a a trÆ° c r i m i cho ra giĂĄ tr c a a. TÆ°ÆĄng t nhÆ° ++, AS cĆ©ng cĂł cĂĄch vi t
t t cho giãm giå tr c a variable là d u -, -=, =- và --. Phép tính nhùn và chia thÏ ch có
*, *=, /, /= thĂŽi.
i u ki n
Trong AS vĂ  cĂĄc ngĂŽn ng khĂĄc, if ... else chĂ­nh lĂ  cĂĄc t khoĂĄ c a i u ki n. Ti ng
vi t cĂł nghÄ©a lĂ  "n u ... n u khĂŽng". T khoĂĄ if dĂčng k t qu c a s so sĂĄnh nĂ o Ăł
i t i quy t nh kĂ­ch ho t m t o n code. o n code sau s so sĂĄnh giĂĄ tr c a
variable a v i 7, n u Ășng thĂŹ Flash s chÆĄi frame 10
ActionScript
if (a == 7) {
gotoAndPlay(10);
}
T khoĂĄ if luĂŽn b t u cho 1 i u ki n vĂ  ti p theo s lĂ  s so sĂĄnh. LuĂŽn t code so
sĂĄnh gi a ngo c ÆĄn (). T t c cĂĄc code Æ° c kĂ­ch ho t n u i u ki n Æ° c tho
mĂŁn s trong Ăąu ngo c mĂłc {}.
T khoĂĄ else b sung cho if trong trÆ° ng h p b n mu n th c hi n m t o n code n u
i u ki n c a if khĂŽng Æ° c th a mĂŁn. VĂ­ d :
ActionScript
if (a == 7) {
gotoAndPlay(10);
} else {
gotoAndPlay(15);
}
N u trÆ° ng h p c n th a mĂŁn nhi u i u ki n thĂŹ cĂł th dĂčng cĂș phĂĄp if .... else if ...
else. B n cĂł th cĂł bao nhi u cĂĄi else if cĆ©ng Æ° c.
NĂŁy gi ta chi nĂłi t i i u ki n d a trĂȘn 1 s so sĂĄnh, nh ng AS cĆ©ng cho phĂ©p dĂčng
so sĂĄnh a h p (compound comparision). Trong i u ki n c a Flash ta cĂł th dĂčng
nhi u so sĂĄnh i t i m t k t qu chĂ­nh xĂĄc hÆĄn. VĂ­ d n u nhÆ° a l n 10 vĂ  a ph i
nh hÆĄn 15 thĂŹ ra l nh cho Flash chÆĄi frame 10.
ActionScript
if ((a > 10) and (a < 15)) {
gotoAndPlay(10);
}
T khoĂĄ and (cĂČn cĂł th Æ° c vi t lĂ  &&) yĂȘu c u ph i tho mĂŁn i u ki n c a 2
phĂ©p so sĂĄnh. B n cĆ©ng cĂł th dĂčng t khoĂĄ or (cĂČn cĂł th Æ° c vi t lĂ  ||)n u nhÆ° ch
c n tho mãn 1 i u ki n trong 2 phép so sånh thÎi.
ActionScript
if ((a > 10) or (a < 15)) {
gotoAndPlay(10);
}
VĂČng l p
CĂș phĂĄp c a vĂČng l p (loop) thĂŹ hÆĄi r c r i hÆĄn so v i cĂș phĂĄp c a i u kiĂȘn if. nhÆ°ng
nĂł tÆ°ÆĄng t nhÆ° C, C++, Java. G m cĂł 3 lo i vĂČng l p chĂ­nh lĂ  for loop, while loop
vĂ  do-while loop
for loop Æ° c coi lĂ  vĂČng l p chĂ­nh v i t khoĂĄ for vĂ  cĂș phĂĄp c a nĂł nhĂŹn nhÆ° sau:
ActionScript
for(var i=0;i<10;i++) {
trace(i);
}
N u b n cho ch y o n code trĂȘn thĂŹ b n s cĂł Æ° c t s 0 t i 9 output window.
for loop tăng giå tr c a variable i trong su t quå trÏnh th c hi n loop. i u ki n c a
for loop cĂł 3 ph n chĂ­nh, vĂ  Æ° c cĂĄch bi t b i d u ch m ph y ( . u tiĂȘn lĂ  i u
ki n b t u v i vi c t o local variable cho for loop var i=0. ph n nĂ y for loop ch
th c hi n cĂł 1 l n duy nh t lĂșc b t Ăąu. Ph n th hai lĂ  i u ki n chĂ­nh c a for loop
i<10, s Æ° c th c hi n m i vĂČng l p. N u i u ki n nĂ y tho mĂŁn thĂŹ m i ti p t c
vĂČng l p. VĂ  ph n cu i cĂčng lĂ  phĂ©p tĂ­nh cho s ti p n i c a for loop m i vĂČng l p,
Ăąy lĂ  i++ nĂȘn giĂĄ tr c a i s Æ° c tăng sau m i vĂČng l p trÆ° c khi vĂČng l p m i
b t u. 3 ph n nĂ y u Æ° c b vĂ o trong ngo c ÆĄn (). CĂČn nh ng code th c hi n
trong m i vĂČng l p thĂŹ trong ngo c mĂłc {}. BĂąy gi chĂșng ta gi lĂ m computer vĂ 
ch y cĂĄi for loop nĂ y.
1. T o local variable vĂ  n nh giĂĄ tr cho nĂł b ng 0
2. Ki m tra giĂĄ tr c a i cĂł nh hÆĄn 10 khĂŽng, n u nh hÆĄn 10 thĂŹ vĂČng l p th c
hi n cĂĄc code trong {}, cĂČn khĂŽng thĂŹ t i bÆ° c th 5
3. hĂ m trace vi t giĂĄ tr c a i output window
4. c ng 1 vĂ o giĂĄ tr c a i, vĂ  tr v bÆ° c th 1
5. ra kh i for loop
T i bÆ° c th 5 thĂŹ giĂĄ tr c a i s b ng 10
while loop v i t khoĂĄ while cĂł cĂș phĂĄp nhĂŹn tÆ°ÆĄng t nhÆ° sau:
ActionScript
while (a > 0) {
// code th c hi n trong while loop
}
ÆĄn gi n hÆĄn for loop, while loop tÆ°ÆĄng t nhÆ° i u ki n if ÆĄn gi n, th c hi n cĂĄc
code trong vĂČng l p n u i u ki n c a while loop Æ° c thoĂŁ mĂŁn, vĂŹ v y b n d dĂ ng
r i vĂ o trÆ° ng h p vĂČng l p vĂŽ h n, vĂ  d n n tĂŹnh tr ng treo mĂĄy. Trong o n code
trĂȘn, b n ph i lĂ m th nĂ o cho co 1 lĂșc a s nh hay b ng 0 cho vĂČng l p ng ng
l i.
Gi ng nhÆ° while loop, do-while loop cĂł cĂș phĂĄp nhĂŹn nhÆ° sau:
ActionScript
do {
// code th c hi n trong do-while loop
} while (a > 0);
Ch khĂĄc v i while loop lĂ  do-while loop th c hi n code trong vĂČng l p trÆ° c r i m i
ki m tra i u ki n. (while loop ki m tra i u ki n r i m i ch y code trong vĂČng l p)
Mu n phĂĄ ra kh i quĂĄ trĂŹnh t hĂ nh c a 3 lo i loop trĂȘn thĂŹ dĂčng l nh break vĂ 
continue. L nh break s phĂĄ ra kh i loop hoĂ n toĂ n trong khi l nh continue thĂŹ ch
phĂĄ ra kh i vĂČng l p hi n t i vĂ  b t u vĂČng l p m i. T o ra m t vĂ­ d c th r t
ph c t p, nĂȘn chĂșng ta t m khoan bĂ n t i 2 l nh nĂ y cho t i cĂĄc bĂ i sau.
HĂ m
Cho t i bĂąy gi cĂĄc script c a chĂșng ta u Æ° c vi t vĂ o frame u tiĂȘn c a moive,
cĂĄch nĂ y ch t t cho nhÆ°ng chÆ°ÆĄng trĂŹnh ÆĄn gi n, nhÆ°ng n u mĂ  chÆ°ÆĄng trĂŹnh tr
nĂȘn ph c t p thĂŹ Ăąy khĂŽng ph i lĂ  cĂĄch. HĂ m (function) s cho phĂ©p chĂșng ta c u t o
vĂ  qu n lĂœ code d dĂ ng hÆĄn trong cĂĄc chÆ°ÆĄng trĂŹnh ph c t p. DÆ° i Ăąy lĂ  m t
function ÆĄn gi n:
ActionScript
function myFunction(num) {
var newNum = num + 3;
return newNum;
}
Fuction b t u b ng t khoĂĄ function, tĂȘn c a function cĂł th lĂ  b t c ch gĂŹ nhÆ°
cĂĄch b n t tĂȘn cho variable, nhÆ°ng lÆ°u Ăœ cĂĄch t tĂȘn cho fuction lĂ m sao ngÆ° i
ta c tĂȘn cĂł th bi t Æ° c ch c năng c a function. Theo sau tĂȘn c a function s lĂ 
thĂŽng s (parameter, cho ng n mĂŹnh s g i thĂŽng s lĂ  param trong cĂĄc bĂ i vi t nĂ y)
Æ° c trong ngo c ÆĄn (). Function cĂł th co 1
hay nhi u param hay khĂŽng c n param cĆ©ng Æ° c. Param ch ng qua ch la variable
Æ° c dĂčng trong function, nhÆ°ng variable nĂ y Æ° c truy n t ngoĂ i vĂ o khi function
Æ° c g i. o n code Æ° c function th c hi n s n m gi a ngo c mĂłc {}. BĂąy gi
chĂșng ta phĂąn tĂ­ch o n code trĂȘn. Khi function myFunction Æ° c g i, thĂŹ param num
Æ° c truy n vĂ o, sau Ăł function myFunction t o ra m t local variable tĂȘn lĂ 
newNum, vĂ  n nh giĂĄ tr c a newNum b ng giĂĄ tr c a param num c ng v i 3. Sau
Ăł myFunction dĂčng l nh return n nh giĂĄ tr c a newNum lĂ  k t qu c a
myFunction. L nh return lĂ  l nh c bi t ch Æ° c dĂčng trong function mĂ  thĂŽi.
L nh nĂ y s k t thĂșc function.
s dĂčng function nĂ y, dĂčng nĂł nhÆ° m t l nh hay hĂ m c a AS, gi ng nhÆ° lĂ  trace()
v y Ăł. Ăąy lĂ  vĂ­ d : var a= myFunction(7);. TrÆ° c tiĂȘn t o m t local var r i sau n
nh giĂĄ tr c a local var nĂ y b ng k t qu c a myFunction v i param lĂ  7, vĂ  cu i
cĂčng thi local var nĂ y s b ng 10.
M t trong Æ°u i m c a function lĂ  b n cĂł th tĂĄi s d ng. DÆ° i Ăąy lĂ  hĂ ng code
dĂčng chung 1 fuction vĂ  cho 3 k t qu khĂĄc nhau
ActionScript
trace(myFunction(7));
trace(myFunction(13));
trace(myFunction(2));
Khi ch y o n code nĂ y thĂŹ output windown s lĂ  10, 16 vĂ  5. VĂ­ cĂł th tĂĄi s d ng
nĂȘn chĂșng ta ch c n thay i code trong myFunction thĂŹ t t c cĂĄc k t q a cĂł Æ° c
t g i function này cƩng thay i theo luÎn.
Dot Syntax
M t i u b n s th y r t nhi u trong quĂĄ trĂŹnh h c AS lĂ  dot syntax (h ng bi t d ch
sao bĂąy gi ) Dot syntax lĂ  phÆ°ÆĄng phĂĄp Æ° c dĂčng trong l p trĂŹnh theo hÆ° ng i
tÆ° ng (oob: object oriented programming).
Ăąy lĂ  m t vĂ­ d c a dot syntax. N u b n mu n l y căn bĂŹnh phÆ°ÆĄng c a m t s , vĂ 
trong Flash ĂŁ cĂł s n function lĂ m chuy n nĂ y r i, vĂ  hĂ m nĂ y thu c v i tÆ° ng
toĂĄn, tĂȘn lĂ  Math. V y mu n g i function nĂ y thĂŹ trÆ° c tiĂȘn b n ph i g i tĂȘn i tÆ° ng
mĂ  fucntion nĂ y tr c thu c, Ăł lĂ  Math, theo sau Ăł lĂ  d u ch m (dot), vĂ  r i t i tĂȘn
c a function Ăł lĂ  sqrt. CĂĄch vi t nhÆ° sau:
ActionScript
var a = Math.sqrt(4);
M t cĂĄch dĂčng dot syntax khĂĄc lĂ  truy c p c tĂ­nh hay variable c a m t i
tÆ° ng, nhÆ° lĂ  movie clip.
ActionScript
var a = myClip._x;
var a = myClip.myVariable;
ChĂșng ta s c p n i tÆ° ng Math vĂ  MovieClip trong cĂĄc bĂ i t i, cĂČn bĂąy gi
thĂŹ quan tr ng lĂ  b n n m Æ° c khĂĄi ni m v dot syntax.
ChĂș gi i
M t trong c tĂ­nh c n cĂł c a l p trĂŹnh viĂȘn lĂ  vi t code lĂ m sao cho d c vĂ  d
hi u. NhÆ°ng nhi u khi dĂč khi vi t cĂł c g ng cĂĄch m y thĂŹ nh ng o n code Ăł v n
khĂł hi u cho ngÆ° i xem, vĂŹ v y m i c n nh ng l i chĂș gi i. Mu n chĂș gi i trong AS
thĂŹ ch c n dĂčng kĂœ hi u// trÆ° c cĂąu chĂș gi i Ăł. N u chĂș gi i nhi u hÆĄn vĂ i dĂČng thĂŹ
cĂł th dĂčng ki u sau/* ..... chĂș gi i ....*/.
ActionScript
/*
chĂș gi i:
c ng 2 cho a
c ng 2 cho b
*/
a += 2; // add 2 a
// add 2 to b
b += 2;
Debugging
ThÆ° ng thĂŹ th i gian di t b t n g n 1/3 th i gian phĂĄt tri n chÆ°ÆĄng trĂŹnh. N u b n
n m v ng Æ° c "nghĂȘ thu t" di t b thĂŹ b n s rĂșt ng n Æ° c r t nhi u th i gian. CĂł 3
cĂĄch di t b h u hi n lĂ : phĂąn tĂ­ch, vi t message ra output window vĂ  dĂčng AS
debugger.
V i cĂĄc lo i b ÆĄn gi n thĂŹ phĂąn tĂ­ch cĂĄc o n code s giĂșp b n b t trĂșng con b c n
di t. DĂčng output window theo dĂ”i cĂĄc i tÆ° ng, vĂČng l p, i u ki n, vĂ  nh vĂ o
Ăł b n cĂł th bi t Æ° c ch nĂ o trong code cĂł v n , cu i cĂčng lĂ  dĂčng AS debugger
có s n trong Flash. Debugger window cho phép b n có th coi h t t t c moi thành
ph n trong movie c a b n, cho phĂ©p b n dĂčng AS b t ch khi nĂ o vĂ  ch nĂ o b n
mu n. Tham kh o thĂȘm ph n tr giĂșp c a Flash bi t cĂĄch dĂčng debugger.
Gi th 05: i u khi n lu ng movie, Control the flow of the movie
S d ng AScript lĂ  cĂĄch i u khi n movie ÆĄn g n nh t, nhung l i hi u qu nh t.
ChÆ°ÆĄng nĂ y b n s h c cĂĄch :
‱ lĂ m sao d ng Movie trĂȘn frame
‱ Sao nh y t frame này n frame kia
‱ t o nĂșt cho phĂ©p i u khi n movie
‱ t o m t slide show ÆĄn gi n
‱ t o m t bi u di n y ..
D ng movie
Ăąy lĂ  cĂąu l nh stop:
ActionScript
stop();
Khi b n dĂčng cĂąu l nh nĂ y , movie ch t m d ng frame mĂ  b n t cĂąu l nh. CĂĄc
animation bĂȘn trong movieClip vĂ  cĂĄc file h a v n ti p t c ch y trĂȘn frame Ăł.
NhÆ°ng animation c a time line s b d ng.
cho animation c a timeline ti p t c ch y, ta s d ng m t lĂȘnh ÆĄn gi n Ăł lĂ  l nh
play.. ta s bĂ n n nĂł sau.
VĂ­ d
T i frame 1, b n hĂŁy th m t text box vĂ  vi t vĂ o Ăł Ch A
T i frame 2, b n hĂŁy th m t text box vĂ  vi t vĂ o Ăł Ch B
T i frame 3, b n hĂŁy th m t text box vĂ  vi t vĂ o Ăł Ch C
BĂąy gi b n hay t cĂąu l nh stop(); vĂ o Frame 2, b n se th y ch A xu t hi n r t
nhanh r i n ch B, nhÆ°ng ch C s ko th y xu t hi n,, ÆĄn gi n vĂŹ cĂąu l nh stop()
ĂŁ d ng animation c a timeline t i Frame 2.
Nh y t frame nĂ y n frame kia
M t cĂąu l nh cÆĄ b n c a AS lĂ  cĂąu l nh gotoAndPlay. CĂąu l nh nĂ y giĂșp b n cĂł th
nh y t frame nĂ y n frame mĂ  b n mu n. B n cĂł th sÆ° d ng s th t c a frame
hay lĂ  tĂȘn c a frame
ActionScript
gotoAndPlay(7);
gotoAndPlay(20);
gotoAndPlay("my frame label")
b n cĂł th s d ng nhi u movies , hay cĂČn g i lĂ  c nh(scene) . N u CĂąu l nh
gotoAndPlay ch cĂł m t tham s , thĂŹ tham s Ăł lĂ  frame. NhÆ°ng n u cĂł 2 tham s ,thĂŹ
tham s u ti n lĂ  tĂȘn c a scene, cĂČn tham ss th 2 lĂ  s th t c a frame hay tĂȘn
frame.
ActionScript
gotoAndPlay("My Scene","My Frame");
Khi b n dĂčng gotoandPlay,movies s nh y n frame mĂ  b n g i , vĂ  ti p t c ch y,
nhÆ°ng n u b n mu n nĂł nh y n frame vĂ  d ng l i, b n co th s d ng gotoAndStop
. CĂąu l nh nĂ y dĂčng y h t nhÆ° gotoAndPlay, v i l a ch n 1 tham s hay 2 tham s .
NgoĂ i ra cĂł thĂȘm 2 cĂąu l nh cĆ©ng h at ng gi ng gotoAndStop , Ăł lĂ  nextFrame
and prevFrame
hi u rĂ” hÆĄn v cĂĄc cĂąu l nh nĂ y, ta s i ti p ph n sau...
T o nĂșt (button)
NĂșt lĂ  m t trong 3 bi u tÆ° ng (symbol) chĂ­nh trong Flash, 2 cĂĄi kia lĂ  movie cilps vĂ 
hĂŹnh
T o m t button
CĂł nhi u cĂĄch t o nĂșt. M t trong nhÆ°ng cĂĄch Ăł lĂ  ch n Insert, New Symbol t
Menu. M t h p tho i s hi n lĂȘn vĂ  h i b n t tĂȘn vĂ  l a ch n bi u tÆ° ng c a b n lĂ 
lo i Movie clip, button, hay h a. B n hĂŁy ch n Button.
BĂąy gi trong c a s chĂ­nh c a Flash s thay i, timeline c a button s thay th
timeline c a movie chĂ­nh. CĂł 4 frames trong timeLine c a button. ChĂșng cĂł tĂȘn lĂ 
Up, Over, Down, HIt. CHĂșng th hi n 3 tr ng thĂĄi c a button, vĂ  vĂčng h at ng c a
button.
N u b n t m t h a, ch ng h n lĂ  m t vĂČng trĂČn, trong frame u tiĂȘn(UP) vĂ  ko
cĂł gĂŹ trong 3 frame sau, tr ng thĂĄi Over vĂ  Down c a button s gi ng nhÆ° tr ng thĂĄi
c a Up. VÙng ho t ng c a button cĆ©ng tÆ°ÆĄng t nhÆ° v y.
M t khác , b n có th t o các hi u ng khác nhau cho button c a b n. VÍ d n u b n
i m u c a vĂČng trĂČn lĂ  mĂ u xanh Frame OVER,cĂł nghÄ©a lĂ  khi b n Æ°a chu t qua
button, button s chuy n sang mĂ u xanh.
Khi b n t o xong 1 button, b n tr lai movie timeline chĂ­nh. VĂ  button c a b n ĂŁ s n
sĂ ng trong thÆ° vi n c a FLash. B n ch viĂȘc b m F11, tĂŹm button c a b n vĂ  kĂ©o th
nĂł vĂ o nÆĄi nĂ o b n c n trĂȘn c a s thi t k .
T o script cho button
t script cho button, u tiĂȘn hĂŁy ch m m t button. Sau Ăł vĂ o c a s Action
b ng cĂĄch b m chu t ph i lĂȘn button vĂ  ch n Action t menu xu t hi n.
HĂŁy Ch c ch n r ng c a s Action ĂŁ Æ° c t ch Expert. B n cĂł th ki m tra
băng m t popup menu gĂłc trĂȘn cĂčng bĂȘn ph i c a c a s .
Ăąy lĂ  m t o n mĂŁ thĂŽng thÆ° ng cho button. B n cĂł th t nĂł trong c a s mĂŁ vĂ 
sau Ăł ki m tra movie xem nĂł h at ng th nĂ o.
ActionScript
on (release) {
trace("You clicked the button!")
}
on : lĂ  m t keyword, Æ° c g i ra x lĂ­ m t s ki n
Release : LĂ  m t s ki n, khi ngÆ° i s d ng click vĂ o button vĂ  nh chu t ra. o n
mĂŁ trace s Æ° c th c thi.
NgoĂ i ra Release cĂł th thay th b ng s ki n PRESS, s ki n nĂ y ch khĂĄc Release
ch khi ngÆ° i s d ng b m vĂ o button, o n mĂŁ trace s Æ°ÆĄc th c thi mĂ  ko c n ph i
th chu t ra.
Trace : lĂ  in ra mĂ n hĂŹnh dĂČng ch YOU CLICKED THE BUTTON.
Th c HĂ nh: T o m t Slide Show ÆĄn gi n...
CĂł l ko ph i di n t nhi u v Slide Show, cĂĄc b n hĂŁy tÆ° ng tÆ° ng giĂŽng Power
Point.. Khi chĂșng ta b m chu t, cĂĄc slide s chuy n sang slide khĂĄc.
1. M Flash, ch n New
2. Trong Layer 1, t Frame 1 n Frame 4, b n hĂŁy ăt cĂĄc bi u tÆ° ng hay hĂŹnh nh,
text khĂĄc nhau phĂąn bi t Æ° c cĂĄc frame
3. Sau Ăł b n t o m t layer m i, hĂŁy t m t button lĂȘn layer nĂ y.Ti p theo b n ch n
Frame 4 c a layer 2, vĂ  b m F6. i u nĂ y m b o cho button c a b n s xu t hi n
trong t t c cĂĄc Frame c a Layer 1.
BĂąy gi copy o n mĂŁ sau vĂ o button c a b n, chĂș Ăœ nh lĂ  copy vĂ o action c a
button, ch ko ph i vĂ o b t kĂŹ frame nĂ o
ActionScript
on (release) {
nextFrame();
}
Cu i cĂčng ch n Frame 1 Layer 1 action vĂ  chĂšn o n code sau
ActionScript
stop();
HĂŁy ch y th slide show c a b n = cĂĄch b m Ctrl Enter.
5) XĂąy d ng m t presentation ÆĄn gi n:
Presentation nĂ y s d ng nguyĂȘn t c giĂŽng h t nhÆ° vĂ­ d Slide show trĂȘn, cĂĄc b n
hay down load file FLA xem .. easy
Gi th 06: i u khi n movie clip, Controlling Movie Clips
6th Hour i u khi n movie clip
B n s h c
1- ra l nh cho movie clip
2-T o playback cho animation
3-TÌm hi u ích(target) c a movie clip
4-T p vi t code cho movie clip
5-T o movie clip cĂł th ch y lĂči l i.
1) Ra l nh cho movie clip :
M t movie chĂ­nh cĂł th r t ÆĄn gi n. NÓ ch c n 1 frame vĂ  m t movie clip. NhÆ°ng
b n thĂąn movie clip l i cĂł th lĂ  m t animation dĂ i. Vi c nĂ y d dĂ ng th c hi n mĂ  ko
c n Actioncript.
i u khi n Æ° c movie, b n ph i t tĂȘn cho movie clip. ChĂș Ăœ r ng m t movies
clip cĂł 2 tĂȘn, m t tĂȘn s d ng cho timeline . M t tĂȘn s d ng cho actioncript. 2 tĂȘn
nĂ y cĂł th t trĂčng tĂȘn nhau ho c khĂĄc tĂȘn nhau.
LĂ m sao t tĂȘn cho movie clip :
Ch n insert -----> New Symbol (ho c b m Ctrl F8), t tĂȘn cho movies clip
(nh l a ch n option movies clip, ch ko ph i lĂ  button hay graphic)
TĂȘn nĂ y Æ° c s d ng cho timeline. vd: gear animation
Th movie gear animation vĂ o c a s thi t k .. PHĂ­a dÆ° i c a s properties, ban s
th y box instance name.. t tĂȘn cho movie
tĂȘn nĂ y Æ° c s d ng cho Action script , vd : gears
vĂ  nhÆ° v y, khi b n l p trĂŹnh , tĂȘn s d ng lĂ  gears , ch ko ph i gear animation.
b n cĂł th s d ng d u ch m Æ°a ra cĂĄc lĂȘnh cho movie c a b n. vĂ­ d
ActionScript
gears.stop();
gears.gotoAndStop(5);
Nh r ng movie clip luĂŽn cĂł level. N u o n mĂŁ Æ° c t trĂȘn chĂ­nh movieclip, b n
ko c n s d ng tĂȘn movies, ch c n gotoAndStop();. N u b n t c tĂȘn movie vĂ o,
Flash s tĂŹm movie c a b n t timeline chĂ­nh.. T c lĂ  s ph i qua 2 level. ---> ch m
hÆĄn chĂșt.
2)Animation Playback Controller
HĂŁy down load source code t trĂȘn ph n download vĂ  xem. V cÆĄ b n, chĂșng ta lĂ m
cĂĄc vi c sau:
- T o m t Movie , t tĂȘn lĂ  gear animation
- t instance name lĂ  gear(hÆ° ng d n trĂȘn)
- Frame u tiĂȘn c a time line chĂ­nh, chĂšn code
ActionScript
gears.stop();
-T o cĂĄc button Advance, Previous, Play, Stop, and Rewind
-Code cho cĂĄc button l n lÆ° t lĂ 
Advance
ActionScript
on (release) {
gears.nextFrame();
}
Previous
ActionScript
on (release) {
gears.prevFrame();
}
Play
ActionScript
on (release) {
gears.play();
}
Stop
ActionScript
on (release) {
gears.stop();
}
Rewind
ActionScript
on (release) {
gears.gotoAndStop (1);
}
3) Target m t movie
Level cÆĄ b n u tiĂȘn c a Flash lĂ  time line chĂ­nh(Level 0). N u b n mu n ra l nh
cho time line nĂ y, b n dĂčng code sau
_root.gotoAndStop();
th m chĂ­ n u b n t code time line chĂ­nh, b n ko c n _root. Ch c n
gotoAndStop();
Gi s n u b n cĂł m t movie trĂȘn time line, t c lĂ  b n cĂł m t level sĂąu hÆĄn(level 1).
N u b n t time line chĂ­nh, mu n goi movie gears , b n ph i dĂčng cĂąu l nh
gears.gotoAndStop(7);
_root["gears"].gotoAndStop(7);
this["gears"].gotoAndStop(7);
C 3 cĂĄch trĂȘn u gi ng nhau.. Tuy nhiĂȘn this cĂł nghÄ©a lĂ  level hi n hĂ nh. VÍ d trĂȘn,
level hi n hĂ nh c a this lĂ  level 0. NhÆ°ng n u code t trong movie, level hi n hĂ nh
s lĂ  level 1. B n ph i chĂș Ăœ.
Gi s b n cĂł m t movie khĂĄc bĂȘn trong movie, t c lĂ  b n cĂł level 2. N u b n mu n
t level 1 g i n level 2, b n ph i dĂčng _parent.
Parent dĂčng gi ng nhÆ° root, nhÆ°ng khĂĄc ch , nĂł Æ° c g i t level trĂȘn. CĂČn root
Æ° c g i t level 0 (t c lĂ  level g c).
Thu n l i t vi c s d ng root, this lĂ  b n cĂł th gĂĄn bi n cho movie clips
ActionScript
var whichClipToUse = "gears";
this[whichClipToUse].stop();
Thu n l i c a v c s d ng this nhi u hÆĄn root ch , ko ph i lĂșc nĂ o m i th cĆ©ng
x y ra time line chĂ­nh, ĂŽi khi ta ch mu n nĂł x y ra m t level nh t nh. B i v y
this lĂ  cĂĄch t t nh t goi level c a m t movie. Tuy nhiĂȘn trong nh ng trÆ°ÆĄng h p
ÆĄn gi n, hay nh t lĂ  c t tĂȘn cho movies.
4) MĂŁ cho movie clip
ChĂșng ta ĂŁ bĂ n v button trĂȘn, v y v cÆĄ b n movie clip script cĆ©ng gi ng button,
Ăł lĂ 
ActionScript
onClipEvent (load) {
trace("This clip has been loaded.");
}
onClipEvent : key word g i s ki n (gi ng on c a button)
load : s ki n nĂ y x y ra khi movie clip xu t hi n l n u tiĂȘn trĂȘn mĂ n hĂŹnh . NÓ ch
x y ra m t l n.
Nh r ng ngay c khi time line chĂ­nh b ng, movie clip n m trĂȘn time line v n ti p
t c ch y. S kiĂȘn enterFrame x y ra liĂȘn t c bĂȘn trong movie clip m i khi n m t
frame m i. S ki n nĂ y s th c thi o n mĂŁ m t cĂĄch liĂȘn t c cho n khi nĂł b k t
thĂșc.
ActionScript
onClipEvent (enterFrame) {
trace("This clip has entered a new frame.");
}
bĂąy gi hĂŁy copy 2 o n code trĂȘn vĂ o c a s action c a timeline chĂ­nh vĂ  run .. b n
s th y
ActionScript
This clip has been loaded
This clip has entered a new frame
This clip has entered a new frame
This clip has entered a new frame
This clip has entered a new frame
dĂČng ch s ti p t c hi n ra cho n khi b n t t movie.
Gi th 07: d ch chuy n vĂ  thay i movie, Moving and Changing Movie Clips
M t movie clip (MC) bao gi cƩng có cåc thu c tính, cho phép b n xåc nh v trí,
phĂłng to thu nh , quay, th m chĂ­ lĂ m nĂł bi n m t.
ChÆ°ÆĄng nĂ y cĂĄc b n s bi t cĂĄch:
-thay i v trĂ­ c a mc
-xĂĄc inh v trĂ­ chu t
-lĂ m sao quay m t mc
-lĂ m sao phĂłng to mc
-lĂ m sao movie invisible
1) V trĂ­ c a MC:
M i th trong Flash u cĂł v trĂ­. V trĂ­ nĂ y Æ° c o b ng PIXEL. GĂłc trĂȘn cĂčng bĂȘn
trĂĄi c a mĂ n hĂŹnh lĂ  v trĂ­ (0,0) .NĂł lĂ  v trĂ­ giao c a hĂ ng ngang vĂ  c t d c.
N u b n s d ng m t movie m c nh, thĂŹ gĂłc dÆ° i bĂȘn ph i s lĂ  550,400. CĂł nghia
lĂ  550 pixel t bĂȘn trĂĄi sang vĂ  400 pixel t bĂȘn trĂȘn xu ng.
nhĂŹn hĂŹnh sau rĂ” hÆĄn.
2) V trĂ­ c a Mouse:
CĆ©ng nhÆ° movie, mouse cĆ©ng cĂł th xĂĄc inh Æ° c t a .. CHĂș Ăœ thu t ng mouse
Ăąy lĂ  nĂłi n con tr (cursor), ch khĂŽng ph i con chu t b n ang c m trĂȘn tay.. ^^
CĂł hai thu c tĂ­nh cÆĄ b n c a con tr , Ăł lĂ  _xmouse vĂ  _ymouse.
V y _xmouse vĂ  _ymouse lĂ  thu c tĂ­nh c a chĂ­nh i tÆ° ng mĂ  chĂșng Æ° c gĂĄn. N u
b n s d ng trĂȘn time line chĂ­nh, thĂŹ chĂșng lĂ  thu c tĂ­nh c a time line. N u b n s
d ng chĂșng trĂȘn movie clip, thĂŹ nĂł lĂ  thu c tĂ­nh c a movie clip. N u xmous y mouse
lĂ  thu c tĂ­nh c a time line chĂ­nh, nĂł s m c nh lĂ  gĂłc trĂĄi trĂȘn cĂčng. N u xmouse
ymouse lĂ  thu cc tĂ­nh c a 1 movie clip, nĂł s m c nh trung tĂąm c a MC.
H u h t cĂĄc trÆ° ng h p thu c tĂ­nh liĂȘn quan n movie chĂ­nh, b n nĂȘn dĂčng cĂĄch
_root._xmouse vĂ  _root._ymouse
Ăąy lĂ  m t o n code vĂ­ du
CODE
onClipEvent (enterFrame) {
trace(_root._xmouse);
trace(_root._ymouse);
trace("");
}
Khi b n ch y movie, b n s th y cĂĄc c p s Æ° c in ra, Ăł chĂ­nh lĂ  t a x,y mouse
.HĂŁy d ch chuy n mouse lĂȘn gĂłc trĂĄi trĂȘn, b n s th y Ăł v trĂ­ mouse lĂ  0.0. ho c
gĂłc ph i dÆ° i, t a lĂ  550 400.
ChĂș Ăœ: khi b n Æ°a chu t ra ngoĂ i Flash window, t a chuĂŽt xmouse y mouse
khĂŽng thay i. N u b n di chuy n chu t th t nhanh t trung tĂąm c a c a s ra ngoĂ i
c a s , cĂĄc giĂĄ tr cĆ© v n Ăł cho n khi b n quay tr l i c a s . VÌ v y, b n ph i
luĂŽn lĂȘn k ho c c n th n trÆ° c khi dĂčng xmouse, y mouse
3) LĂ m movie quay
M t thu c tĂ­nh khac Ăł lĂ  thu c tĂ­nh _rotation
Thu c tĂ­nh rotation ch p nh n giĂĄ tr lĂ  gĂłc . M t vĂČng trĂČn chia ra 360 , mi n
giĂĄ tr c thu c tĂ­nh rotation lĂ  -180 vĂ  180. B n cĂł th s d ng giĂĄ tr integer ho c
floating point.
GiĂĄ tr c a _rotation luĂŽn luĂŽn trong vĂČng -180 vĂ  180, vĂ­ d 179, ho c -179. NhÆ°ng
n u b n t nĂł lĂ  181, nĂł s hi u thĂ nh gĂłc -179.
v y quay m t movie, ÆĄn gi n lĂ  t giĂĄ tr cho nĂł, b n cĆ©ng cĂł th s d ng cĂĄc
bi u toĂĄn ++, += thay i giĂĄ tr . HĂŁy xem vĂ­ d sau
CODE
myClip._rotation = 90;
myClip._rotation++;
_root["myClip"]._rotation = 45;
this._rotation += 0.5;
4) Co giĂŁn Ă n h i m t MC:
B n cĂł th lĂ m co giĂŁn, thay i chi u dĂ i chi u r ng c a movie clip
Scale thu c tĂ­nh
THu c tĂ­nh lĂ m vi c nĂ y lĂ  _xscale cho chi u ngang vĂ  _yscale cho chi u d c.
CĂĄc giĂĄ tr Æ° c gĂĄn cho x,y scale lĂ  ph n trăm. CĂł nghÄ©a giĂĄ tr 100 lĂ  100 ph n trăm
, Ăąy lĂ  thu c tĂ­nh m c inh cho m t movie clip g c. B n cĂł th s d ng cĂĄc s nh
hÆĄn nhÆ° 50 lĂ m movie co l i. Ho c cĂł th s d ng s to hÆĄn, 200 giĂŁn movie ra.
Th m cĂł th dĂčng cĂĄc giĂĄ tr Ăąm l t movie.
vĂ­ d 07mousesclae.fla ch a m t o n mĂŁ mĂ  chĂșgn ta s g p r t nhi u sau nĂ y. NĂł
ki m tra t a c a mouse,. Sau Ăł xĂĄc inh t mouse n trung tĂąm movie xa bao
nhiĂȘu. R i nĂł s d ng kho ng cĂĄch ,c chi u cao chi u r ng tĂ­nh ph n trăm t l
cho movie clip.
CODE
onClipEvent (load) {
// get the original width and height of the mc
origWidth = this._width;
origHeight = this._height;
}
onClipEvent (enterFrame) {
// get the distance from the center of the mc to the mouse
dx = _root._xmouse-this._x;
dy = _root._ymouse-this._y;
// calculate the percentage of scale
sx = 100*dx/(origWidth/2);
sy = 100*dy/(origHeight/2);
// set the scale of the mc
this._xscale = sx;
this._yscale = sy;
}
ChĂș Ăœ Ăąy ta s d ng 2 thu c tĂ­nh m i, _width vĂ  _height tr v chi u cao vĂ  chi u
r ng c a movie clip b ng Pixel. CHĂșng Æ° c lÆ°u giĂș trong onClipEvent (load) vĂŹ
khi ta c n l y l i giĂĄ tr g c c a movie.
Thu c tĂ­nh _width, _height
S khĂĄc nhau gi a scale vĂ  width,height Ă­ scale s d ng giĂĄ tr ph n trăm. CĂČn width
height s d ng pixel . Movie cĂł th cĂł giĂĄ tr sau: width 75, height 45, nhÆ°ng scale
cho c xscale and yscale là 100 ph n trăm.
DÆ° i Ăąy lĂ  m t vĂ­ d s d ng width height th y th cho xscale, yscale.
CODE
onClipEvent (enterFrame) {
// get the distance from the center of the mc to the mouse
dx = _root._xmouse-this._x;
dy = _root._ymouse-this._y;
// set the scale of the mc
this._width = dx*2;
this._height = dy*2;
}
b n cĂł th th y code nĂ y ng n g n hÆĄn ÆĄ trĂȘn. b i vĂŹ nĂł ko s d ng s kiĂȘn
onClipEvent(load) b i gĂĄi tr chi u dĂ i chi u cao c a movie g c ko c n lÆ°u tr . Ăąy lĂ 
m t vĂ­ d cho th y s d ng width vĂ  height ti n hÆĄn d ng xscale ,y scale.
5) Visibility
M t thu c tĂ­nh khĂĄc c a MC lĂ  thu c tĂ­nh _visible , giĂĄ tr c a thu c tĂ­nh nĂ y lĂ  giĂĄ tr
boolean true , false.
CODE
myClip._visible = false;
hĂŁy xem vĂ­ d 07visible.fla rĂ” hÆĄn.
Gi s ta khĂŽng mu n movie bi n m t h n, mĂ  ch b m i, ta s d ng thu c tĂ­nh
_alpha . Thu c tĂ­nh cĂł giĂĄ tr t 0 n 100
CODE
myClip._alpha = 50;
Thu c tĂ­nh alpha lĂ  kĂȘnh mĂ u th 4, tĂȘn lĂ  alpha channel . 3 kĂȘnh u tiĂȘn lĂ  red
,green, blue t o ra 7 màu c u v ng. Khi b n nghe n h a 32 bit, có nghĩa là
nĂł 4 kĂȘnh mĂ u.. CĂČn 24 bit cĂł nghÄ©a ch c 3 kĂȘnh u tiĂȘn.
N u giĂĄ tr c a _visible lĂ  0 thĂŹ movie lĂ  trong su t hoĂ n tĂČan vĂ  cĂł th nhĂŹn th y t t
c m i th phĂ­a sau movie.
NhĂŹn hĂŹnh sau xem cĂčng 1 movieclip nhÆ°ng v i 3 giĂĄ tr alpha khĂĄc nhau, 10, 50
vĂ  100 (t trĂĄi sang)
Gi th 08: ch n, kéo th movie clip, Moving and Changing Movie Clips
1. Selection
B n ĂŁ bi t cĂĄch h c sao t o m t button vĂ  cho phĂ©p ngÆ° i s d ng click vĂ o lĂ m
s ki n ho t ng. Tuy nhiĂȘn Ăąy ta s h c cĂĄch click vĂ o ch n l a m t i
tÆ° ng trĂȘn mĂ n hĂŹnh.
T o m t ch n l a, cĂł nghÄ©a lĂ  user click vĂ o item , nhÆ°ng khĂŽng cĂł gĂŹ x y ra. NhÆ°
v y, ngÆ° i dĂčng cĂł th l a ch n vĂ  thay i l a ch n.
ChĂșng ta s s d ng l a ch n nhÆ° bÆ° c u tiĂȘn h c kĂ©o th movie.
Button bĂȘn trong m t Movie method.
M t movie khĂŽng th ph n ng v i mouse click. KhĂŽng th s d ng cĂĄc s ki n nhÆ°
on (release) hay (Press). vĂŹ v y ta ph i tĂŹm cĂĄch ĂĄnh l a nĂł. Ăł lĂ  s d ng m t
button bĂȘn trong movie. Button cĂł th x lĂœ Æ° c mouse click, vĂ  mi n lĂ  nĂł cĂł
l n bao trĂčm m t movie.
HĂŁy xem vĂ­ d 08buttoninmc.fla . Ta ch nhĂŹn th y m t movie clip trĂȘn mĂ n
hĂŹnh.nhÆ°ng th c ch t bĂȘn trong c a movie clip lĂ  m t button.
t o ra kh năng select, ta ph i t o nhi u frame.Frame u tiĂȘn ch a m t button tĂȘn
lĂ  offbutton. Button nĂ y cĂł mĂŁ lĂ 
CODE
on (release) {
this.gotoAndStop(2);
}
b ng this, button s g i n movie clip mĂ  nĂł n m trĂȘn y. Frame th 2 ch a nĂșt
tÆ°ÆĄng t nhu frame 1 , tĂȘn lĂ  onbutton, nĂșt nĂ y cĂł m u hÆĄi sĂĄng hÆĄn ngÆ° i dĂčng
nh n ra khi nĂł Æ° c ch n.
CODE
on (release) {
this.gotoAndStop(1);
}
cu i cĂčng t vĂ o frame 1
CODE
stop();
BĂąy gi hĂŁy ch y xem.
PhÆ°ÆĄng th c hitTest
CĂł cĂĄch khĂĄc lĂ m movie cĂł th s lĂœ mouse click mĂ  khĂŽng c n button, Ăł lĂ  s
d ng s ki n onClipEvent(mouseDown) ho c lĂ  onClipEvent(mouseUp)vĂ­ d
CODE
onClipEvent (mouseUp) {
this.gotoAndStop(2);
}
HĂŁy ch y vĂ­ d 08twomcs1.fla xem.B n s th y t i sao onClipEvent(mouseUp)
khĂĄc v i on (Release) . N u b n click vĂ o movie, c hai u ph n ng.B i vĂŹ t t c
movie clip nh n s ki n mouse up Æ° c g i n cho chĂșng.
Quy t inh movie nĂ o Æ° c click.
CĂł m t cĂĄch click vĂ o movie mĂŹnh mu n. Ăł lĂ  s d ng v trĂ­ chu t xĂĄc nh.
S a o n mĂŁ thĂ nh nhÆ° sau
CODE
onClipEvent (mouseUp) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
this.gotoAndStop(2);
}
}
v y b ng cĂĄch rĂ ng bu c movie clip v i mouse location , ta cĂł th click movie ta
mu n.
VI t mĂŁ cho selection:
ChĂșng ta ph i cho phĂ©p User click lĂȘn movies nhi u l n vĂ  thay i tr ng thĂĄi c a MC
t b t sang t t, hay t t sang b t.
o n mĂŁ sau cĂł th xĂĄc nh movie ang tr ng thĂĄi nĂ o vĂ  g i nĂł n frame khĂĄc.
VI c nĂ y th c hi n b ng thu c tĂ­nh _currentFrame . Thu c tĂ­nh nĂ y s c giĂĄ tr 1
kh nĂł frame th nh t, giĂĄ tr 2 khi nĂł frame th 2.
CODE
onClipEvent (mouseUp) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
if (this._currentFrame == 1) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
}
BĂąy gi b n ĂŁ th y cĂĄc cĂĄch t o s ch n l a movie. CĂĄch thÆ° nh t ti n l i n u b n
mu n dĂčng c cĂĄc trang thĂĄi khĂĄc nhÆ° Over,up , down.. CĂĄch th hai thĂŹ khĂŽng c n
nhi u bi u tÆ° ng trong thÆ° vi n.
Enjoy..
2) KĂ©o m t movie clip
Bùy gi ta s h c kéo m t movie.
Có 2 cåch kéo movie, cåch th nh t là s d ng l nh . Cåch này r t d s d ng
nhÆ°ng nĂł khĂŽng cho b n nhi u l a ch n trong vi c s a i vĂ  giĂĄm sĂĄt movie.
CĂĄch Drag cÆĄ b n:
2 cĂąu l nh drag co b n lĂ  :startDrag vĂ  stopDrag. b n dĂčng startDrag khi b n mu n
movie c a b n i theo chu t, cĂČn stopDrag khi b n mu n movie c a b n khĂŽng theo
chu t n a. Ăąy lĂ  o n code cÆĄ b n :
CODE
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
this.startDrag();
}
}
onClipEvent (mouseUp) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
this.stopDrag();
}
}
S ki n onClipEvent nhĂŹn tÆ°ÆĄng t nhÆ° ta ĂŁ lĂ m trĂȘn. ChĂșng s d ng hitTest
nh n bi t movie nĂ o ang Æ° c click. VĂ  sau Ăł cĂąu l nh startDrag vĂ  stopDrag Æ° c
s d ng. Khi chu t Æ° c b m xu ng, cĂąu l nh startDrag th c thi. VĂ  ngÆ° c l i, khi
chu t th ra, stopDrag th c thi.
Hãy xem movie, b n s th y v i cåc cùu l nh drag, b n có th kéo cåc movie m t
cĂĄch c l p. NhÆ°ng chĂș Ăœ r ng b n khĂŽng th kĂ©o 2 movie cĂčng m t lĂșc. Ch m t
movie Æ° c kĂ©o t i m t th i i m. VĂŹ v y b n nĂȘn c n cĂĄch drag ph c t p vĂ  linh
ng hÆĄn lĂ m ng d ng hay game.
Note: startDrag cĂł 5 thĂĄm s . Tham s th nh t lĂ  giĂĄ tr True(ho c False) quy t
nh vi c trung tĂąm c a movie clip cĂł khĂła v i v trĂ­ chu t hay khĂŽng. CĂĄc tham s
cĂČn l i lĂ  left, top, right, bottom. N u b n t chĂșng, movie c a b n ch cĂł th Æ° c
kéo theo cåc ràng bu c ó.
KĂ©o nĂąng cao
BĂąy gi ta h c cĂĄch kĂ©o movie mĂ  ko dĂčng cĂąu l nh startDrag vĂ  stopDrag. V y lĂ m
th nĂ o??
B n c n cĂł 4 ph n mĂŁ sau trong movie c a b n:
Th nh t lĂ  s ki n onClipEvent(load), s ki n nĂ y s t cho bi n global tĂȘn lĂ 
dragging giĂĄ tr false. Khi bi n nĂ y true, t c lĂ  bĂĄo hi u r ng movie cĂł th Æ° c kĂ©o.
Th hai, ngÆ°ĂČi dĂčng click vĂ o m t movie. CĂł nghÄ©a lĂ  dragging = true .
Th ba, quå trÏnh kéo s ti p t c di n ra b i s ki n onClipEvent(enterFrame). S
ki n nĂ y ch ÆĄn gi n gĂĄn _x vĂ  _y (thu c tĂ­nh c a movie clip) cho _root._xmouse vĂ 
_root._ymouse(thu c tĂ­nh c a con tr ).
Th 4, n u ngÆ°ĂČi dĂčng th chu t , thĂŹ bi n dragging Æ° c gĂĄn false.
Sau Ăąy lĂ  o n code y
CODE
onClipEvent (load) {
// start out not dragging
dragging = false;
}
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
// follow the mouse from now on
dragging = true;
}
}
onClipEvent (enterFrame) {
if (dragging) {
// set to location of the mouse
this._x = _root._xmouse;
this._y = _root._ymouse;
}
}
onClipEvent (mouseUp) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
// don't follow the mouse any longer
dragging = false;
}
}
Trong vĂ­ d 08complexdrag.fla ch a 2 MC. Ki m tra movie, nhÆ°ng ch s d ng MC
bĂȘn trĂĄi. Ăąy lĂ  MC lĂ m theo o n code trĂȘn. ChĂș Ăœ xem trung tĂąm movie ÆĄc khĂła
v i v trĂ­ chu t nhÆ° th nĂ o. NĂł lĂ m movie nh y ngay l p t c n u b n click vĂ o nĂł.
ThĂŽng thÆ° ng, khi b n mu n kĂ©o MC Ăł lĂȘn mĂ n hĂŹnh, b n khĂŽng mu n nĂł nh y t i
làm kh p v trí chu t v i trung tùm c a MC. Hãy kéo file xung quanh màn
hĂŹnh.B n s th y khi b n click chu t vĂ o b t kĂŹ i m nĂ o trĂȘn movie, movie s l p t c
lĂ m kh p v trĂ­ click chu t v i trung tĂąm movie. i u nĂ y cĆ©ng tÆ°ÆĄng t v i cĂąu l nh
startDrag .
trĂĄnh i u nĂ y, chĂșng ta ch c n thĂȘm m t o n code nh . Khi ngÆ°ĂČi s d ng b m
chu t, chĂșng ta s l y offset, Ăąy lĂ  kho ng cĂĄch t chu t cho n trung tĂąm c a
movie. Sau Ăł, thay th b ng vi c gĂĄn v trĂ­ chu t n trung tĂąm movie, ta se thĂȘm
vĂ o offset cho MC luĂŽn luĂŽn xu t hi n offset b i cĂčng m t giĂĄ tr khi ngÆ° i dĂčng
kéo.
TÆ° ng tÆ° ng , vĂ­ d ngÆ°ĂČi dĂčng click vĂ o m t i m cĂĄch trung tĂąm movie 5 pixel.
Sau Ăł ta luĂŽn mu n kho ng cĂĄch 5 pixel Ăł Æ° c duy trĂŹ. i u nĂ y lĂ m cho ngÆ° i
dĂčng cĂł th click vĂ o b t c i m nĂ o kĂ©o movie.
Ăąy lĂ  code cho movie 2(bĂȘn ph i)
CODE
onClipEvent (load) {
// start out not dragging
dragging = false;
}
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
// follow the mouse from now on
dragging = true;
// get the mouse offset
xOffset = this._x - _root._xmouse;
yOffset = this._y - _root._ymouse;
}
}
onClipEvent (enterFrame) {
if (dragging) {
// set to location of the mouse
this._x = _root._xmouse + xOffset;
this._y = _root._ymouse + yOffset;
}
}
onClipEvent (mouseUp) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
// don't follow the mouse any longer
dragging = false;
}
}
HĂŁy xem movie th y khĂĄc bi t gi a 2 o n code.
3) KĂ©o vĂ  th
Bùy gi ta ã bi t kéo movie, v y ta s th nó ùu.?
V n lĂ  b n mu n theo dĂ”i hĂ nh ng c a ngÆ° i s d ng vĂ  xĂĄc inh ngÆ° i s dung
t movie Ăąu.
Basic Drop Zone
Ch c năng hitTest cĂł th Æ° c s d ng xĂĄc nh khi MC b Ăš lĂȘn nhau. Trong
o n mĂŁ sau, chĂșgn ta s d ng l nh startDrag o n mĂŁ kĂ©o th ÆĄn gi n i, nh Ăł
ta có th t p trung vào cåc ch c năng m i.
Trong o n mĂŁ sau, ch c năng hitTest Æ° c s d ng so sĂĄnh MC Æ° c kĂ©o v i m t
movie khĂĄc tĂȘn lĂ  dragZone trĂȘn m t lĂȘvl(root level)
CODE
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
this.startDrag();
}
}
onClipEvent (mouseUp) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
this.stopDrag();
// see if this mc is inside the dropZone mc
if (this.hitTest(_parent.dropZone)) {
trace("Dropped in zone");
} else {
trace("Dropped outside zone");
}
}
}
ChĂș Ăœ hitTest khĂŽng Æ° c s d ng nhÆ° cĂĄc bĂ i trÆ° c, chĂșng ta thay th v trĂ­ _x vĂ  _y
b i m t movie khĂĄc.
Lo i hitTest nĂ y so sĂĄnh v trĂ­ vĂ  vĂčng Æ° c bao ph c a 2 movie clip. Trong trÆ° ng
h p nĂ y, nĂł Æ° c so sĂĄnh v i _parent.dropZone. N u cĂł 2 movie Ăš lĂȘn nhau, hitTest
tr giĂĄ tr True. xĂĄc inh xem MC nĂ o ang t n t i, hĂŹnh ch nh t c a c 2 movie
u Æ° c s d ng. i u nĂ y cĂł nghÄ©a lĂ  khi b n s d ng 2 hĂŹnh trĂČng, nhÆ° trong vĂ­
d , b n thĂąn chĂ­nh cĂĄc vĂČng trĂČn Ăł khĂŽng Æ° c ch m vĂ o mi n lĂ  cĂĄc hĂŹnh ch nh t
c a 2 movie Æ° c dĂčng.
HĂŁy xem hĂŹnh minh h a. T t c cĂĄc movie Dragme u n m Ăš trĂȘn DropZone.
CĂł 2 cĂĄch s d ng hitTest. Th nh t lĂ  s d ng t a x,y. ChĂșng ta cĂł th s d ng
movie clip nhÆ° v trĂ­ x,y, r i sau Ăł s d ng dropzone nhÆ° m t movie clip th nh t.
CODE
if (_parent.dropZone.hitTest(this._x,this._y)) {
V i o n code nĂ y, thay th vĂ­ d trĂȘn, movie clip s n m bĂȘn trong hĂŹnh ch nh t
c a vĂčng dropzone.
ChĂșng ta cĂł th thĂȘm m t bÆ° c n a v i hittest. B ng cĂĄch thĂȘm tham s th 3 cho
hitTest, chĂșng ta cĂł th dĂčng hitTest xem hĂŹnh d ng chĂ­nh xĂĄc c a movie clip vĂ 
xĂĄc inh v trĂ­ x,y. Bi n th 3 nĂ y c n gĂĄn true n u b n mu n hĂ nh vi nĂ y. N u nĂł
false, nĂł se hĂ nh ng gi ng nhÆ° ch c năng hitTest bĂŹnh thÆ° ng. Ăąy lĂ  o n code
CODE
if (_parent.dropZone.hitTest(this._x,this._y,true)) {
BĂąy gi movie kĂ©o th c a ta h at ng t t hÆĄn. N u b n s d ng vĂ­ d 08drop.fla,
movie bĂȘn ph i s s d ng o n mĂŁ gĂŽc, vĂ  nĂł n m Ăš trĂȘn hĂŹnh ch nh t c a
dropzone. CĂĄc movie khĂĄc s d ng o n code ph c t p hitTest vĂ  chĂșng cĂł trung tĂąm
nĂ m bĂȘn trong hĂŹnh d ng g c c a dropzone.
Gi th 09: L y thĂŽng tin t ngÆ° i dĂčng, Getting input from the user
Cho t i bĂąy gi , qua 8 gi lĂ m quen v i AS, t t c cĂĄc tĂĄc ng c a b n lĂȘn trĂȘn flash
u Æ° c lĂ m qua chu t. NhÆ°ng ngoĂ i chu t, b n cĂł th dĂčng bĂ n phĂ­m n p thĂŽng
tin vĂ o Flash.
LĂ m sao phĂĄt hi n khi ngÆ° i dĂčng b m phĂ­m
CĂł 3 cĂĄch phĂĄt hi n khi m t phĂ­m tĂȘn bĂ n phĂ­m b nh n. 1 lĂ  dĂčng nĂșt, 2 lĂ  dĂčng
i tÆ° ng Key, vĂ  3 lĂ  dĂčng "listener" (ch cĂł Flash MX vĂ  MX 2004)
1. PhĂĄt hi n qua nĂșt:
B n cĂł th dĂčng nĂșt phĂĄt hi n khi ngÆ° i dĂčng s d ng bĂ n phĂ­m. B n chi c n dĂčng
l nh x lĂœ s ki n on cho o n code c a nĂșt . VĂ­ d o n code sau s kĂ­ch ho t khi
mĂ  ngÆ° i dĂčng nh n phĂ­m "a".
ActionScript
on (keyPress "a"){
trace ("Key 'a' pressed");
}
Trong movie m u 09keybutton.fla cĂł m t nĂșt ÆĄn gi n n m trĂȘn mĂ n hĂŹnh vĂ  vĂ i vĂ­
d trong Ăł. N u b n cho ch y th movie vĂ  nh n phĂ­m "a" thĂŹ Output window s cĂł
vi t ra dĂČng ch "Key 'a' pressed.". X lĂœ d ki n on(keyPress) nh lĂ  ph i phĂąn
bi t d ng ch (case-sensitive) nĂȘn n u b n ch code cho nĂł nh n phĂ­m "a" thĂŹ nĂł s
khĂŽng th nh n Æ° c phĂ­m "A". May mĂ  chĂșng ta cĂł th dĂčng bao nhi u b x lĂœ d
ki n cĆ©ng Æ° c.
N u b n mu n x lĂœ cĂĄc phĂ­m khĂĄc, nhÆ° cĂĄc phĂ­m mĆ©i tĂȘn, enter, thanh dĂ i (space
bar) ... thĂŹ b n ph i dĂčng cĂĄc code dĂ nh riĂȘng cho chĂșng. VĂŹ d b n mu n x lĂœ phĂ­m
mĆ©i tĂȘn trĂĄi (left arrow key) thĂŹ dĂčng o n code sau:
ActionScript
on (keyPress "<Left>") {
trace("Left pressed.");
}
VĂ  sau Ăąy lĂ  cĂĄc code dĂ nh cho cĂĄc phĂ­m c bi t:
‱ <Right>
‱ <Left>
‱ <End>
‱ <PageUp>
‱ <Insert>
‱ <PageDown>
‱ <Down>
‱ <Up>
‱ <Delete>
‱ <Tab>
‱ <Backspace>
‱ <Escape>
‱ <Home>
‱ <Enter>
‱ <Space>
B n cĂł th h p nhi u d ki n l i chung v i nhau. VĂ­ d b n cĂł m t nĂșt vĂ  nĂșt Ăł cĂł
phĂ­m t t lĂ  "b". V y khi b n nh n nĂșt Ăł hay lĂ  nh n phĂ­m "b" thĂŹ code c a nĂșt Ăł s
Æ° c kĂ­ch ho t.
ActionScript
on (keyPress "b", release) {
trace("'b' pressed or button clicked.");
}
CĂĄc vĂ­ d trĂȘn u cĂł trong movie m u 09keybutton.fla
2. PhĂĄt hi n qua i tÆ° ng phĂ­m (key object)
M c dĂč nĂșt r t h u Ă­ch trong vi c phĂĄt hi n khi ngÆ° i dĂčng nh n phĂ­m, nhÆ°ng nĂșt l i
khĂŽng th phĂĄt hi n Æ° c trÆ° ng h p khi ngÆ° i dĂčng nh n phĂ­m vĂ  khĂŽng nh t tay.
VĂ­ d n u b n lĂ m m t game b ng Flash, vĂ  trong Ăł ngÆ° i chÆĄi cho th lĂ m cho cĂĄc
nhĂąn v t trong game di chuy n liĂȘn t c n u nhÆ° h nh n phĂ­m mĆ©i tĂȘn vĂ  khĂŽng nhĂąt
tay lĂȘn.
Cho nh ng trÆ° ng h p nhÆ° v y, b n ph i dĂčng i tÆ° ng Key. i tÆ° ng Key lĂ  t p
h p c a m t s hĂ m (function) vĂ  h ng s (constant) Æ° c xĂąy d ng s n trong Flash.
B n cĂł th dĂčng cĂĄc hĂ m vĂ  h ng s nĂ y biĂȘt Æ° c cĂĄc phĂ­m ang b nh n hay
khĂŽng. VĂ­ d , n u mu n ki m tra coi phĂ­m mĆ©i tĂȘn trĂĄi cĂł b ang nh n hay khĂŽng thĂŹ
dĂčng o n code sau:
ActionScript
if (Key.isDown(Key.LEFT)) {
trace("The left arrow is down");
}
HĂ m Key.isDown s cho ra k t qu Ășng hay sai ph thu c vĂ o thĂŽng s cĂł ph i lĂ 
phĂ­m ang b nh n hay khĂŽng. H ng s Key.LEFT tÆ° ng trÆ°ng cho phĂ­m mĆ©i tĂȘn
trĂĄi. v y khi mĆ©i tĂȘn trĂĄi b nh n thĂŹ output window s cho ra hĂ ng ch "The left arrow
is down". DÆ° i Ăąy lĂ  cĂĄc h ng s tÆ°ÆĄng t nhÆ° Key.LEFT c p trĂȘn
‱ Key.BACKSPACE
‱ Key.ENTER
‱ Key.PGDN
‱ Key.CAPSLOCK
‱ Key.ESCAPE
‱ Key.RIGHT
‱ Key.CONTROL
‱ Key.HOME K
‱ ey.SHIFT
‱ Key.DELETEKEY
‱ Key.INSERT
‱ Key.SPACE
‱ Key.DOWN
‱ Key.LEFT
‱ Key.TAB
‱ Key.END
‱ Key.PGUP
‱ Key.UP
N u b n mu n ki m tra xem n u nh ng phĂ­m bĂŹnh thÆ° ng ang b nh n thĂŹ b n ph i
dĂčng Key.getCode l y mĂŁ s c a phĂ­m Ăł dĂčng trong hĂ m Key.isDown. Ăąy lĂ 
code m u khi b n mu n ki m tra phĂ­m "a"
ActionScript
if (Key.isDown(Key.getCode("a")) {
trace("The left arrow is down");
}
Cho 2 vĂ­ d trĂȘn, b n cĂł th coi source Fla 09keyobject.fla
3. Key Listener
Key listener Æ° c dĂčng quan sĂĄt bĂ n phĂ­m vĂ  thĂŽng bĂĄo cho Flash khi phĂ­m Æ° c
nh n.
cĂĄch th 2 chĂșng ta dĂčng i tÆ° ng Key ki m tra coi phĂ­m cĂł b nh n hay
khĂŽng, nhÆ°ng nĂł khĂŽng th bi t chĂ­nh xĂĄc lĂșc nĂ o thĂŹ phĂ­m b nh n. N u mĂ  ngÆ° i
dĂčng nh n phĂ­m quĂĄ nhanh, trÆ° c khi onClipEvent(enterFrame) k p kĂ­ch ho t i
tÆ° ng key ki m tra thĂŹ Flash s khĂŽng bao gi bi t Æ° c ngÆ° i dĂčng ĂŁ nh n phĂ­m.
M t b t ti n n a khi dĂčng cĂĄch th 2 lĂ  n u b n mu n ngÆ° i dĂčng nh n phĂ­m nhi u
l n thĂŹ i tÆ° ng Key s khĂŽng phĂąn bi t Æ° c Ăł lĂ  1 l n nh n dĂ i hay lĂ  nhi u cĂĄi
nh n th t nhanh.
VĂ­ v y Flash MX, MM cho chĂșng ta thĂȘm m t l a ch n n a lĂ  Key listeners. b n cĂł
th dĂčng "listener" (cĂł th hi u nĂł nhÆ° m t quan sĂĄt viĂȘn) theo dĂ”i s ki n c a bĂ n
phĂ­m vĂ  thĂŽng bĂĄo cho Flash ngay khi phĂ­m Æ° c nh n.
Listener cĂł 2 ph n. Ph n u lĂ  ph n t o listener. B n ph i ra l nh cho listener nĂ y
chĂș Ăœ vĂ o s ki n c a bĂ n phĂ­m. Ăąy lĂ  code cho t o listener
ActionScript
Key.addListener(_root);
L nh Key.addlistner t o listener cho i tÆ° ng trong thĂŽng s lĂ  _root. VĂ  i tÆ° ng
nĂ y s Æ° c thĂŽng bĂĄo v s ki n c a bĂ n phĂ­m.
Trong o n code trĂȘn, _root lĂ  i tÆ° ng Æ° c thĂŽng bĂĄo v s ki n c a bĂ n phĂ­m.
NhÆ°ng khi nh n Æ° c thĂŽng bĂĄo thĂŹ _root ph i lĂ m gĂŹ? VĂŹ v y chĂșng ta c n ph i vi t
code x lĂœ s ki n cho _root. VĂ­ d o n code sau s Æ° c th c hi n khi _root nh n
Æ° c thĂŽng bĂĄo v s ki n bĂ n phĂ­m.
ActionScript
_root.onKeyUp = function() {
trace(Key.getAscii());
}
Khi ngÆ° i dĂčng nh n phĂ­m, r i nh t tay lĂȘn thĂŹ s t o ra s ki n onKeyUP, vĂ  s ki n
nĂ y Æ° c thĂŽng bĂĄo t i _root (b n cĂł th thay th _root b ng b t kỳ i tÆ° ng nĂ o) vĂ 
sau Ăł thĂŹ hĂ m Key.getAscii() s cho ra k t qu lĂ  mĂŁ s ASCII tÆ°ÆĄng ng v i phĂ­m
v a Æ° c nh n, vĂ­ d A = 65, B = 66 .v.v
B n cĂł th xem cĂĄi fla m u 09keylistener.fla, trogn Ăł cĂł o n code trĂȘn (lÆ°u Ăœ lĂ 
trong fla nĂ y s khĂŽng cĂł gĂŹ h t ngoĂ i o n code AS frame u tiĂȘn)
N u b n mu n bi t phĂ­m Æ° c nh t lĂ  gĂŹ thay vĂŹ ASCII code thĂŹ b n cĂł th dĂčng
String.fromCharCode() cho ra k t qu b n mu n tĂŹm. Thay dĂČng
trace(Key.getAscii()); băng trace(String.fromCharCode(Key.getAscii()));
Th t ra ngoĂ i 3 cĂĄch trĂȘn, cĂČn m t cĂĄch n a lĂ  dĂčng b x lĂœ s ki n onClipEven c a
movie clip theo d i s ki n keyDown, keyUp, nhÆ°ng cĂĄch nĂ y khĂŽng cĂČn Æ° c
dĂčng trong Flash MX n a, vĂŹ v y b n ch cĂł th cĂĄch nĂ y trong cĂĄc Flash trÆ° c MX
thĂŽi.
BĂ i T p: DĂčng phĂ­m di chuy n movie clip
1. T o m t file Flash m i
2. T o m t movie clip ÆĄn gi n
3. G n o n code nĂ y vĂ o movie clip Ăł
ActionScript
onClipEvent(enterFrame) {
if (Key.isDown(Key.LEFT)) this._x -= 5;
if (Key.isDown(Key.RIGHT)) this._x += 5;
if (Key.isDown(Key.UP)) this._y -= 5;
if (Key.isDown(Key.DOWN)) this._y += 5;
}[/b]
o n code trĂȘn ki m tra 4 phĂ­m mĆ©i tĂȘn vĂ  di chuy n movie clip theo hÆ° ng c a mĆ©i
tĂȘn. B n hĂŁy th movie coi sao
4. Thay i o n code trĂȘn cho hoĂ n ch nh hÆĄn: t o 2 bi n [b]x, y[/b] cĂł giĂĄ tr tÆ°ÆĄng
Æ°ÆĄng v i v trĂ­ ban u c a movie clip, vĂ  l p giĂĄ tr cho bi n [b]speed[/b] b ng 5.
M i frame c a movie, mĂŹnh s ki m tra 4 phĂ­m mĆ©i tĂȘn vĂ  i u ch nh giĂĄ tr c a 2
bi n [b]x,y[/b] ch khĂŽng i u ch nh v trĂ­ c a movie clip, sau Ăł ph i h p v i bi n
[b]speed[/b] tĂŹm v trĂ­ m i cho movie clip, r i m i di chuy n movie clip t i Ăł:
[code]onClipEvent(load) {
x = this._x;
y = this._y;
speed = 5;
}
onClipEvent(enterFrame) {
if (Key.isDown(Key.LEFT)) {
x -= speed;
}
if (Key.isDown(Key.RIGHT)) {
x += speed;
}
if (Key.isDown(Key.UP)) {
y -= speed;
}
if (Key.isDown(Key.DOWN)) {
y += speed;
}
this._x = x;
this._y = y;
}
o n code trĂȘn cĂł 2 lÆĄi i m. Th nh t, chĂșng ta tĂŹm v trĂ­ m i c a movie clip trÆ° c
khi chĂșng ta di chuy n movie clip t i Ăł, vĂ  nhÆ° v y chĂșng ta cĂł th ki m tra v trĂ­
m i cĂł h p lĂœ khĂŽng (ĂĄo d ng rĂąt nhi u trong game), vĂ  th hai lĂ  r t ti n cho chĂșng
ta thay i t c di chuy n c a movie clip, ch c n thay i giĂĄ tr c a bi n speed
Nh p văn b n
Trong Flash, ngÆ° i dĂčng cĂł th nh p văn b n vĂ o cĂĄc khung, vĂ  b n cĂł th dĂčng AS
l y nh ng văn b n Ăł. cho ngÆ° i dĂčng cĂł th nh p văn b n, b n ph i t o khung
input text vĂ  t o cho 1 varible tÆ°ÆĄng ng v i gĂ­a tr trong khung input text Ăł.
(n u b n nĂ o chÆ°a bi t t o input text thĂŹ cĂł th download 3 cĂĄi CD hÆ° ng d n ÆĄ bĂȘn
box tĂ i li u tham kh o thĂȘm)
CĂĄc ch c năng vĂ  thao tĂĄc lĂ m vi c v i chu i kĂœ t (string
ChĂșng ta cĂł r t nh iu thao tĂĄc v i chu i kĂœ t :
1. GhĂ©p 2 chu i l i v i nhau: dĂčng kĂœ hi u +. VĂ­ d b n cĂł variable tĂȘn lĂ  myVariable
cĂł giĂĄ tr lĂ  "Hello", vĂ  mu n ghĂ©p ch "world" vĂ o sau Ăł thĂŹ dĂčng nhÆ° sau:
myVariable = myVariable + "world" vĂ  k t qu cĂł Æ° c s lĂ  "Hello world". B n
cĆ©ng cĂł th ghĂ©p nhi u hÆĄn 2 chu i l i v i nhau b ng cĂĄch trĂȘn.
2. Substrings. Substring lĂ  m t chu i kĂœ t nh trong 1 chu i kĂœ t khĂĄc. VĂ­ d "ell"
lĂ  substring c a "hello world" hay lĂ  "hello" hay lĂ  "elle" hay "hell".
B n cĂł th l y b t c substring nĂ o c a 1 string v i cĂș phĂĄp sau:
String.substring(start, end));. String lĂ  i tÆ° ng chu i mĂ  b n mu n trĂ­ch ra m t
ph n, start lĂ  s th t c a kĂœ t b t u cho chu i b n mu n lĂąy, vĂ  end lĂ  s th t
b t Ăąu cho ph n b n khĂŽng mu n l y. LÆ°u Ăœ r ng kĂœ t u tiĂȘ s cĂł s th t lĂ  0.
VĂ­ d v i o n code sau, output window s cho ra hĂ ng ch "lo W"
ActionScript
var myString = "Hello World.";
trace(myString.substring(3,7));
NgoĂ i ra cĂČn 1 cĂĄch n a dĂčng tÆ°ÆĄng t nhÆ° cĂĄch trĂȘn nhÆ°ng ch khĂĄc v thĂŽng s vĂ 
cĂł cĂș phĂĄp nhÆ° sau: String.substr(start, length);. thĂŽng s 1 cho s th t c a ch
cĂĄi u tiĂȘn vĂ  th hai cho chi u dĂ i c a chu i. o n code sau cĆ©ng s cĂł k t qu
tÆ° ng t nhÆ° cĂĄch 1
ActionScript
var myString = "Hello World.";
trace(myString.charAt(6));
CĂĄc hĂ m c a i tÆ° ng String
Sau Ăąy lĂ  m t s hĂ m tiĂȘu bi u c a i tÆ° ng String.
1. indexOf: dĂčng tĂŹm s th t c a m t kĂœ t hay m t chu i nh trong i tÆ° ng
String. N u hĂ m indexOf tĂŹm khĂŽng th y kĂœ t hay chu i nh thĂŹ s cho ra k t qu -1.
Ăąy lĂ  cĂș phĂĄp:myString.indexOf(substring,start)); substring lĂ  kĂœ t hay chu i
mĂŹnh mu n tĂŹm, start lĂ  s th t mĂŹnh b t u tĂŹm trong i tÆ° ng String. VĂ­ d :
ActionScript
var myString = "Hello World.";
//output: 6
trace(myString.indexOf("W",0));
//output: 2
trace(myString.indexOf("llo",0));
2. lastIndexOf: tÆ°ÆĄng t nhÆ° indexOf nhÆ°ng chĂșng ta tĂŹm kĂœ t cu i cĂčng i ngÆ° c
lĂȘn t ikĂœ t u tiĂȘn.
ActionScript
var myString = "Hello World.";
//output: 2
trace(myString.indexOf("l",0));
//output: 9
trace(myString.lastIndexOf("l"));
3. toUpperCase/toLowerCase: dĂčng i chu i t vi t thÆ° ng sang vi t hoa vĂ 
ngÆ° c l i
ActionScript
var myString = "Hello World.";
//output: HELLO WORLD
trace(myString.toUpperCase());
//output: hello world
trace(myString.toLowerCase());
4. length: lĂ  c tĂ­nh c a Sring dĂčng tĂ­nh chi u dĂ i c a chu i.
ActionScript
var myString = "Hello World.";
//output: 12
trace(myString.length);
BĂ i t p:
1. m file 09form-noscripts.fla
2. ki m tra tĂȘn c a variable c a m i input text field qua property panel
3. ThĂȘm o n mĂŁ sau vĂ o nĂșt CLEAR
ActionScript
on (release) {
clearForm();
}
4. thĂȘm o n mĂŁ sau vĂ o nĂșt SUBMIT
ActionScript
on (release) {
submitForm();
}
5. ThĂȘm o n code sau vĂ o frame u tiĂȘn c a movie
ActionScript
function clearForm() {
firstName = "";
middleInitial = "";
lastName = "";
address = "";
city = "";
state = "";
zip = "";
phone = "";
comments = "";
}
function submitForm() {
if (middleInitial.length == 1) {
trace("Name: "+firstName+" "+middleInitial+". "+lastName);
} else {
trace("Name: "+firstName+" "+lastName);
}
}
R i b n test movie.
Gi th 10: T o Và i u Khi n Văn B n, Creating and Controlling Text
Dynamic Text
B n cƩng có th hi n th văn b n b ng dynamic text field. Khåc v i Input field mà
b n làm quen trong gi s 9, dynamic text field ch cho phép AS thay i n i dung
văn b n ch khĂŽng ph i lĂ  ngÆ° i dĂčng. VĂŹ n i dung, hĂŹnh th c c a văn b n cĂł th
thay i b t c lĂșc nĂ o nĂȘn m i g i lĂ  dynamic text
TrÆ° c tiĂȘn b n t o dynamic text b ng d ng c text trĂȘn thanh toolbar, nhÆ°ng thay vĂŹ
ch n "Input Text" trong property panel, b n ch n "Dynamic Text"
BÆ° c k ti p lĂ  n i n i dung c a văn b n trong dynamic text field v i m t variable
b ng cĂĄch vi t tĂȘn c a variable Ăł vĂ o trong khung Var trong propery panel. VĂ­ d
nhÆ° b n t variable myText vĂ o trong khung Var thĂŹ khi b n thay i giĂĄ tr c a
myText thĂŹ văn b n trong dynamic text field cĆ©ng thay i gi ng nhÆ° giĂĄ tr c a bi n
myText. NgoĂ i ra b n cĂČn cĂł th thay i m t s l a ch n cho dynamic text field nhÆ°
"Single", "Multiline", or "Multiline No Wrap" x lĂœ trÆ° ng h p n i dung c a văn
b n quĂĄ dĂ i vĂ  cĂČnn nhi u l a ch n khĂĄc n a. (N u b n chÆ°a n m v ng ph n nĂ y thĂŹ
cĂł th tham kh o thĂȘm v s d ng Flash trong CD Æ° c post box tĂ i li u)
nh d ng văn b n theo HTML
(HTML format)
nh d ng văn b n ki u HTML, b n ph i cho phép dynamic text field ch p nh n
nh d ng HTML (click vĂ o HTML icon trĂȘn property panel) vĂ  sau Ăł b n cĂł th
dĂčng th HTML nh d ng văn b n c a b n. VĂ­ d o n code nĂ y s t o văn b n
sau:
CODE
myText = "This text is <B>bold</B>.<BR>";
myText += "This text is <I>italic</I>.<BR>";
myText += "This text is <U>underlined</U>.<BR>";
myText += "This text is <FONT COLOR='#FF0000'>red</FONT>.<BR>";
myText += "This text is <FONT FACE='Arial Black'>Arial Black</FONT>.<BR>";
myText += "This text is <FONT SIZE='24'>large</FONT>.<BR>";
myText += "This text is <A HREF='link.html'>linked</A>.<BR>";
QUOTE
This text is <B>bold</B>.<br>
This text is <I>italic</I>.<br>
This text is <U>underlined</U>.<br>
This text is <FONT COLOR='#FF0000'>red</FONT>.<br>
This text is <FONT FACE='Arial Black'>Arial Black</FONT>.<br>
This text is <FONT SIZE='24'>large</FONT>.<br>
This text is linked.
SiĂȘu liĂȘn k t (hyper link) trĂȘn cĂł tĂĄc d ng gi ng nhÆ° trong HTML nhÆ° khĂĄc 1 i u lĂ 
khĂŽng cĂł g ch dÆ° i
Sau Ăąy lĂ  nh ng th HTML cĂł th dĂčng trong Flash MX
‱ <B></B>: vi t m
‱ <I></I>: vi t nghiĂȘng
‱ <U></U>: g ch dÆ° i
‱ <FONT FACE='Arial Black'></FONT>: ki u ch
‱ <FONT SIZE='24'></FONT>: c ch
‱ <FONT COLOR='#XXXXXX></FONT>: màu ch
‱ <A HREF=''></A>: link
‱ <P></P>: an văn
‱ <BR>: Xu ng hàng
i TÆ° ng TextFormat
CĂČn m t cĂĄch khĂĄc nh d ng cho văn b n lĂ  dĂčng i tÆ° ng TextFormat. lĂ m
Æ° c i u nĂ y, b n c n ph i t o ra 1 bi n t i tÆ° ng TextFormat. Sau Ăł b n cĂł th
nh giĂĄ tr cho cĂĄc thu c tĂ­nh c a nĂł. VĂ­ d b n mu n ki u ch Arial Black, c 26, vĂ 
mĂ u thĂŹ dĂčng an code sau:
CODE
myFormat = new TextFormat();
myFormat.font = "Arial Black";
myFormat.size = 36;
myFormat.color = 0xFF0000;
textInstance.setTextFormat(myFormat);
B n cĂł th dĂčng i tÆ° ng TextFormat nhÆ° lĂ  stylesheet trong cĂĄc file HTML, m t
khi b n t o nĂł ra thĂŹ b n cĂł th dĂčng nĂł b t c ch nĂ o trong movie
B n cĂł th coi cĂĄc an code trĂȘn trong file m u: 10formattext.fla
Variable ngoĂ i Flash
B n cĂł th l y bi n t ngoĂ i trang HTML vĂ o trong Flash thay i n i dung c a
Flash hay dĂčng vĂ o b t c chuy n gĂŹ. VĂ­ d b n ph i lĂ m 30 cĂĄi banner b ng Flash
cho 30 trang web, thĂŹ b n cĂł th ch lĂ m 1 cĂĄi banner thĂŽi, nhÆ°ng thay i n i dung
tuỳ theo t ng trang web. Mu n nh p văn b n hay giå tr c a bi n nào t HTML, b n
ch c n thĂȘm vĂ i ch vĂ o sau cĂĄi tĂȘn c a movie trong ph n <object> vĂ  <embed>
trong HTML.. o n mĂŁ HTML sau Ăąy nh p giĂĄ tr c a bi n txtName vĂ o trong Flash
HTML
<PARAM NAME=movie VALUE="10banner.swf?txtName=Dominico Savio!">
vĂ  trong th <embed> thĂŹ b n thĂȘm ph n variable vĂ  giĂĄ tr vĂ o sau tĂȘn file
HTML
src="10banner.swf?txtName=Dominico Savio!">
Khi movie load thĂŹ nĂł s t t o variable "txtname" vĂ  t giĂĄ tr cho bi n nĂ y b ng
"Dominico Savio". B n cĂł th xem trang 10banner.html, 10banner.fla trong cĂĄi
source file xem chi ti t hÆĄn.
B n cĂł th lĂ m nhi u giĂĄ tr m t lĂșc cĆ©ng b ng cĂĄch nĂ y
10banner.swf?txtName=Dominico Savio!&gender=male"
NgoĂ i l y bi n t HTML, b n cĂČn cĂł th l y bi n t cĂĄc text file. CĂĄch nĂ y thĂ­ch h p
khi b n cĂł nhi u bi n nh p vĂ o Flash, hay giĂĄ tr c a cĂĄc bi n quĂĄ dĂ i g n vĂ o
th HTML. B n ch c n dĂčng l nh loadVariables() lĂ m Æ° c i u nĂ y. VĂ­ d :
CODE
loadVariables("10external.txt", _root);
B n cĂł th coi thĂȘm v cĂĄch dĂčng loadVariables() bĂȘn box ActionScript
[BĂ i T p
M t vĂ­ d ÆĄn gi n ĂĄp d ng cĂĄc i u mĂ  b n v a h c trong bĂ i nĂ y lĂ  lĂ m m t cĂĄi
"news ticker" nhÆ° dÆ° i Ăąy:
DĂČng ch s ch y t bĂȘn ph i qua bĂȘn trĂĄi cho su t b n tin. B n cĂł th tham kh o
source fla: 10ticker.fla vĂ  test nĂł cĂł khĂĄi ni m thĂȘm v "news ticker"
1. T o movie m i
2. T o dynamic text field, v i cao ch v a 1 hĂ ng, vĂ  dĂ i b ng chi u ngang c a
stage, cho d nh n, b n cĂł th vi t vĂ i chÆ° trong Ăł, nhÆ° lĂ  "text goes here"
3. T o variable cho text field nĂ y lĂ  text
4. Ch n font, nĂȘn dĂčng ki u ch tÆ°ÆĄng t nhÆ° Courier New, sao cho b ngang c a
m i chÆ° b ng nhau
5. Con text field r i nh n F8 i thĂ nh Movie Clip, vĂ  t cho nĂł 1 cĂĄi tĂȘn nhÆ° th
nào tuỳ b n
6. Sau Ăł thĂŹ g n o n script sau vĂ o movie
CODE
onClipEvent(load) {
// t b n tin
tickerText = "News Alert: ";
tickerText += "Stock prices shoot up sharply with good earnings reports. ";
tickerText += "The first manned flight to Mars prepares to leave Earth orbit. ";
tickerText += "Your favorite sports team wins championship. ";
tickerText += "Scientists find cure for major diseases. ";
firstChar = 0; // b t u ch cĂĄi u tiĂȘn
lineLength = 50; // s ch cĂĄi t i a trĂȘn news ticker
// thĂȘm cĂĄc kho ng tr ng vĂ o trÆ° c dĂČng tin
for(var i=0;i<lineLength;i++) {
tickerText = " " + tickerText;
}
}
onClipEvent(enterFrame) {
// phĂĄt b n tin
text = tickerText.substr(firstChar,lineLength);
// thĂȘm ch cĂĄi kĂȘ ti p
firstChar++;
// phĂĄt l i b n tin sau m i l n k t thĂșc
if (firstChar > tickerText.length) {
firstChar = 0;
}
}
TrÆ° c tiĂȘn b n t o ra bi n tickerText ch a b n văn news ticker, bi n firstChar
ch a giĂĄ tr c a ch cĂĄi u tiĂȘn s th y trong news ticker, vĂ  lineLenght lĂ  s ch cĂĄi
cĂł th xu t hi n m t lĂșc trĂȘn news ticker. VĂ  t t c cĂĄc u Æ° c cho vĂ o trong b s
lĂœ d ki n onLoad
Trong onEnterFrame, Flash s l y 50 ch cĂĄi u tiĂȘn b vĂ o bi n text ( trong
dynamic text field) cho nĂł hi n th lĂȘn mĂ n hĂŹnh. Sau Ăł di chuy n sang ch cĂĄi
th 2 b ng cĂąu firstChar++;, vĂ  sau cĂčng lĂ  ki m tra, n u b n tin ĂŁ Æ° c phĂĄt h t thĂŹ
phĂĄt l i t u.
6. B n có th thay i giå tr c a lineLenght và giå tr c a b n văn trong tickerText
hi u hÆĄn v 2 bi n nĂ y
7. BĂąy gi b n hĂŁy th dĂčng loadVariable() nh p b n tin t text file vĂ o coi cĂł
Æ° c khĂŽng. N u khĂŽng thĂŹ hĂŁy tr l i Ăąy h i mĂŹnh nhe
Happy flashing
Gi th 11: LĂ m vi c v i cĂĄc con s , ChÆ°ÆĄng nĂ y r t hay vĂ  b Ă­ch!
ChĂșng ta ĂŁ nghiĂȘn c u v text vĂ  strings trong cĂĄc chÆ°ÆĄng trÆ° c. BĂąy gi chĂșng ta s
nghiĂȘn c u v nh ng con s . B n s ph i ng v i nh ng con s trong Action
Script trong nhi u trÆ° ng h p, vĂŹ v y b n c n ph i hi u lĂ m sao s d ng chĂșng.
Nh ng phép toån (operator) và nh ng hàm (function) v s
Nh ng phĂ©p toĂĄn ÆĄn gi n
ChĂșng ta cĆ©ng ĂŁ h c qua cĂĄc phĂ©p toĂĄn ÆĄn gi n r i. BĂąy gi hĂŁy xem l i nhĂ©. D u +
và d u - s th c hi n phép toån c ng và tr , d u * th c hi n phép nhùn, d u / th c
hi n phép chia.
NgoĂ i ra, b n cĆ©ng cĂł th s d ng nh ng phĂ©p toĂĄn nhÆ° +=, -=, *=, /= lĂ m ÆĄn
gi n cho code c a b n. L y vĂ­ d hai cĂąu l nh dÆ° i Ăąy s th c hi n cĂčng m t cĂŽng
vi c lĂ  c ng thĂȘm 7 vĂ  bi n a
CODE
a = a + 7;
a += 7;
Nh ng phép so sånh
Nh ng phĂ©p toĂĄn so sĂĄnh nhÆ° == so sĂĄnh hai s xem cĂł b ng nhau khĂŽng, > (l n
hÆĄn), < (nh hÆĄn), <= (nh hÆĄn ho c b ng), >= (l n hÆĄn ho c b ng). Trong Action
Script chĂșng ta cĂł th so sĂĄnh m t s nguyĂȘn v i m t s th c. VĂ­ d nhÆ° 7.2 s l n
hÆĄn 7.
Math.abs
i tÆ° ng Math ch a m t t p h p cĂĄc hĂ m x lĂœ cĂĄc con s . HĂ m Math.abs s tr v
giå tr tuy t i c a m t s . B n hãy th o n code này xem k t qu th nào nhé:
CODE
trace(Math.abs(-7));
Math.round
N u b n cĂł m t s th c, nhÆ°ng b n l i mu n hi n th cho ngÆ° i dĂčng xem dÆ° i d ng
s nguyĂȘn thay vĂŹ ph i cho h xem cĂĄc con s ph n th p phĂąn, b n hĂŁy s d ng hĂ m
Math.round. Th nhé:
CODE
trace(Math.round(7.2));
Math.ceil, Math.floor
Hai hĂ m khĂĄc dĂčng lĂ m trĂČn s th c thĂ nh s nguyĂȘn lĂ  Math.ceil vĂ  Math.floor.
HĂ m Math.ceil s lĂ m trĂČn s lĂȘn vĂ  Math.floor s lĂ m trĂČn s xu ng. Th nhĂ©:
CODE
trace(Math.ceil(7.2));
trace(Math.floor(8.3));
Math.min, Math.max
CĂĄc b n cĂł th s d ng hai hĂ m nĂ y tĂŹm s l n hÆĄn vĂ  s nh hÆĄn trong hai s . VĂ­
d hĂ m Math.min(4, 5); s tr v 4, Min.math(4, 5); s tr v 5
Math.pow
Ăąy lĂ  hĂ m l y lĆ©y th a, cĆ©ng ÆĄn gi n thĂŽi, tham s th nh t lĂ  cÆĄ s , tham s th
hai là lƩy th a. Ví d b n mu n l y 4 lu th a 3 thÏ vi t th này
CODE
Math.pow(4, 3);
Math.sqrt Ăąy lĂ  hĂ m tĂ­nh căn, nhÆ°ng mĂ  mĂŹnh xin nĂłi tr ÆĄc luĂŽn lĂ  ngoĂ i hĂ m
Math.sqrt, b n cĂČn cĂł th s d ng hĂ m Math.pow v i lĆ©y th a nh hÆĄn 1 tĂ­nh căn.
Ví d mu n l y căn 2 c a 4 thÏ có th s d ng
CODE
Math.pow(4, .5);
ho c
Math.sqrt(4);
C hai cĂĄch trĂȘn u ra cĂčng m t k t qu lĂ  2.
HĂ m s lÆ° ng giĂĄc
Nh ng hĂ m c a object class mĂ  cĂĄc b n Æ° c bi t trĂȘn cĂł v nhÆ° r t d h c. NhÆ°ng
cĂČn nh ng hĂ m v lÆ° ng giĂĄc nhÆ° sin, cosin thĂŹ “khĂł nu t” hÆĄn nhi u. M c dĂč b n cĂł
th b qua nh ng hĂ m nĂ y nhÆ°ng nh ng hĂ m lÆ° ng giĂĄc nĂ y r t h u Ă­ch vĂ  hay trong
vi c t o nh ng ng d ng trong Flash. V y chĂșng ta hĂŁy cĂčng tĂŹm hi u cĂĄch nĂł lĂ m
vi c nhé!
HĂ m sin vĂ  cosin s d ng qua Math.sin vĂ  Math.cosin, bi u di n m i quan h gi a
Æ° ng th ng v i Æ° ng cong c a m t Æ° ng trĂČn.
HĂŹnh dÆ° i Ăąy bi u di n m t vĂČng trĂČn v i m t s i m Æ° c ĂĄnh d u b ng cĂĄc ch .
HĂŁy tÆ° ng tÆ° ng tĂąm c a vĂČng trĂČn to 0,0; bĂĄn kĂ­nh c a Æ° ng trĂČn b ng 1. VĂŹ
th , i m trĂȘn cĂčng s cĂł to 0,1 vĂ  i m t n cĂčng bĂȘn ph i s cĂł to 1,0
BĂąy gi b n hĂŁy tÆ° ng tÆ° ng vĂČng trĂČn trĂȘn lĂ  m t Æ° ng th ng. B t u t i m “a”
cĂł to 1,0 n i m 0,-1 qua -1,0 r i qua 0,1 vĂ  cu i cĂčng tr v 1,0.
Trong Flash, vĂ  cĆ©ng nhÆ° trong cĂĄc ngĂŽn ng l p trĂŹnh khĂĄc, chĂșng ta nh v m t v t
b t kỳ b ng to x, y c a chĂșng. VĂŹ th , vi c chuy n m t i m trĂȘn Æ° ng th ng
thĂ nh m t i m cĂł to x, y trĂȘn Æ° ng trĂČn r t h u d ng. Ăł lĂ  nh ng gĂŹ mĂ  hĂ m
sin vĂ  cosin th c hi n. VĂ­ d nhÆ° chĂșng ta t i m “a” lĂ  i m b t u c a Æ° ng
th ng c a Æ° ng trĂČn, b n cĂł s d ng hĂ m sin vĂ  cosin c a 0 tĂ­nh to x, y c a
i m “a” trĂȘn Æ° ng trĂČn. T t nhiĂȘn, Math.cos(0) s tr v giĂĄ tr 1, Math.sin(0) s tr
v giá tr 0. K t qu s tr v to c a i m “a” 1,0
V y i m “c” s n m Ăąu trĂȘn Æ° ng trĂČn? N u du i Æ° ng trĂČn ra s cĂł dĂ i
b ng 6.28 l n bĂĄn kĂ­nh, do bĂĄn kĂ­nh b ng 1 nĂȘn dĂ i s b ng 6.28. Ăąy lĂ  xu t x
c a h ng s pi. Pi b ng 3.14, b ng m t n a dĂ i c a Æ° ng trĂČn.
dĂ i c a Æ° ng trĂČn lĂ  6.28 thĂŹ m t ph n tÆ° dĂ i Æ° ng trĂČn lĂ  1.57. i m Ăł
tÆ°ÆĄng ng v i i m “c”. HĂ m Math.cos(1.57) s tr v m t giĂĄ tr r t nh , g n b ng 0.
HĂ m Math.sin(1.57) s tr v giĂĄ tr g n b ng -1. Ch g n b ng ch khĂŽng b ng vĂŹ
h ng s pi khĂŽng chĂ­nh xĂĄc b ng 3.14, ch lĂ  g n b ng thĂŽi.
B n cĂł th s d ng cĂĄch nĂ y chuy n cĂĄc i m trĂȘn Æ° ng trĂČn thĂ nh i m cĂł to
x,y
V y thĂŹ nĂł cĂł Ă­ch nhÆ° th nĂ o? Gi s nhÆ° b n mu n t o m t movieclip bay quanh
mĂ n hĂŹnh trong m t vĂČng trĂČn. LĂ m sao lĂ m Æ° c i u Ăł? N u lĂ m b ng frame cĂł
th ph i t n hĂ ng trăm frame . Ho c cĂĄch khĂĄc lĂ  cĂł th dĂčng hĂ m Math.cos vĂ 
Math.sin tĂ­nh chuy n sang to x,y quanh vĂČng trĂČn.
Trong o n code dÆ° i Ăąy, khi c ng thĂȘm n, movie clip s chuy n ng d c theo
Æ° ng trĂČn. HĂ m Math.cos s tĂ­nh ra giĂĄ tr x vĂ  hĂ m Math.sin s tĂ­nh ra giĂĄ tr y,
chĂșng s Æ° c nhĂąn thĂȘm v i giĂĄ tr c a radius tăng kĂ­ch thÆ° c c a Æ° ng trĂČn.
GiĂĄ tr c a centerX vĂ  centerY s Æ° c c ng thĂȘm cho cĂĄc to x, y, vĂŹ th tĂąm
Æ° ng trĂČn bĂąy gi khĂŽng cĂČn 0,0 n a mĂ  s v trĂ­ 150,150
CODE
onClipEvent(load) {
n = 0;
radius = 100;
centerX = 150;
centerY = 150;
}
onClipEvent(enterFrame) {
n += .1;
this._x = Math.cos(n) * radius + centerX;
this._y = Math.sin(n) * radius + centerY;
}
Ch (string) vĂ  s (number)
CĂł r t nhi u cĂĄch chuy n i t chu i sang s vĂ  ngÆ° c l i. VĂ­ d nhÆ° trÆ° ng h p
ngÆ° i dĂčng nh p m t s vĂ o text field, b n s nh n giĂĄ tr Ăł vĂ  c ng thĂȘm m t. HĂŁy
xem o n code sau Ăąy, num lĂ  m t bi n giĂĄ tr text field
CODE
b = num + 1;
N u num = 42, v y thĂŹ b s lĂ  43, Ășng khĂŽng? Xin tr l i lĂ  sai, k t qu b lĂ  421, ÆĄn
gi n b i vĂŹ num lĂ  m t chu i (string) ch khĂŽng ph i lĂ  m t s , vĂŹ th khi chĂșng ta
th c hi n phĂ©p c ng num v i 1 cĂł nghÄ©a lĂ  c ng kĂœ t “1” vĂ o chu i num ang cĂł giĂĄ
tr “42”.
lĂ m cho Flash hi u num lĂ  m t s , b n cĂł th s d ng m t trong hai hĂ m sau Ăąy
chuy n m t chu i thĂ nh s . HĂ m parseInt chuy n m t chu i thĂ nh ki u s nguyĂȘn,
hàm parseFloat chuy n m t chu i thành ki u s th c. Ví d hàm parseInt(“42”) s tr
v giĂĄ tr lĂ  42, n u chĂșng ta s d ng parseInt(“42.9”) thĂŹ cĆ©ng s nh n Æ° c giĂĄ tr lĂ 
42 b i vĂŹ hĂ m parseInt khĂŽng lĂ m trĂČn s , nĂł ch l y ph n nguyĂȘn mĂ  thĂŽi. CĂČn n u
s d ng hĂ m parseFloat(“42.9”) b n s nh n Æ° c giĂĄ tr lĂ  42.9, mu n lĂ m trĂČn cĂĄc
b n cĂł th s d ng hĂ m Math.round(parseFloat(“42.9”)). HĂ m parseFloat cĆ©ng s tr
v m t m t s nguyĂȘn n u tham s truy n vĂ o lĂ  m t chu i s nguyĂȘn. VĂ­ d
parseFloat(“42”) s cho ta s 42. Tr trÆ° ng h p b n mu n tr v m t giĂĄ tr s
nguyĂȘn, cĂČn khĂŽng b n nĂȘn s d ng hĂ m parseFloat.
M t nét r t c bi t và r t hay c a hàm parseInt là có th chuy n m t chu i thành m t
s nhÆ°ng thĂ nh nhi u d ng h s khĂĄc nhau. HĂŁy xem m t vĂ­ d cho d hi u:
CODE
parseInt(“FF”, 16);
HĂ m nĂ y s tr v giĂĄ tr lĂ  255, Ăœ nghÄ©a c a nĂł lĂ  chuy n chu i ch a s FF lĂ  m t s
hexa h s 16 thĂ nh m t s h nguyĂȘn h s 10.
NgÆ° c l i, chuy n t m t s sang m t chu i, hĂŁy s d ng hĂ m toString. HĂ m nĂ y
s ho t ng khĂĄc v i hĂ m parse, b i vĂŹ nĂł ho t ng bĂȘn trong m i bi n, g i hĂ m
này sau d u ch m (.). Xem ví d nhé:
CODE
a = 135;
trace(a.toString() + 1);
K t qu s lĂ  1351.
ChĂșng ta cĆ©ng cĂł th s d ng hĂ m toString chuy n m t s thĂ nh m t chu i ch a
s dÆ° i m t h s khĂĄc. VĂ­ d a.toString(16) s tr v k t qu lĂ  chu i “ff”
S ng u nhiĂȘn
T o s ng u nhiĂȘn lĂ  m t ph n quan tr ng trong cĂŽng vi c thi t k game vĂ  m t s
ho t hĂŹnh. B i vĂŹ n u khĂŽng cĂł sĂŽ ng u nhiĂȘn thĂŹ nh ng o n phim c a b n s ch y
gi ng nhau, khĂŽng cĂČn gĂŹ thĂș v n a!
t o s ng u nhiĂȘn, b n cĂł th s d ng hĂ m Math.random(). HĂ m nĂ y s tr v m t
giĂĄ tr t 0.0 n 1.0 nhÆ°ng thÆ° ng thĂŹ khĂŽng tr v giĂĄ tr b ng 1.0
HĂŁy xem vĂ­ d dÆ° i Ăąy, b n s nh n Æ° c con s ng u nhiĂȘn trong c a s OutPut
CODE
trace(Math.random());
K t qu tr v i lo i gi ng nhÆ° 0.023268056102097, nhÆ°ng m i l n l i khĂĄc nhau.
M t vĂ­ d khĂĄc lĂ  b n c n t o m t s ng u nhiĂȘn t 1 n 10, vi c nĂ y r t ÆĄn gi n,
ch c n nhĂąn thĂȘm s ng u nhiĂȘn cho 10. o n code sau s cho ta con s ng u nhiĂȘn
t 0.0 n 10.0
CODE
trace(Math.random() * 10);
NhÆ°ng cĂĄi chĂșng ta c n lĂ  con s ng u nhiĂȘn t 1.0 n 10.0 ch khĂŽng ph i t 0.0
n 10.0, vĂŹ th , hĂŁy c ng thĂȘm 1
CODE
trace(Math.random() * 10 + 1);
BĂąy gi thĂŹ k t qu tr v lĂ  1.0 n 11.0 nhÆ°ng s khĂŽng cĂł k t qu 11.0. HĂŁy s
d ng hĂ m Math.floor lĂ m trĂČn xu ng.
CODE
trace(Math.floor(Math.random() * 10 + 1));
Th t ra thĂŹ con s ng u nhiĂȘn trong mĂĄy tĂ­nh cĆ©ng chÆ°a th t s ng u nhiĂȘn. B i vĂŹ nĂł
khĂŽng th t s thay i trong b vi x lĂœ. Thay vĂ o Ăł s cĂł m t con s chu n, m t
con s nĂ o Ăł khĂŽng bi t trÆ° c Æ° c nhÆ° lĂ  gi ho c phĂșt
 c a h th ng, con s nĂ y
s Æ° c Æ°a vĂ  m t bi u th c r t ph c t p, r t r t ph c t p mĂ  chĂșng ta khĂŽng th
oĂĄn Æ° c. K t qu tr v cho chĂșng ta k t qu dÆ° ng nhÆ° lĂ  ng u nhiĂȘn. K t qu nĂ y
s Æ° c Æ°a vĂ  m t hĂ m tĂ­nh m t l n n a lĂ  lÆ°u l i thĂ nh con s chu n tĂ­nh ng u
nhiĂȘn cho l n ti p theo.
HĂŁy nghÄ© v i u nĂ y, s ng u nhiĂȘn trong i s ng th t s cĆ©ng khĂŽng th t s ng u
nhiĂȘn. N u chĂșng ta gi m t m t c a con xĂșc x c, th y Ășng theo m t hÆ° ng th t
chĂ­nh xĂĄc, chĂșng ta s cĂł cĂčng m t k t qu
Æ° c r i, bĂąy gi hĂŁy th t o m t s ng u nhiĂȘn t 3 n 7. LĂ m th nĂ o Ăąy? Ah, cĂł
m t th thu t cho b n Ăąy:
CODE
trace(Math.floor(Math.random() * 5 + 3);
Trong ph m vi t 3 n 7 s cĂł t t c lĂ  5 s nguyĂȘn 3, 4, 5, 6, vĂ  7. Th cĂČn trong
ph m vi t 50 n 100 thĂŹ sao
CODE
trace(Math.floor(Math.random() * 51 + 50);
LĂ  s 51 b i vĂŹ trong ph m vi t 50 n 100 cĂł 51 s , cĂČn n u t 51 n 100 s lĂ 
CODE
trace(Math.floor(Math.random() * 50 + 50);
M t cĂĄch th xem ph m vi c a b n cĂł Ășng nhÆ° Ăœ c a mĂŹnh khĂŽng, Ăł lĂ  hĂŁy th
v i s nh nh t vĂ  s l n nh t thay cho Math.random(). GiĂĄ tr nh nh t c a hĂ m
Math.random() là 0, hãy th v i s 0 nhé
CODE
trace(0 * 51 + 50);
GiĂĄ tr l n nh t c a Math.random() s khĂŽng chĂ­nh xĂĄc b ng 1.0 mĂ  s lĂ  g n b ng,
v y chĂșng ta hĂŁy th v i giĂĄ tr lĂ  0.9999
CODE
trace(.9999 * 51 + 50);
HĂŁy th xem cĂł Ășng khĂŽng nhĂ©!
DÆ° i Ăąy lĂ  m t vĂ­ d n a r t thĂș v , movie clip c a b n s nh y n nh ng v trĂ­ b t
kỳ
CODE
onClipEvent(enterFrame) {
this._x = Math.random()*550;
this._y = Math.random()*400;
}
Luy n t p: T o m t chÆ°ÆĄng trĂŹnh mĂĄy tĂ­nh ÆĄn gi n
HĂŁy b t tay vĂ o vi c thi t k m t chÆ°ÆĄng trĂŹnh mĂĄy tĂ­nh ÆĄn gi n nhĂ©.
- M m t movie m i trong Flash. Movie c a chĂșng ta s gi ng nhÆ° hĂŹnh dÆ° i Ăąy
ChĂșng ta s cĂł 10 nĂșt nh p 10 s t 0 n 9, cĂĄc nĂșt cĂĄc phĂ©p toĂĄn, phĂ­m =, d u
ch m th p phĂąn, phĂ­m C xĂła mĂ n hĂŹnh. M t text field t trĂȘn hi n th nh ng
s ngÆ° i dĂčng b m, text field nĂ y s liĂȘn k t v i bi n display.
- Trong m i movie clip c a m i nĂșt b m, chĂšn o n code sau
CODE
on (release) {
_parent.keyPressed(this._name);
}
Khi m t nĂșt b t kỳ Æ° c nh n thĂŹ hĂ m keyPressed s Æ° c g i level ngoĂ i mĂ  Ăąy
s lĂ  level root. HĂ m nĂ y s truy n tĂȘn c a movie clip.
- Quay tr l i level root, m i movie clip ph i cĂł m t tĂȘn riĂȘng, khĂŽng Æ° c trĂčng. t
tĂȘn c a movie clip theo s c a nĂł, vĂ­ d nĂșt s 5 s cĂł tĂȘn lĂ  5, d u ch m th p phĂąn cĂł
tĂȘn lĂ  “.”. D u c ng, d u tr , d u nhĂąn, d u chia, d u b ng, nĂșt C l n lÆ° t t tĂȘn lĂ 
plus, minus, multiply, divide, equals, clear.
- Ok, bùy gi b t u vi t code nhé! Code này s n m ngoài movie frame
CODE
// trÆ° c tiĂȘn, xoĂĄ mĂ n hĂŹnh cĆ©
clearAll();
function clearAll() {
display = "0"; // giĂĄ tr m c nh lĂ  0
memory = 0; // b nh
operation = "none"; // chÆ°a cĂł phĂ©p toĂĄn nĂ o c
newNum = true; // ĂĄnh d u khi nĂ o ĂŁ nh p xong m t s
}
Bi n display lĂ  m t chu i (string), s liĂȘn k t v i text field hi n th n i dung ngÆ° i
dĂčng b m. NĂł s b t u v i giĂĄ tr b ng 0, cĂł nghÄ©a lĂ  khi ngÆ° i dĂčng m i b t mĂĄy
lĂȘn thĂŹ s m c nh lĂ  s 0
Bi n memory lÆ°u l i con s trÆ° c Ăł th c hi n phĂ©p tĂ­nh. i u nĂ y r t c n thi t, vĂ­
d b n b m s 5, +, 7 thĂŹ s 5 nh p vĂ o, khi b n b m d u c ng, mĂ n hĂŹnh s Æ° c xĂła
vĂ  s 5 Æ° c lÆ°u vĂ o memory, s 7 Æ° c nh p ti p vĂ  s th c hi n phĂ©p tĂ­nh 5 vĂ  7.
PhĂ©p toĂĄn ngÆ° i dĂčng ch n cĆ©ng c n Æ° c lÆ°u vĂ o b nh . Khi ngÆ° i dĂčng ĂŁ nh n
5, +, 7 r i, sau Ăł b m d u = ho c m t phĂ©p toĂĄn khĂĄc thĂŹ chÆ°ÆĄng trĂŹnh s g i l i phĂ©p
toĂĄn cĆ© ĂŁ ÆĄc lÆ°u trong bi n operation th c hi n phĂ©p toĂĄn trÆ° c c a 5 v i 7.
Bi n newNum nhÆ° lĂ  m t bi n c hi u bĂĄo cho chÆ°ÆĄng trĂŹnh bi t khi nĂ o s k t
thĂșc m t phĂ©p toĂĄn. VĂ­ d khi ngÆ° i dĂčng b m 5, +, 7 r i sau Ăł b m m t phĂ©p toĂĄn
khĂĄc thĂŹ k t qu s Æ° c lÆ°u l i tĂ­nh toĂĄn ti p, lĂșc nĂ y phĂ©p toĂĄn chÆ°a k t thĂșc,
newNum = false. CĂČn n u ngÆ° i dĂčng b m d u = thĂŹ mĂ n hĂŹnh s hi n ra k t qu vĂ 
k t thĂșc luĂŽn phĂ©p toĂĄn chuy n sang phĂ©p toĂĄn m i, newNum = true.
- Ph n ti p theo lĂ  hĂ m keyPressed x lĂœ khi m i nĂșt Æ° c nh n. HĂ m keyPressed
s s d ng c u trĂșc switch thay cho c u trĂșc if, then, else. C hai cĂĄch u ho t ng
tÆ°ÆĄng t nhÆ°ng cĂĄch vi t hÆĄi khĂĄc, b n hĂŁy xem nhĂ©:
CODE
// hĂ m nĂ y Æ° c g i b i nĂșt nh n
function keyPressed(keyName) {
// do something different for different keys
switch (keyName) {
case "clear" : // khi nh n nĂșt C
clearAll();
break;
case "plus" : // cåc phép toån c ng, tr , nhùn, chia
operate(keyName);
break;
case "minus" :
operate(keyName);
break;
case "multiply" :
operate(keyName);
break;
case "divide" :
operate(keyName);
break;
case "equals" :
operate(keyName);
break;
default : // cĂĄc s
if (newNum) { // hi n th s m i trĂȘn mĂ n hĂŹnh
display = keyName;
newNum = false;
if (display == "0") newNum = true; // s khĂŽng b t u v i s 0
} else {
display += keyName; // n i thĂȘm s vĂ o mĂ n hĂŹnh
}
break;
}
}
Khi ngÆ° i dĂčng nh n nĂșt C thĂŹ hĂ m clearAll() s Æ° c g i, tÆ°ÆĄng t khi ngÆ° i dĂčng
nh n cĂĄc phĂ©p toĂĄn thĂŹ hĂ m operate s ÆĄc g i
- HĂ m operate s th c hi n tĂ­nh toĂĄn. NĂł s tĂŹm ra phĂ©p toĂĄn gi a con s trÆ° c Ăł vĂ 
con s hi n th i, s d ng hĂ m parseFloat chuy n chu i thĂ nh s .Operation cĂł giĂĄ
tr b ng none khi nh p m t s m i sau khi th c hi n xong phép toån và màn hÏnh
Æ° c xĂła.
CODE
// th c hi n phĂ©p toĂĄn trÆ° c
function operate(keyName) {
switch (operation) {
case "none" : // s u tiĂȘn
memory = parseFloat(display); // lÆ°u l i s trÆ° c
break;
case "plus" : // th c hi n phép toån
memory += parseFloat(display);
break;
case "minus" :
memory -= parseFloat(display);
break;
case "multiply" :
memory *= parseFloat(display);
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash
24 gio hoc flash

More Related Content

Viewers also liked

125cuhiphngvnbngtinganh 110927013729-phpapp01
125cuhiphngvnbngtinganh 110927013729-phpapp01125cuhiphngvnbngtinganh 110927013729-phpapp01
125cuhiphngvnbngtinganh 110927013729-phpapp01Học Huỳnh BĂĄ
 
Parent contract ćź¶é•żćŁ°æ˜Ž
Parent contract ćź¶é•żćŁ°æ˜ŽParent contract ćź¶é•żćŁ°æ˜Ž
Parent contract ćź¶é•żćŁ°æ˜ŽHọc Huỳnh BĂĄ
 
10 thủ thuáș­t đối với modem
10 thủ thuáș­t đối với modem10 thủ thuáș­t đối với modem
10 thủ thuáș­t đối với modemHọc Huỳnh BĂĄ
 
The first day i went to school, hĂŁy nĂłi về ngĂ y đáș§u tiĂȘn đi học của báșĄn
The first day i went to school, hĂŁy nĂłi về ngĂ y đáș§u tiĂȘn đi học của báșĄnThe first day i went to school, hĂŁy nĂłi về ngĂ y đáș§u tiĂȘn đi học của báșĄn
The first day i went to school, hĂŁy nĂłi về ngĂ y đáș§u tiĂȘn đi học của báșĄnHọc Huỳnh BĂĄ
 
Giáș„y bĂĄo thay đổi hộ kháș©u, nhĂąn kháș©u
Giáș„y bĂĄo thay đổi hộ kháș©u, nhĂąn kháș©uGiáș„y bĂĄo thay đổi hộ kháș©u, nhĂąn kháș©u
Giáș„y bĂĄo thay đổi hộ kháș©u, nhĂąn kháș©uHọc Huỳnh BĂĄ
 
BáșŁng tham chiáșżu quy đổi một số chứng chỉ ngoáșĄi ngữ
BáșŁng tham chiáșżu quy đổi một số chứng chỉ ngoáșĄi ngữBáșŁng tham chiáșżu quy đổi một số chứng chỉ ngoáșĄi ngữ
BáșŁng tham chiáșżu quy đổi một số chứng chỉ ngoáșĄi ngữHọc Huỳnh BĂĄ
 
Chinese english writing skill - ć•†ćŠĄć†™äœœæ•™çš‹
Chinese english writing skill  - ć•†ćŠĄć†™äœœæ•™çš‹Chinese english writing skill  - ć•†ćŠĄć†™äœœæ•™çš‹
Chinese english writing skill - ć•†ćŠĄć†™äœœæ•™çš‹Học Huỳnh BĂĄ
 
English chinese business languages becäž­çș§ć†™äœœç””歐èźČäč‰
English   chinese business languages becäž­çș§ć†™äœœç””歐èźČäč‰English   chinese business languages becäž­çș§ć†™äœœç””歐èźČäč‰
English chinese business languages becäž­çș§ć†™äœœç””歐èźČäč‰Học Huỳnh BĂĄ
 
ç„ˆçŠè‹±èŻ­ćźžéȘŒć­Šæ Ąć…„ć­Šç”łèŻ·èĄš Clifford school application form
ç„ˆçŠè‹±èŻ­ćźžéȘŒć­Šæ Ąć…„ć­Šç”łèŻ·èĄš Clifford school application formç„ˆçŠè‹±èŻ­ćźžéȘŒć­Šæ Ąć…„ć­Šç”łèŻ·èĄš Clifford school application form
ç„ˆçŠè‹±èŻ­ćźžéȘŒć­Šæ Ąć…„ć­Šç”łèŻ·èĄš Clifford school application formHọc Huỳnh BĂĄ
 
Chinese email é«˜èŒé«˜äž“é™ąæ Ąè‹±èŻ­èƒœćŠ›æ”‹èŻ•a bçș§
Chinese email  é«˜èŒé«˜äž“é™ąæ Ąè‹±èŻ­èƒœćŠ›æ”‹èŻ•a bçș§Chinese email  é«˜èŒé«˜äž“é™ąæ Ąè‹±èŻ­èƒœćŠ›æ”‹èŻ•a bçș§
Chinese email é«˜èŒé«˜äž“é™ąæ Ąè‹±èŻ­èƒœćŠ›æ”‹èŻ•a bçș§Học Huỳnh BĂĄ
 
KhĂĄi niệm vĂ  Ă°áș·c Ă°iểm của cĂĄc tổ chức xĂŁ hội ở nước ta
KhĂĄi niệm vĂ  Ă°áș·c Ă°iểm của cĂĄc tổ chức xĂŁ hội ở nước taKhĂĄi niệm vĂ  Ă°áș·c Ă°iểm của cĂĄc tổ chức xĂŁ hội ở nước ta
KhĂĄi niệm vĂ  Ă°áș·c Ă°iểm của cĂĄc tổ chức xĂŁ hội ở nước taHọc Huỳnh BĂĄ
 
GiĂĄo trĂŹnh microsoft office excel 2003
GiĂĄo trĂŹnh microsoft office excel 2003GiĂĄo trĂŹnh microsoft office excel 2003
GiĂĄo trĂŹnh microsoft office excel 2003Học Huỳnh BĂĄ
 
Hợp đồng giáșŁng dáșĄy (máș«u)
Hợp đồng giáșŁng dáșĄy (máș«u)Hợp đồng giáșŁng dáșĄy (máș«u)
Hợp đồng giáșŁng dáșĄy (máș«u)Học Huỳnh BĂĄ
 
ThÆ° xin đi xe đón nhĂąn viĂȘn shuttle transport service proposal letter (chine...
ThÆ° xin đi xe đón nhĂąn viĂȘn shuttle transport service proposal  letter (chine...ThÆ° xin đi xe đón nhĂąn viĂȘn shuttle transport service proposal  letter (chine...
ThÆ° xin đi xe đón nhĂąn viĂȘn shuttle transport service proposal letter (chine...Học Huỳnh BĂĄ
 

Viewers also liked (16)

125cuhiphngvnbngtinganh 110927013729-phpapp01
125cuhiphngvnbngtinganh 110927013729-phpapp01125cuhiphngvnbngtinganh 110927013729-phpapp01
125cuhiphngvnbngtinganh 110927013729-phpapp01
 
Parent contract ćź¶é•żćŁ°æ˜Ž
Parent contract ćź¶é•żćŁ°æ˜ŽParent contract ćź¶é•żćŁ°æ˜Ž
Parent contract ćź¶é•żćŁ°æ˜Ž
 
10 thủ thuáș­t đối với modem
10 thủ thuáș­t đối với modem10 thủ thuáș­t đối với modem
10 thủ thuáș­t đối với modem
 
Vb6 16 (10)
Vb6 16 (10)Vb6 16 (10)
Vb6 16 (10)
 
The first day i went to school, hĂŁy nĂłi về ngĂ y đáș§u tiĂȘn đi học của báșĄn
The first day i went to school, hĂŁy nĂłi về ngĂ y đáș§u tiĂȘn đi học của báșĄnThe first day i went to school, hĂŁy nĂłi về ngĂ y đáș§u tiĂȘn đi học của báșĄn
The first day i went to school, hĂŁy nĂłi về ngĂ y đáș§u tiĂȘn đi học của báșĄn
 
Giáș„y bĂĄo thay đổi hộ kháș©u, nhĂąn kháș©u
Giáș„y bĂĄo thay đổi hộ kháș©u, nhĂąn kháș©uGiáș„y bĂĄo thay đổi hộ kháș©u, nhĂąn kháș©u
Giáș„y bĂĄo thay đổi hộ kháș©u, nhĂąn kháș©u
 
BáșŁng tham chiáșżu quy đổi một số chứng chỉ ngoáșĄi ngữ
BáșŁng tham chiáșżu quy đổi một số chứng chỉ ngoáșĄi ngữBáșŁng tham chiáșżu quy đổi một số chứng chỉ ngoáșĄi ngữ
BáșŁng tham chiáșżu quy đổi một số chứng chỉ ngoáșĄi ngữ
 
GiĂĄo trĂŹnh ms power point 2003
GiĂĄo trĂŹnh ms power point 2003GiĂĄo trĂŹnh ms power point 2003
GiĂĄo trĂŹnh ms power point 2003
 
Chinese english writing skill - ć•†ćŠĄć†™äœœæ•™çš‹
Chinese english writing skill  - ć•†ćŠĄć†™äœœæ•™çš‹Chinese english writing skill  - ć•†ćŠĄć†™äœœæ•™çš‹
Chinese english writing skill - ć•†ćŠĄć†™äœœæ•™çš‹
 
English chinese business languages becäž­çș§ć†™äœœç””歐èźČäč‰
English   chinese business languages becäž­çș§ć†™äœœç””歐èźČäč‰English   chinese business languages becäž­çș§ć†™äœœç””歐èźČäč‰
English chinese business languages becäž­çș§ć†™äœœç””歐èźČäč‰
 
ç„ˆçŠè‹±èŻ­ćźžéȘŒć­Šæ Ąć…„ć­Šç”łèŻ·èĄš Clifford school application form
ç„ˆçŠè‹±èŻ­ćźžéȘŒć­Šæ Ąć…„ć­Šç”łèŻ·èĄš Clifford school application formç„ˆçŠè‹±èŻ­ćźžéȘŒć­Šæ Ąć…„ć­Šç”łèŻ·èĄš Clifford school application form
ç„ˆçŠè‹±èŻ­ćźžéȘŒć­Šæ Ąć…„ć­Šç”łèŻ·èĄš Clifford school application form
 
Chinese email é«˜èŒé«˜äž“é™ąæ Ąè‹±èŻ­èƒœćŠ›æ”‹èŻ•a bçș§
Chinese email  é«˜èŒé«˜äž“é™ąæ Ąè‹±èŻ­èƒœćŠ›æ”‹èŻ•a bçș§Chinese email  é«˜èŒé«˜äž“é™ąæ Ąè‹±èŻ­èƒœćŠ›æ”‹èŻ•a bçș§
Chinese email é«˜èŒé«˜äž“é™ąæ Ąè‹±èŻ­èƒœćŠ›æ”‹èŻ•a bçș§
 
KhĂĄi niệm vĂ  Ă°áș·c Ă°iểm của cĂĄc tổ chức xĂŁ hội ở nước ta
KhĂĄi niệm vĂ  Ă°áș·c Ă°iểm của cĂĄc tổ chức xĂŁ hội ở nước taKhĂĄi niệm vĂ  Ă°áș·c Ă°iểm của cĂĄc tổ chức xĂŁ hội ở nước ta
KhĂĄi niệm vĂ  Ă°áș·c Ă°iểm của cĂĄc tổ chức xĂŁ hội ở nước ta
 
GiĂĄo trĂŹnh microsoft office excel 2003
GiĂĄo trĂŹnh microsoft office excel 2003GiĂĄo trĂŹnh microsoft office excel 2003
GiĂĄo trĂŹnh microsoft office excel 2003
 
Hợp đồng giáșŁng dáșĄy (máș«u)
Hợp đồng giáșŁng dáșĄy (máș«u)Hợp đồng giáșŁng dáșĄy (máș«u)
Hợp đồng giáșŁng dáșĄy (máș«u)
 
ThÆ° xin đi xe đón nhĂąn viĂȘn shuttle transport service proposal letter (chine...
ThÆ° xin đi xe đón nhĂąn viĂȘn shuttle transport service proposal  letter (chine...ThÆ° xin đi xe đón nhĂąn viĂȘn shuttle transport service proposal  letter (chine...
ThÆ° xin đi xe đón nhĂąn viĂȘn shuttle transport service proposal letter (chine...
 

Similar to 24 gio hoc flash

24 gio hoc_flash_2267_89039819_7063-1330520798
24 gio hoc_flash_2267_89039819_7063-133052079824 gio hoc_flash_2267_89039819_7063-1330520798
24 gio hoc_flash_2267_89039819_7063-1330520798qu0cthangprovip95
 
24 gio hoc_flash_action_script
24 gio hoc_flash_action_script24 gio hoc_flash_action_script
24 gio hoc_flash_action_scriptGiang Nguyễn
 
24 giờ học flash
24 giờ học flash24 giờ học flash
24 giờ học flashyoohieu
 
Thu thuat may tinh piv
Thu thuat may tinh pivThu thuat may tinh piv
Thu thuat may tinh pivnhatthai1969
 
Thu thuat may tinh pvi
Thu thuat may tinh pviThu thuat may tinh pvi
Thu thuat may tinh pvinhatthai1969
 
Powerpoint
PowerpointPowerpoint
PowerpointTHT
 
Powerpoint
PowerpointPowerpoint
PowerpointTHT
 
tao file exe cho chuong trinh viet bang ngon ngu java
 tao file exe cho chuong trinh viet bang ngon ngu java tao file exe cho chuong trinh viet bang ngon ngu java
tao file exe cho chuong trinh viet bang ngon ngu javanamcntt_nd
 
Thu thuat may tinh pi
Thu thuat may tinh piThu thuat may tinh pi
Thu thuat may tinh pinhatthai1969
 
Slide: Scratch: 7 Giới thiệu khung trợ giĂșp
Slide: Scratch: 7 Giới thiệu khung trợ giĂșpSlide: Scratch: 7 Giới thiệu khung trợ giĂșp
Slide: Scratch: 7 Giới thiệu khung trợ giĂșpNguyễn DuyĂȘnmiks
 
GiáșŁi mĂŁ windows & bĂ­ máș­t của pháș§n cứng elpvn[bookbooming.com]
GiáșŁi mĂŁ windows & bĂ­ máș­t của pháș§n cứng   elpvn[bookbooming.com]GiáșŁi mĂŁ windows & bĂ­ máș­t của pháș§n cứng   elpvn[bookbooming.com]
GiáșŁi mĂŁ windows & bĂ­ máș­t của pháș§n cứng elpvn[bookbooming.com]bookbooming1
 
ChĂšn nháșĄc vĂ o power point
ChĂšn nháșĄc vĂ o power pointChĂšn nháșĄc vĂ o power point
ChĂšn nháșĄc vĂ o power pointDSLIDES
 
Kien thuc ho tro 1
Kien thuc ho tro 1Kien thuc ho tro 1
Kien thuc ho tro 1qdai2008
 
Láș­p trĂŹnh tiện MASTERCAM x9
Láș­p trĂŹnh tiện MASTERCAM x9Láș­p trĂŹnh tiện MASTERCAM x9
Láș­p trĂŹnh tiện MASTERCAM x9Technical VN
 
Hướng dáș«n sá»­ đỄng Power Point 2010
Hướng dáș«n sá»­ đỄng Power Point 2010Hướng dáș«n sá»­ đỄng Power Point 2010
Hướng dáș«n sá»­ đỄng Power Point 2010Nguyễn Văn MáșĄnh
 
Thu thuat may tinh pii
Thu thuat may tinh piiThu thuat may tinh pii
Thu thuat may tinh piinhatthai1969
 
Color me ebookslide
Color me ebookslideColor me ebookslide
Color me ebookslidePhan Cong
 

Similar to 24 gio hoc flash (20)

24 gio hoc_flash_2267_89039819_7063-1330520798
24 gio hoc_flash_2267_89039819_7063-133052079824 gio hoc_flash_2267_89039819_7063-1330520798
24 gio hoc_flash_2267_89039819_7063-1330520798
 
24 gio hoc flash
24 gio hoc flash24 gio hoc flash
24 gio hoc flash
 
24 gio hoc_flash_action_script
24 gio hoc_flash_action_script24 gio hoc_flash_action_script
24 gio hoc_flash_action_script
 
24 giờ học flash
24 giờ học flash24 giờ học flash
24 giờ học flash
 
Thu thuat may tinh piv
Thu thuat may tinh pivThu thuat may tinh piv
Thu thuat may tinh piv
 
Thu thuat may tinh pvi
Thu thuat may tinh pviThu thuat may tinh pvi
Thu thuat may tinh pvi
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 
tao file exe cho chuong trinh viet bang ngon ngu java
 tao file exe cho chuong trinh viet bang ngon ngu java tao file exe cho chuong trinh viet bang ngon ngu java
tao file exe cho chuong trinh viet bang ngon ngu java
 
Thu thuat may tinh pi
Thu thuat may tinh piThu thuat may tinh pi
Thu thuat may tinh pi
 
Slide: Scratch: 7 Giới thiệu khung trợ giĂșp
Slide: Scratch: 7 Giới thiệu khung trợ giĂșpSlide: Scratch: 7 Giới thiệu khung trợ giĂșp
Slide: Scratch: 7 Giới thiệu khung trợ giĂșp
 
GiáșŁi mĂŁ windows & bĂ­ máș­t của pháș§n cứng elpvn[bookbooming.com]
GiáșŁi mĂŁ windows & bĂ­ máș­t của pháș§n cứng   elpvn[bookbooming.com]GiáșŁi mĂŁ windows & bĂ­ máș­t của pháș§n cứng   elpvn[bookbooming.com]
GiáșŁi mĂŁ windows & bĂ­ máș­t của pháș§n cứng elpvn[bookbooming.com]
 
ChĂšn nháșĄc vĂ o power point
ChĂšn nháșĄc vĂ o power pointChĂšn nháșĄc vĂ o power point
ChĂšn nháșĄc vĂ o power point
 
Kien thuc ho tro 1
Kien thuc ho tro 1Kien thuc ho tro 1
Kien thuc ho tro 1
 
Láș­p trĂŹnh tiện MASTERCAM x9
Láș­p trĂŹnh tiện MASTERCAM x9Láș­p trĂŹnh tiện MASTERCAM x9
Láș­p trĂŹnh tiện MASTERCAM x9
 
Hướng dáș«n sá»­ đỄng Power Point 2010
Hướng dáș«n sá»­ đỄng Power Point 2010Hướng dáș«n sá»­ đỄng Power Point 2010
Hướng dáș«n sá»­ đỄng Power Point 2010
 
Thu thuat may tinh pii
Thu thuat may tinh piiThu thuat may tinh pii
Thu thuat may tinh pii
 
Color me ebookslide
Color me ebookslideColor me ebookslide
Color me ebookslide
 
Pascal 2
Pascal 2Pascal 2
Pascal 2
 
Giao trinh gia cong nhieu truc Mastercam X9
Giao trinh gia cong nhieu truc Mastercam X9Giao trinh gia cong nhieu truc Mastercam X9
Giao trinh gia cong nhieu truc Mastercam X9
 

More from Học Huỳnh BĂĄ

BÀI GIáșąNG NGở PHÁP TIáșŸNG ANH NGÀNH GIA CÔNG SáșąN XUáș€T
BÀI GIáșąNG NGở PHÁP TIáșŸNG ANH NGÀNH GIA CÔNG SáșąN XUáș€TBÀI GIáșąNG NGở PHÁP TIáșŸNG ANH NGÀNH GIA CÔNG SáșąN XUáș€T
BÀI GIáșąNG NGở PHÁP TIáșŸNG ANH NGÀNH GIA CÔNG SáșąN XUáș€THọc Huỳnh BĂĄ
 
Civil aviation english chinese-vietnamese vocabulary (popular language) - từ ...
Civil aviation english chinese-vietnamese vocabulary (popular language) - từ ...Civil aviation english chinese-vietnamese vocabulary (popular language) - từ ...
Civil aviation english chinese-vietnamese vocabulary (popular language) - từ ...Học Huỳnh BĂĄ
 
Tell about a girl boy that you interested in
Tell about a girl boy that you interested inTell about a girl boy that you interested in
Tell about a girl boy that you interested inHọc Huỳnh BĂĄ
 
Từ vá»±ng chuyĂȘn ngĂ nh sáșŁn xuáș„t giĂ y da (tiáșżng trung việt) éž‹ç±»ćžžè§èŻæ±‡(æ±‰èŻ­ - è¶Šć—èŻ­)
Từ vá»±ng chuyĂȘn ngĂ nh sáșŁn xuáș„t giĂ y da (tiáșżng trung   việt) éž‹ç±»ćžžè§èŻæ±‡(æ±‰èŻ­ - è¶Šć—èŻ­)Từ vá»±ng chuyĂȘn ngĂ nh sáșŁn xuáș„t giĂ y da (tiáșżng trung   việt) éž‹ç±»ćžžè§èŻæ±‡(æ±‰èŻ­ - è¶Šć—èŻ­)
Từ vá»±ng chuyĂȘn ngĂ nh sáșŁn xuáș„t giĂ y da (tiáșżng trung việt) éž‹ç±»ćžžè§èŻæ±‡(æ±‰èŻ­ - è¶Šć—èŻ­)Học Huỳnh BĂĄ
 
Common shoe and footwear vocabulary (english chinese-vietnamese)éž‹ç±»ćžžè§èŻæ±‡(è‹±èŻ­ă€æ±‰èŻ­ă€...
Common shoe and footwear vocabulary (english chinese-vietnamese)éž‹ç±»ćžžè§èŻæ±‡(è‹±èŻ­ă€æ±‰èŻ­ă€...Common shoe and footwear vocabulary (english chinese-vietnamese)éž‹ç±»ćžžè§èŻæ±‡(è‹±èŻ­ă€æ±‰èŻ­ă€...
Common shoe and footwear vocabulary (english chinese-vietnamese)éž‹ç±»ćžžè§èŻæ±‡(è‹±èŻ­ă€æ±‰èŻ­ă€...Học Huỳnh BĂĄ
 
LIST OF CHINESE & VIETNAMESE COLOR NAMES èĄšç€ș鱜è‰Čçš„è‹±èŻ­&è¶Šć—èŻ­èŻæ±‡ DANH MỀC Tá»Ș Vá»°NG VỀ MÀ...
LIST OF CHINESE & VIETNAMESE COLOR NAMES èĄšç€ș鱜è‰Čçš„è‹±èŻ­&è¶Šć—èŻ­èŻæ±‡ DANH MỀC Tá»Ș Vá»°NG VỀ MÀ...LIST OF CHINESE & VIETNAMESE COLOR NAMES èĄšç€ș鱜è‰Čçš„è‹±èŻ­&è¶Šć—èŻ­èŻæ±‡ DANH MỀC Tá»Ș Vá»°NG VỀ MÀ...
LIST OF CHINESE & VIETNAMESE COLOR NAMES èĄšç€ș鱜è‰Čçš„è‹±èŻ­&è¶Šć—èŻ­èŻæ±‡ DANH MỀC Tá»Ș Vá»°NG VỀ MÀ...Học Huỳnh BĂĄ
 
GiĂĄo ĂĄn nghiệp vỄ đàm thoáșĄi tiáșżng anh trong nhĂ  trường
GiĂĄo ĂĄn nghiệp vỄ đàm thoáșĄi tiáșżng anh trong nhĂ  trườngGiĂĄo ĂĄn nghiệp vỄ đàm thoáșĄi tiáșżng anh trong nhĂ  trường
GiĂĄo ĂĄn nghiệp vỄ đàm thoáșĄi tiáșżng anh trong nhĂ  trườngHọc Huỳnh BĂĄ
 
GiĂĄo ĂĄn dáșĄy tiáșżng anh văn phĂČng
GiĂĄo ĂĄn dáșĄy tiáșżng anh văn phĂČngGiĂĄo ĂĄn dáșĄy tiáșżng anh văn phĂČng
GiĂĄo ĂĄn dáșĄy tiáșżng anh văn phĂČngHọc Huỳnh BĂĄ
 
Useful vocabulary for the resume and interview è‹±æ–‡çź€ćŽ†ćŠéąèŻ•æœ‰ç”šèŻæ±‡ danh mỄc từ vá»±ng a...
Useful vocabulary for the resume and interview è‹±æ–‡çź€ćŽ†ćŠéąèŻ•æœ‰ç”šèŻæ±‡ danh mỄc từ vá»±ng a...Useful vocabulary for the resume and interview è‹±æ–‡çź€ćŽ†ćŠéąèŻ•æœ‰ç”šèŻæ±‡ danh mỄc từ vá»±ng a...
Useful vocabulary for the resume and interview è‹±æ–‡çź€ćŽ†ćŠéąèŻ•æœ‰ç”šèŻæ±‡ danh mỄc từ vá»±ng a...Học Huỳnh BĂĄ
 
Quy trĂŹnh hoĂ n thĂ nh bĂ i thi icdl
Quy trĂŹnh hoĂ n thĂ nh bĂ i thi icdlQuy trĂŹnh hoĂ n thĂ nh bĂ i thi icdl
Quy trĂŹnh hoĂ n thĂ nh bĂ i thi icdlHọc Huỳnh BĂĄ
 
Những máș«u Ä‘ÆĄn cáș§n thiáșżt
Những máș«u Ä‘ÆĄn cáș§n thiáșżtNhững máș«u Ä‘ÆĄn cáș§n thiáșżt
Những máș«u Ä‘ÆĄn cáș§n thiáșżtHọc Huỳnh BĂĄ
 
Common english & chinese phrases for administrative personnel(third edition) ...
Common english & chinese phrases for administrative personnel(third edition) ...Common english & chinese phrases for administrative personnel(third edition) ...
Common english & chinese phrases for administrative personnel(third edition) ...Học Huỳnh BĂĄ
 
Curriculum vitae template äžȘäșș缀掆 - cv xin việc tiáșżng anh - trung (hoa)
Curriculum vitae template   äžȘäșș缀掆 - cv xin việc tiáșżng anh - trung (hoa)Curriculum vitae template   äžȘäșș缀掆 - cv xin việc tiáșżng anh - trung (hoa)
Curriculum vitae template äžȘäșș缀掆 - cv xin việc tiáșżng anh - trung (hoa)Học Huỳnh BĂĄ
 

More from Học Huỳnh BĂĄ (16)

BÀI GIáșąNG NGở PHÁP TIáșŸNG ANH NGÀNH GIA CÔNG SáșąN XUáș€T
BÀI GIáșąNG NGở PHÁP TIáșŸNG ANH NGÀNH GIA CÔNG SáșąN XUáș€TBÀI GIáșąNG NGở PHÁP TIáșŸNG ANH NGÀNH GIA CÔNG SáșąN XUáș€T
BÀI GIáșąNG NGở PHÁP TIáșŸNG ANH NGÀNH GIA CÔNG SáșąN XUáș€T
 
Civil aviation english chinese-vietnamese vocabulary (popular language) - từ ...
Civil aviation english chinese-vietnamese vocabulary (popular language) - từ ...Civil aviation english chinese-vietnamese vocabulary (popular language) - từ ...
Civil aviation english chinese-vietnamese vocabulary (popular language) - từ ...
 
Tell about a girl boy that you interested in
Tell about a girl boy that you interested inTell about a girl boy that you interested in
Tell about a girl boy that you interested in
 
Từ vá»±ng chuyĂȘn ngĂ nh sáșŁn xuáș„t giĂ y da (tiáșżng trung việt) éž‹ç±»ćžžè§èŻæ±‡(æ±‰èŻ­ - è¶Šć—èŻ­)
Từ vá»±ng chuyĂȘn ngĂ nh sáșŁn xuáș„t giĂ y da (tiáșżng trung   việt) éž‹ç±»ćžžè§èŻæ±‡(æ±‰èŻ­ - è¶Šć—èŻ­)Từ vá»±ng chuyĂȘn ngĂ nh sáșŁn xuáș„t giĂ y da (tiáșżng trung   việt) éž‹ç±»ćžžè§èŻæ±‡(æ±‰èŻ­ - è¶Šć—èŻ­)
Từ vá»±ng chuyĂȘn ngĂ nh sáșŁn xuáș„t giĂ y da (tiáșżng trung việt) éž‹ç±»ćžžè§èŻæ±‡(æ±‰èŻ­ - è¶Šć—èŻ­)
 
Common shoe and footwear vocabulary (english chinese-vietnamese)éž‹ç±»ćžžè§èŻæ±‡(è‹±èŻ­ă€æ±‰èŻ­ă€...
Common shoe and footwear vocabulary (english chinese-vietnamese)éž‹ç±»ćžžè§èŻæ±‡(è‹±èŻ­ă€æ±‰èŻ­ă€...Common shoe and footwear vocabulary (english chinese-vietnamese)éž‹ç±»ćžžè§èŻæ±‡(è‹±èŻ­ă€æ±‰èŻ­ă€...
Common shoe and footwear vocabulary (english chinese-vietnamese)éž‹ç±»ćžžè§èŻæ±‡(è‹±èŻ­ă€æ±‰èŻ­ă€...
 
LIST OF CHINESE & VIETNAMESE COLOR NAMES èĄšç€ș鱜è‰Čçš„è‹±èŻ­&è¶Šć—èŻ­èŻæ±‡ DANH MỀC Tá»Ș Vá»°NG VỀ MÀ...
LIST OF CHINESE & VIETNAMESE COLOR NAMES èĄšç€ș鱜è‰Čçš„è‹±èŻ­&è¶Šć—èŻ­èŻæ±‡ DANH MỀC Tá»Ș Vá»°NG VỀ MÀ...LIST OF CHINESE & VIETNAMESE COLOR NAMES èĄšç€ș鱜è‰Čçš„è‹±èŻ­&è¶Šć—èŻ­èŻæ±‡ DANH MỀC Tá»Ș Vá»°NG VỀ MÀ...
LIST OF CHINESE & VIETNAMESE COLOR NAMES èĄšç€ș鱜è‰Čçš„è‹±èŻ­&è¶Šć—èŻ­èŻæ±‡ DANH MỀC Tá»Ș Vá»°NG VỀ MÀ...
 
GiĂĄo ĂĄn nghiệp vỄ đàm thoáșĄi tiáșżng anh trong nhĂ  trường
GiĂĄo ĂĄn nghiệp vỄ đàm thoáșĄi tiáșżng anh trong nhĂ  trườngGiĂĄo ĂĄn nghiệp vỄ đàm thoáșĄi tiáșżng anh trong nhĂ  trường
GiĂĄo ĂĄn nghiệp vỄ đàm thoáșĄi tiáșżng anh trong nhĂ  trường
 
GiĂĄo ĂĄn dáșĄy tiáșżng anh văn phĂČng
GiĂĄo ĂĄn dáșĄy tiáșżng anh văn phĂČngGiĂĄo ĂĄn dáșĄy tiáșżng anh văn phĂČng
GiĂĄo ĂĄn dáșĄy tiáșżng anh văn phĂČng
 
Useful vocabulary for the resume and interview è‹±æ–‡çź€ćŽ†ćŠéąèŻ•æœ‰ç”šèŻæ±‡ danh mỄc từ vá»±ng a...
Useful vocabulary for the resume and interview è‹±æ–‡çź€ćŽ†ćŠéąèŻ•æœ‰ç”šèŻæ±‡ danh mỄc từ vá»±ng a...Useful vocabulary for the resume and interview è‹±æ–‡çź€ćŽ†ćŠéąèŻ•æœ‰ç”šèŻæ±‡ danh mỄc từ vá»±ng a...
Useful vocabulary for the resume and interview è‹±æ–‡çź€ćŽ†ćŠéąèŻ•æœ‰ç”šèŻæ±‡ danh mỄc từ vá»±ng a...
 
BáșŁng chữ cĂĄi hiragana
BáșŁng chữ cĂĄi hiraganaBáșŁng chữ cĂĄi hiragana
BáșŁng chữ cĂĄi hiragana
 
BáșŁng chữ cĂĄi katakana
BáșŁng chữ cĂĄi katakanaBáșŁng chữ cĂĄi katakana
BáșŁng chữ cĂĄi katakana
 
Quy trĂŹnh hoĂ n thĂ nh bĂ i thi icdl
Quy trĂŹnh hoĂ n thĂ nh bĂ i thi icdlQuy trĂŹnh hoĂ n thĂ nh bĂ i thi icdl
Quy trĂŹnh hoĂ n thĂ nh bĂ i thi icdl
 
Application for-employment
Application for-employmentApplication for-employment
Application for-employment
 
Những máș«u Ä‘ÆĄn cáș§n thiáșżt
Những máș«u Ä‘ÆĄn cáș§n thiáșżtNhững máș«u Ä‘ÆĄn cáș§n thiáșżt
Những máș«u Ä‘ÆĄn cáș§n thiáșżt
 
Common english & chinese phrases for administrative personnel(third edition) ...
Common english & chinese phrases for administrative personnel(third edition) ...Common english & chinese phrases for administrative personnel(third edition) ...
Common english & chinese phrases for administrative personnel(third edition) ...
 
Curriculum vitae template äžȘäșș缀掆 - cv xin việc tiáșżng anh - trung (hoa)
Curriculum vitae template   äžȘäșș缀掆 - cv xin việc tiáșżng anh - trung (hoa)Curriculum vitae template   äžȘäșș缀掆 - cv xin việc tiáșżng anh - trung (hoa)
Curriculum vitae template äžȘäșș缀掆 - cv xin việc tiáșżng anh - trung (hoa)
 

24 gio hoc flash

  • 1. Gi th 01: LĂ m quen v i AS, Your First Look at AS AS lĂ  m t ngĂŽn ng l p trĂŹnh Æ° c xĂąy d ng trong Flash. AS gi ng nhÆ° cĂĄc ngĂŽn ng khĂĄc nhÆ° Javascript, C++ v.v. nhÆ°ng b n khĂŽng c n bi t cĂĄc ngĂŽn ng khĂĄc h c AS (n u cĂł thĂŹ cĂ ng d hÆĄn). B t Ăąu h c AS, thĂŹ chĂșng ta coi th AS lĂ  gĂŹ, lĂ m Æ° c nh ng gĂŹ vĂ  cĂł quan h gĂŹ v i cĂĄc ch c năng khĂĄc c a Flash. Trong bĂ i nĂ y, b n s tĂŹm hi u coi AS ra i nhÆ° th nĂ o, xem cĂĄch vi t AS lĂ m sao, tĂŹm hi u AS lĂ m Æ° c nh ng gĂŹ vĂ  sau sau cĂčng lĂ  xĂĄc nh Æ° c nÆĄi lÆ°u tr AS trong Flash. i sĂĄt nghÄ©a vĂ  ti n cho sau nĂ y, mĂŹnh s khĂŽng d ch m t s t ng ra ti ng vi t nhÆ° script, movieclip v.v. Script lĂ  gĂŹ? AS lĂ  ngĂŽn ng l p trĂŹnh, v i cĂĄc l nh sai khi n Flash movie lĂ m vi c theo Ășng nh ng gĂŹ mĂŹnh vi t (ch cĂł mĂŹnh vi t sai ch computer khĂŽng lĂ m sai ). Ph n nhi u thĂŹ AS ch lĂ m vi c trong mĂŽi trÆ° ng c a Flash, tuy nhiĂȘn AS cĆ©ng cĂł th g i l nh cho browser, h i u hĂ nh v.v. Script cĂł th ng n g n vĂ i ch hay cĆ©ng cĂł th dĂ i c trăm trang. Script cĂł th Æ° c vi t g p l i m t ch hay cĆ©ng cĂł th vi t rĂŁi rĂĄc kh p nÆĄi trong movie. Xu t x c a AS AS rĂąt gi ng ngĂŽn ng C++, Java, javascript .v.v vĂ  Æ° c d a trĂȘn tiĂȘu chu n do ECMA (European Computer Manufactuers Association) l p ra g i lĂ  ECMAScript. Nhi u ngÆ° i hi u l m r ng AS d a trĂȘn Javascript, nhÆ°ng th c ch t c 2 u d a trĂȘn ECMAScript. LĂșc u vi t script trong Flash r t ÆĄn gi n vĂ  cho t i Flash 4 m i u c phĂĄt tri n nhÆ°ng cĆ©ng v n cĂČn "thĂŽ sÆĄ" v i nh ng vĂČng l p vĂ  cĂĄc i u ki n "if...else". Cho t i Flash 5 thĂŹ dĂąn Flash m i cĂł th l p trĂŹnh vĂ  g n li n script v i cĂĄc y u t trong movie. . Sang t i Flash MX thĂŹ AS ĂŁ tr thĂ nh ngĂŽn ng l p trĂŹnh toĂ n di n v i hÆĄn 300 cĂąu l nh, hĂ m .v.v Nh n biĂȘt AS AS ÆĄn gi n lĂ  nh ng cĂąu l nh Æ° c vi t b ng ti ng Anh (vĂŹ l nĂ y mĂ  mĂŹnh s khĂŽng d ch cĂĄc tÆ° ti ng Anh liĂȘn quan n AS, vĂ  m t ph n thĂŹ mĂŹnh khĂŽng gi i thu t ng computer hay ti ng vi t cho l m) vĂ  cĂĄc phĂ©p tĂ­nh vĂ  d u cĂąu. VĂ­ d sau: ActionScript on (press) { gotoAndPlay ("my frame"); }
  • 2. B n cĂł th gi i nghÄ©a o n mĂŁ trĂȘn b ng cĂĄch tĂŹm hi u cĂĄc t chĂ­nh trong Ăł. Ch "press" g i Ăœ răng ngÆ° i dĂčng ang kĂ­ch chu t vĂ o m t cĂĄi gĂŹ Ăł, (vĂ  trong trÆ° ng h p nĂ y lĂ  cĂĄi nĂșt) Ch k ti p "gotoAndPlay" do 4 ch "go to and play" g p l i, g i Ăœ r ng AS ra l nh cho Flash t im t i m nĂ o Ăł trong movie vĂ  b t u chÆĄi t i m Ăł. AS cĂł th lĂ m nh ng gĂŹ? Flash movie g m cĂł cĂĄc scence (c nh), vĂ  m i c nh s cĂł 1 timeline (th i gi n bi u???) vĂ  timeline s cĂł cĂĄc frame (khung) b t u t s 1. ThĂŽng thÆ° ng thĂŹ Flash s chÆĄi t frame 1 cho t i frame cu i c a scence v i t c c nh vĂ  d ng l i hay l p l i t u tuy theo ngÆ° i lĂ m Flash. M c Ă­ch chĂ­nh c a AS lĂ  thay i th t trong cĂĄch chÆĄi c a Flash. AS cĂł th dĂčng b t frame nĂ o, hay ch y ngÆ° c tr l i frame trÆ° c hay nh y vĂ i frame r i chÆĄi ti p. NhÆ°ng Ăł khĂŽng ch lĂ  nh ng gĂŹ AS cĂł th lĂ m Æ° c. AS cĂł th bi n film ho t hĂŹnh c a Flash thĂ nh m t chÆ°ÆĄng trĂŹnh ng d ng cĂł s tÆ°ÆĄng tĂĄc c a ngÆ° i dĂčng. DÆ° i Ăąy lĂ  nh ng cÆĄ b n mĂ  AS cĂł th lĂ m: ‱ Ho t hĂŹnh: B n khĂŽng c n AS lĂ m ho t hĂŹnh, nhÆ°ng v i AS thĂŹ b n cĂł th t o nh ng ho t hĂŹnh ph c t p hÆĄn. VĂ­ d , trĂĄi banh cĂł th tÆ°ng xung quanh mĂ nh hĂŹnh mĂ  khĂŽng bao gi ng ng, vĂ  tuĂąn theo cĂĄc nh lu t v t lĂœ nhÆ° l c hĂșt, l c ma sĂĄt, l c ph n v.v N u khĂŽng cĂł AS thĂŹ b n c n ph i dĂčng c hĂ ng ngĂ n frame lĂ m, cĂČn v i AS thĂŹ ch 1 frame cĆ©ng ‱ Navigation (hĂŽng bi t d chlĂ m sao cho hay ): thay vĂŹ movie ch chÆĄi t ng frame 1 theo th t thĂŹ b n cĂł th d ng movie b t c frame nĂ o, vĂ  cho phĂ©p ngÆ° i dĂčng cĂł th chÆĄi b t c frame nĂ o .v.v ‱ Thu nh p thĂŽng tin t ngÆ° i dĂčng (user input): b n cĂł th dĂčng AS h i ngÆ° i dĂčng 1 c u h i, r i dĂčng thĂŽng tĂŹn Ăł trong movie hay cĂł th g i cho server hay lĂ m nh ng gĂŹ b n mu n. ‱ Thu nh p thĂŽng tĂŹn t cĂĄc ngu n khĂĄc: AS cĂł th tÆ°ÆĄng tĂĄc v i server vĂ  l y cĂĄc thĂŽng tin t server hay text file ‱ TĂ­nh toĂĄn: AS cĂł th lĂ m b t c phĂ©p tĂ­nh nĂ o mĂ  toĂĄn h c cho phĂ©p ‱ Thay i hĂŹnh nh trong movie: AS cĂł th thay i kĂ­ch thÆ° c, mĂ u s c, v trĂ­ c a b t c movie clip (MC) nĂ o trong movie flash c a b n. B n cĂł th t o thĂȘm phiĂȘn b n hay xoĂĄ b i phiĂȘn b n c a MC v i AS ‱ PhĂąn tĂ­ch mĂŽi trÆ° ng c a mĂĄy tĂ­nh: V i AS b n cĂł th l y gi t h i u hĂ nh hay a ch ang chÆĄi movie Flash Ăł. ‱ i u khi n Ăąm thanh trong flash movie: AS lĂ  cĂĄch t t nh t i u khi n Ăąm thanh trong Flash,AS cĂł chÆĄi ch m, chÆĄi nhanh, ng ng, quay vĂČng .v.v bĂąt kỳ Ăąm thanh nĂ o trong Flash. PhĂĄt tri n cĂĄc kh năng c a AS i u quan tr ng nh t mĂ  AS cĂł th lĂ m cho b n lĂ  nh ng gĂŹ chÆ°a ai nghÄ© t i V i AS vĂ  trĂ­ tÆ° ng tÆ° ng vĂ  Ăłc sĂĄng t o c a b n thĂŹ khĂŽng cĂł gĂŹ lĂ  khĂŽng th x y ra v i AS Æ° c. M c Ă­ch c a cĂĄc sĂĄch, vĂ  c a VNFX lĂ  hÆ° ng d n b n hi u bi t v Flash t Ăł
  • 3. b n cĂł th t dĂčng nĂł lĂ m ra nh ng s n ph m tuy t v i mĂ  khĂŽng ai cĂł. Vi t AS Ăąu CĂąu h i u tiĂȘn nh ng ai tĂŹm hi u AS thÆ° ng h i lĂ  "Vi t AS vĂ o Ăąu?". Flash cĂł m t mĂŽi trÆ° ng lĂ m multimedia khĂĄ ph c t p. N u b n ĂŁ dĂčng Flash r i hay ĂŁ c qua cĂĄc hÆ° ng d n i kĂšm v i Flash, thĂŹ b n ĂŁ bi t cĂĄc y u t cÆĄ b n nhÆ° timeline, key frame v.v. nĂȘu b n chÆ°a bi t thĂŹ mĂŹnh khuyĂȘn b n nĂȘn tĂŹm hi u trÆ° c r i tiĂȘp t c Ăąy. Æ  trong m c Flash T ng QuĂĄ, VNFX cĂł post link download 3 cĂĄi CD hÆ° ng d n cÆĄ b n cho ngÆ° i chÆ°a bao gi dĂčng Flash. Vi t AS time line AS cĂł th vi t vĂ o key frame b t c timeline nĂ o. lĂ m nhÆ° v y, b n ch n key frame trong timeline trÆ° c r i b n m Action Panel ra (cĂł th nh n F9) viĂȘt hay xem AS ĂŁ Æ° c vi t Ăł. MĂŹnh khuyĂȘn b n nĂȘn dĂčng Action Panel dÆ° i d ng Expert hÆĄn lĂ  Normal, vĂŹ nhÆ° v y b n s h c Æ° c nhi u vĂ  l hÆĄn. Khi vi t AS vĂ o key frame nhÆ° v y thĂŹ AS key frame Ăł s ho t ng khi mĂ  Flash chÆĄi t i key frame Ăł. VĂ­ d nhÆ° l nh AS stop() Æ° c t key frame 5 thĂŹ Flash chÆĄi t i key frame 5 thĂŹ s d ng l i cho t i khi cĂł l nh khĂĄc. cĂĄch vi t nĂ y g i lĂ  vi t vĂ o time line M t trong nh ng lĂœ do vi t script vĂ o time line lĂ  khi b n mu n dĂčng function (hĂ m), vĂŹ function cho phĂ©p chĂșng ta tĂĄi s d ng o n mĂŁ Ăł t nhi u nÆĄi, nhi u level khĂĄc. ViĂȘt AS nĂșt CĂĄc ph n t c a Flash movie Æ° c g i lĂ  symbol (bi u tÆ° ng). thÆ° ng thĂŹ symbol lĂ  cĂĄc hĂŹnh nh. VĂ  cĂł 3 lo i symbol: button (nĂșt), graphich (hĂŹnh nh), movie clips( o n phim). 3 lo i trĂȘn thĂŹ AS khĂŽng th vi t li n v i graphic, cĂČn button vĂ  movie clip thĂŹ OK. NĂșt s khĂŽng cĂł tĂĄc d ng gĂŹ c n u nhÆ° khĂŽng kĂšm AS lĂȘn trĂȘn nĂł. Mu n kĂšm AS vĂ o nĂșt thĂŹ ch n nĂșt trĂȘn stage (sĂąn kh u: di n tĂ­ch c a flash movie), r i sau Ăł m Action panel vĂ  vi t vĂ o Ăł nhÆ° ta vi t vĂ o key frame. AS vi t trĂȘn nĂșt ch ho t ng khi chu t ho c bĂ n phĂ­m tĂĄc ng lĂȘn nĂșt mĂ  thĂŽi Vi t AS MC MC khĂĄc v i graphic ch MC Æ° c t tĂȘn khi mang vĂ o stage, MC thÆ° ng lĂ  hĂŹnh Ă nh ng, vĂ  cĂł th cĂł AS kĂšm theo MC. vi t AS vĂ o MC thĂŹ cĆ©ng tÆ°ÆĄng t nhÆ° ta lĂ m v i nĂșt. AS kĂšm theo MC cĂł th i u khi n MC Ăł hay lĂ  cĂĄc MC trong cĂčng m t timeline hay cĂĄc timeline ngoĂ i movie BĂ i t p
  • 4. 1. T o m t movie m i 2. t o 3 key frames 3. Dung Flash v m i hĂŹnh khĂĄc nhau cho m i frame 4. Ch y th movie (nh n Control + enter) 5. Sau Ăł tr l i timeline, vi t vĂ o keyframe 2 o n mĂŁ : "stop();" 6. Cho ch y th movie l n n a 7. VĂ  kỳ nĂ y b n ch th y Flash chÆĄi t i frame th 2 thĂŹ ng ng, vĂ  b n ĂŁ thĂ nh cĂŽng trong vi c vi t AS : Gi th 02: S d ng Action panel, Using the Script Editing Window N u dĂąn ho coi Timeline lĂ  nhĂ  thĂŹ dĂąn l p trĂŹnh v i AS coi Action Panel lĂ  nÆĄi cÆ° ng c a mĂŹnh, t i Ăł dĂąn AS cĂł th thay i, vi t t t c cĂĄc l nh. VĂŹ v y r t quan tr ng lĂ  b n cĂł th s d ng quen thu c Action Panel Flash MX s d ng cĂĄc panel giĂșp b n cĂł th l y cĂĄc thĂŽng tin v movie b n ang lĂ m m t cĂĄch d dĂ ng. Khi b n cĂ i t vĂ  chay Flash l n u tiĂȘn, Flash s h i b n mu n s d ng Flash nhÆ° th nĂ o vĂ  Flash s x p t cĂĄc panel cho h p lĂœ. B n cĆ©ng cĂł th thay i cĂĄch x p t theo Ăœ c a b n. NĂłi chung b n nĂȘn x p t cĂĄc panel c a b n lĂ m sao cho thu n ti n cho b n nh t, vĂ  cĂĄi nĂ y cĆ©ng c n cĂł kinh nghi m Ăł MĂŹnh dĂčng dual monitor, mĂŹnh close h t cĂĄc panel ch gi l i 2 cĂĄi chĂ­nh trĂȘn mĂ n hĂŹnh, mĂŹnh kĂ©o cĂĄi action panel vĂ  property panel qua m t bĂȘn monitor, cĂČn cĂĄi bĂȘn kia cho cĂĄi stage, n u c n m panel nĂ o thĂŹ mĂŹnh dĂčng phĂ­m t t m . S d ng Action panel cĂł 2 cĂĄch: bĂŹnh thÆ° ng (normal) vĂ  chuyĂȘn d ng (expert). Khi m i ch y mĂĄy l n u thĂŹ Action panel Æ° c set dÆ° i d ng bĂŹnh thÆ° ng. d ng bĂŹnh thÆ° ng thĂŹ b n khĂŽng cĂł th ĂĄnh tr c ti p cĂĄc cĂąu l nh, mĂ  ph i ch n t cĂĄc menu bĂȘn tay trĂĄi c a panel. V i setup nhÆ° v y thĂŹ b n khĂŽng bao gi ph m ph i l i khi vi t AS c . MĂŹnh s b ph n hÆ° ng d n dĂčng normal vĂŹ mĂŹnh th y dĂčng normal mode s khĂŽng bao gi ti n Æ° c, dĂčng expert mode lĂșc u hÆĄi m t nhÆ°ng b o m lĂ  cĂĄc b n s h c Æ° c mau vĂ  nh lĂąu hÆĄn S d ng Action panel v i expert mode thĂŹ b n cĂł nhi u t do hÆĄn, nhÆ°ng t do ng nghÄ©a v i trĂĄch nhi m nĂȘn b n ph i c n th t khi vi t code. T normal mode chuy n sang expert mode thĂŹ nh n phĂ­m t t CONTROL + SHIFT + E, chuy n ngÆ° c l i thĂŹ dĂčng CONTROL + SHIFT + N (nh kĂ­ch chu t vĂ o action panel trÆ° c khi dĂčng phĂ­m t t). B n cĂł th i t Normal mode sang expert mode b t c lĂșc nĂ o, nhÆ°ng i ngÆ° c l i thĂŹ ch Æ° c khi mĂ  code c a b n khĂŽng cĂł l i. Action panel cĂł popup menu (mĆ©i tĂȘn ch xu ng dÆ° i, n m gĂłc ph i c a action panel) vĂ  trong Ăł cĂł nhi u l nh r t t t cho b n khi b n dĂčng Action panel, nh t lĂ  i v i Expert mode. B n cĂł th tĂŹm vĂ  thay th b t c cĂąu nĂ o, ch nĂ o trong script c a b n. PhĂ­m t t cho tĂŹm ki m lĂ  Control + F vĂ  cho thay th lĂ  Control + H, nh n F3 thĂŹ Flash s ti p t c tĂŹm ch , cĂąu b n mu n tĂŹm.
  • 5. M t l nh n a lĂ  "Goto Line" giĂșp b n tĂŹm Æ° c cĂąu b n mu n tĂŹm. L nh "Check Syntax" s rĂ  soĂĄt script c a b n vĂ  tĂŹm nh ng l i cĂș phĂĄp. LĂșc m i t p vi t AS, thĂŹ dĂčng nĂȘn thÆ° ng xuyĂȘn dĂčng Chech Syntax check l i trong sctipt. L nh ti p theo lĂ  "Auto Format" vĂ  "Auto Format Options" giĂșp cho b n trĂŹnh bĂ y script c a b n cho d c hÆĄn. B n cĂł th thay i mĂ u s c, font ch v.v. cho script c a b n cho b n d c code hÆĄn b ng cĂĄch vĂ o Edit > Preferences > ActionScript Editor. CĂĄc ph n cĂČn l i c a pop-up window cho phĂ©p b n Æ° c xu t hay nh p AS dÆ° i d ng text file vĂ  in script ra gi y. Tuy g i lĂ  expert mode nhÆ°ng th c ra dĂčng cĂČn d hÆĄn lĂ  normal mode. B i vĂŹ dÆ° i expert mode thi Action panel ch ng khĂĄc gĂŹ chÆ°ÆĄng trĂŹnh "note pad" hay "text pad". B n ch vi c vi t nh ng gĂŹ b n mu n vĂ o Ăł. Khi dĂčng dÆ° i expert mode, b n v n cĂł th tham kh o cĂĄc cĂąu l nh, cĂĄc cĂș phĂĄp c a AS cĂĄi khung bĂȘn trĂĄi c a Action Panel. VĂ  n u b n tĂŽn th m t s quy t t thĂŹ b n s s Æ° c ch c năng "Code Hint" c a Action Panel, ch c năng nĂ y t o nĂȘn nhÆ°ng khung nh nh trong Ăł cĂł nh ng cĂąu l nh c a AS Ășng h p quy cho b n l a ch n. tr thĂ nh m t "cao th " v AS thĂŹ b n khĂŽng th nĂ o khĂŽng n m v ng v Action panel Æ° c. Sau Ăąy lĂ  bĂ i th c hĂ nh nho nh , giĂșp b n lĂ m quen v i Action panel dÆ° i expert mode 1. T o m t movie m i 2. Ch n key frame u tiĂȘn (frame s 1) c a layer 1 (mĂŹnh khĂŽng d ch ch layer = l p vĂŹ d trĂčng v i class= l p) 3. M Action panel (cĂł th dĂčng phĂ­m t t hay vĂ o trong ph n Window > Action panel 4. Chuy n sang expert mode (dĂčng phĂ­m t t hĂ y vĂ o trong pop-up menu c a Action panel i) 5. VĂ o ch vi t AS 6. Vi t o n code sau: ActionScript trace ("I am expert"); Khi b n th movie thĂŹ dĂČng ch "I am expert" s Æ° c hi n ra trong Output panel, vĂ  mĂŹnh s c p n l nh trace() vĂ o nh ng gi t i
  • 6. Gi th 03: H c cĂĄch l p trĂŹnh, Learning to program L p trĂŹnh cĂł th coi lĂ  khoa h c vĂ  ngh thu t. VĂŹ v y l p trĂŹnh viĂȘn gi i c n cĂł 2 i u ki n ki n th c v ngĂŽn ng mĂ  h dĂčng vĂ  tĂ­nh sĂĄng t o, Ă­t khi nĂ o cĂł trÆ° ng h p ch cĂł 1 cĂĄch l p trĂŹnh cho m t ĂĄn l m. Trong quĂĄ trĂŹnh vi t AS, b n s t o ra cho riĂȘng mĂŹnh m t phong thĂĄi vi t code khĂĄ c trÆ°ng. CĂł th m i u b n s dĂčng phong cĂĄch vi t code trong nh ng bĂ i vi t nĂ y, r i sau Ăł b n s t t chuy n sang phong cĂĄch c a riĂȘng b n ThÆ° ng thĂŹ khĂĄi ni m v cĂĄc ngĂŽn ng l p trĂŹnh u gi ng nhau, vĂ  trong bĂ i nĂ y s bĂ n v nh ng khĂĄi ni m l p trĂŹnh vĂ  lĂ m sao ĂĄp d ng nĂł trong Flash CĂĄch suy nghÄ© c a computer Th t ra computer d t l m ch ng bi t suy nghÄ© Ăąu, ch bi t lĂ m vi c theo m nh l nh m t cĂĄch khĂŽng suy nghÄ©. VĂŹ v y computer khĂŽng bao gi l i mĂ  l i ngÆ° i vi t l nh sai khi n nĂł. CĂČn AS ch lĂ  m t chu i l nh, ch th cho computer, hay Ășng ra lĂ  Flash ph i lĂ m nh ng gĂŹ trong mĂŽi trÆ° ng runtime (runtime environment). Khi vi t AS thĂŹ b n nĂȘn t coi mĂŹnh "ngu" nhÆ° computer, vĂ  c l i nh ng dĂČng l nh AS vĂ  nghÄ© t i k t qu c a vi c thi hĂ nh l nh Ăł. Khi t t mĂŹnh vĂ o v trĂ­ c a computer, b n s oĂĄn Æ° c script c a b n s lĂ m nh ng gĂŹ trong mĂŽi trÆ° ng runtime, vĂ  b n cĂł th th y ra nh ng l i mĂ  b n vĂŽ Ăœ m c ph i. Khi mĂ  b n tr thĂ nh di n viĂȘn tuy t v i trong vai computer thĂŹ b n cĆ©ng tr thĂ nh m t l p trĂŹnh viĂȘn tĂ i ba. L nh, hĂ m, vĂ  phĂ©p tĂ­nh L nh (command) lĂ  y u t căn b n c a AS ch th Flash lĂ m m t hĂ nh ng c th . L nh Æ° c thi hĂ nh tuy t i trong cĂĄc trÆ° ng h p kh thi. VĂ­ d n u nhÆ° ta vi t gotoAndPlay(5) cho Flash t i frame 5 vĂ  chÆĄi, nhÆ°ng n u trong movie khĂŽng cĂł frame 5 thĂŹ l nh khĂŽng th lĂ m Æ° c. HĂ m (function, mĂŹnh s dĂčng t function nhi u hÆĄn lĂ  hĂ m) lĂ  ph n tĂ­nh toĂĄn cĂĄc phĂ©p tĂ­nh vĂ  cho ra (return) m t k t qu . VĂ­ d hĂ m random() s cho ra m t con s ng u nhiĂȘn nĂ o Ăł, hay hĂ m sqrt() s cho ra giĂĄ tr bĂŹnh phÆ°ÆĄng c a 1 s mĂ  hĂ m nh n Æ° c truy n cho. L nh vĂ  hĂ m u cĂł th Æ° c truy n cho 1 hay nhi u thĂŽng s (parameter, mĂŹnh s dĂčng t parameter thay vĂŹ thĂŽng s ), vĂ  nh ng thĂŽng s Ăł giĂșp cho hĂ m vĂ  l nh Æ° c c th hÆĄn. VĂ­ d gotoAndPlay(5) thĂŹ 5 lĂ  thĂŽng s , n u nhÆ° khĂŽng cĂł thĂŽng s nĂ y thĂŹ l nh "gotoAndPlay" s khĂŽng bi t rĂ” ph i nĂłi Flash i Ăąu. cĆ©ng nhÆ° hĂ m sqrt() cĆ©ng c n cĂł thĂŽng s cho ra giĂĄ tr bĂŹnh phÆ°ÆĄng c a s y. S khĂĄc bi t gi a hĂ m vĂ  l nh chĂ­nh lĂ  cĂĄc phĂ©p tĂ­nh. PhĂ©p tĂ­nh thÆ° ng lĂ  nh ng d u +, -, *, / hay lĂ  phĂ©p so sĂĄnh <, ==. >. HĂ m cĂł phĂ©p tĂ­nh, l nh thĂŹ khĂŽng
  • 7. Bi n s Bi n s (parameter) c n thi t trong m i ngĂŽn ng l p trĂŹnh vĂŹ nĂł lÆ°u tr thĂŽng tin v m t cĂĄi gĂŹ Ăł trong chÆ°ÆĄng trĂŹnh. Bi n s g m cĂł 2 ph n: tĂȘn vĂ  giĂĄ tr . ĂŽi khi b n ch c n lÆ°u tr thĂŽng tin trong bi n s m t th i gian ng n, vĂ­ d b n mu n Flash thi hĂ nh 1 s l nh 10 l n thĂŹ b n c n m s l n mĂ  Flash ĂŁ thi hĂ nh l nh cĂł th ra l nh cho Flash ngÆ°ng ngay sau khi thi hĂ nh xong l nh l n th 10. NhÆ°ng cĆ©ng cĂł lĂșc b n c n ph i lÆ°u l i thĂŽng tin trong m t th i gian dĂ i hay trong su t quĂĄ trĂŹnh th i gian Flash chÆĄi. TĂȘn c a bi n s thÆ° ng lĂ  m t nhĂłm t , hay cĆ©ng cĂł th ch ÆĄn gi n lĂ  1 t , hay 1 ch cĂĄi. ThĂŽng thÆ° ng tĂȘn c a bi n s nĂȘn rĂ” rĂ ng d hi u vĂ  nĂłi lĂȘn Æ° c tĂ­nh ch t c a thĂŽng tin mĂ  bi n s ang lÆ°u tr . VĂ­ d n u b n mu n lÆ°u tr tĂȘn c a ngÆ° i dĂčng trong bi n s thĂŹ b n nĂȘn t tĂȘn bi n s Ăł lĂ  userName (mĂŹnh nghÄ© t tĂȘn ti ng Anh d hi u hÆĄn, vĂŹ ti ng vi t khĂŽng d u cĆ©ng d b hi u l m), b n cĂł th t tĂȘn bi n s Ăł lĂ  "n" nhÆ°ng quĂĄ ng n, ngÆ° i c script c a b n s khĂł hi u, n u t lĂ  name thĂŹ d trĂčng v i cĂĄc bi n s hay t khoĂĄ khĂĄc (_name lĂ  m t c tĂ­nh c a i tÆ° ng MovieClip) Khi vi t AS, b n c n lÆ°u Ăœ vi t lĂ m sao cho d hi u vĂ  d c. VĂ  cĂĄc l p trĂŹnh viĂȘn quy Æ° c tĂȘn bi n s theo quy t c sau: tĂȘn bi n s luĂŽn vi t thÆ° ng ch u tiĂȘn, vĂ  vi t hoa ch cĂĄi u tiĂȘn cho cĂĄc ch k ti p, vĂ­ d userName, userLastName, userMotherMaidenName v.v. LÆ°u Ăœ r ng ch cĂĄc ch cĂĄi vĂ  s m i Æ° c dĂčng t tĂȘn cho bi n s , vĂ  luĂŽn b t Ăąu tĂȘn b ng ch cĂĄi. CĂł nhi u lo i bi n s lÆ°u tr nhi u lo i thĂŽng tin, vĂ  ngay m i lo i thĂŽng tin cĆ©ng cĂł th cĂł nhi u lo i khĂĄc nhau n a. NhÆ° s (number) lĂ  m t lo i giĂĄ tr c a bi n s , vĂ  dÆ° i nĂł cĂČn cĂł cĂĄc lo i khĂĄc nhÆ° s nguyĂȘn (integer), s ... khĂŽng nguyĂȘn (floating, double). B n cĆ©ng cĂł th dĂčng bi n s ch a cĂĄc chu i (chu i g i t t cho chu i ch cĂĄi), chu i cĂł th ch cĂł 1 ch cĂĄi, nhi u ch cĂĄi hay lĂ  khĂŽng cĂł gĂŹ h t, t t c cĂĄc chu i sau Ăąy u h p l : "ablsdfjksl", "a", " ", "". Khi vi t m t chu i thĂŹ c n dĂčng d u ngo c kĂ©p ("") b t u vĂ  k t thĂșc chu i. Trong cĂĄc ngĂŽn ng l p trĂŹnh khĂĄc nhÆ° Java, C++, hay ngay c ActionScript 2.0 trong Flash MX 2004 thĂŹ b n ph i xac nh trÆ° c lo i thĂŽng tin nĂ o b n s lÆ°u trong bi n s . NhÆ°ng v i ActionScript 1 (trong FlashMX) thĂŹ b n khĂŽng c n lĂ m vi c nĂ y. VĂ­ d bi n s userName lĂșc u ch a 1 chu i, nhÆ°ng sau Ăł l i ch a 1 s nguyĂȘn thĂŹ cĆ©ng v n h p l . NgoĂ i chu i vĂ  s , cĂČn cĂł nhi u lo i khĂĄc n a nhÆ°ng chĂșng ta s c p t i vĂ o nh ng bĂ i sau. i u ki n Trong nh ng trÆ° ng h p chĂșng ta khĂŽng bi t nĂȘn ra l nh cho Flash ph i lĂ m gĂŹ cho thĂ­ch h p v i t ng tĂŹnh hu ng thĂŹ ta cĂł th dĂčng " i u ki n" ra l nh cho Flash.
  • 8. VĂ­ d n u nhÆ° b n ra l nh cho Flash khĂŽng cho ngÆ° i dĂčng coi m t o n phim trong Flash n u nhÆ° user dÆ° i 18 tu i, n u user trĂȘn 18 tu i thĂŹ hĂŁy chÆĄi o n phim y. TrÆ° c tiĂȘn, Flash s so sĂĄnh s tu i c a user v i s 18, n u nhÆ° s tu i c a user tho mĂŁn i u ki n chĂșng ta t ra thĂŹ Flash s cĂł 1 giĂĄ tr true t phĂ©p so sĂĄnh trĂȘn, vĂ  ngÆ° c l i s lĂ  false i u ki n s luĂŽn luĂŽn lĂ  Ășng (true) hay sai (false). M t giĂĄ tr ch cĂł Ășng hay sai thĂŹ Æ° c g i lĂ  boolean. Sau khi th c hi n phĂ©p so sĂĄnh vĂ  cĂł Æ° c k t qu t phĂ©p so sĂĄnh trĂȘn, Flash s ch n m t trong 2 gi i phĂĄp do chĂșng ta Æ°a ra cho t ng trÆ° ng h p. ĂŽi khi chĂșng ta c n cĂł nhi u i u ki n hÆĄn ch lĂ  ÆĄn gi n "true" hay "false", vĂ­ d nhÆ° b n mu n Flash chÆĄi o n phim A cho ng ÆĄi trĂȘn 18 tu i, dÆ° i 18 nhÆ°ng trĂȘn 13 thĂŹ chÆĄi o n phim B, vĂ  nh ng ai dÆ° i 13 thĂŹ chÆĄi o n phim C. VĂČng l p Con ngÆ° i lĂ m ra computer vĂŹ lÆ° i khĂŽng mu n lĂ m nhi u, mĂ  bĂĄn cĂĄi cho computer. Nh t lĂ  ph i lĂ m i lĂ m l i 1 vi c nĂ o Ăł thĂŹ cĂ ng nhĂ m chĂĄn. VĂŹ v y vĂČng l p (loop) lĂ  m t y u t quan tr ng trong cĂĄc ngĂŽn ng l p trĂŹnh. AS cĆ©ng v y, b n cĂł th dĂčng vĂČng l p trong script. Trong vĂČng l p, " i u ki n" r t quan tr ng. M i vĂČng l p c n cĂł i m b t u vĂ  i m d ng vĂ  m t i u ki n bĂĄo hi u i m d ng c a vĂČng l p. VĂ­ d nhÆ° b n mu n cho vĂČng l p ch y 10 l n thĂŹ s cĂł 1 bi n s dĂčng m vĂČng l p, b t u t 0, M i vĂČng l p ch y thĂŹ bi n s nĂ y s tăng thĂȘm 1. Khi t i 9 thĂŹ vĂČng l p s d ng l i. Sau Ăąy minh ho c a vĂČng l p nĂ y: 1. M t s l nh tr ÆĄc vĂČng l p 2. B t u vĂČng l p, set bi n s counter = 0 3. LĂ m m t s l nh trong vĂČng l p 4. Tăng bi n s counter +=1 5. N u bi n s counter nh hÆĄn 9, tr l i bÆ° c th 3 6. Ra kh i vĂČng l p, vĂ  ti p t c chÆ°ÆĄng trĂŹnh. Ăąy chĂșng ta b t d u bi n s counter = 0 vĂŹ quy Æ° c thĂŽng thÆ° ng cĂĄc ngĂŽn ng l p trĂŹnh u b t u vĂČng l p 0. M t i m ĂĄng lÆ°u Ăœ c a vĂČng l p lĂ  i u ki n Æ° c xĂ©t trÆ° c khi th c hi n cĂĄc l nh trong vĂČng l p. Trong vĂ i trÆ° ng h p, i u ki n s Æ° c xĂ©t sau khi th c hi n cĂĄc l nh trong vĂČng l p. ChĂșng ta cĆ©ng cĂł th ngÆ°ng vĂČng l p trÆ° c i m d ng c a nĂł, vĂ  i u nĂ y s Æ° c c p t i vĂ o bĂ i k ti p LĂ m nh ng i u khĂŽng tÆ° ng L nh, hĂ m, phĂ©p tĂ­nh, bi n s , thĂŽng s , i u ki n, vĂČng l p lĂ  nh ng ph n căn b n trong ngĂŽn ng l p trĂŹnh, vĂ  cĂĄi nĂ y thĂŹ ai cĆ©ng bi t nhÆ°ng lĂ m sao ph i h p l i thĂ nh m t chÆ°ÆĄng trĂŹnh hoĂ n h o m i lĂ  cĂĄi khĂł. ChÆ°ÆĄng trĂŹnh ÆĄn gi n ch lĂ  m t t p h p l nh cho computer gi i quy t 1 v n nĂ o Ăł. VĂŹ v y trÆ° c khi vi t 1 chÆ°ÆĄng trĂŹnh chĂșng ta c n ph i xĂĄc nh "v n " c n ph i gi i quy t. VĂ­ d th c t ngoĂ i i, m b n nh b n ra ch mua gĂ . NhÆ°ng ch
  • 9. ÆĄn gi n nĂłi ra ch mua gĂ  thĂŹ chÆ°a vĂŹ bi t mua gĂ  s ng hay gĂ  lĂ m r i. n u mua gĂ  s ng thĂŹ mua lo i nĂ o v.v. Ăł lĂ  chÆ°a nĂłi t i mua gĂ  ch nĂ o, giĂĄ c ra sao v.v. N u nhÆ° b n m nĂłi rĂ” lĂ  ra ch b n thĂ nh, mua 1 con gĂ  mĂĄi d u, n ng kho ng 2 kg, v i giĂĄ kho ng 10000 thĂŹ th t lĂ  d dĂ ng cho b n ph i khĂŽng? Bi t Æ° c v n mua gĂ  r i thĂŹ tĂŹm cĂĄch mua gĂ . B n ph i "lĂȘn k ho ch", nĂȘn nh b n ch hay i taxi ra ch b n thĂ nh. N u i taxi i hĂŁng nĂ o, tĂŹm s phone g i, v.v. cĂČn nh b n ch i thĂŹ nh tĂȘn nĂ o. R i nĂȘn m c qu n ĂĄo nĂ o i ch . Ra n ch thĂŹ ph i m c c lĂ m sao, tr ti n m t hay ghi s n . B n th y khĂŽng, t m t chuy n mua gĂ  ÆĄn gi n v y mĂ  cĂł th t n c ngĂ y tr i lĂȘn chÆ°ÆĄng trĂŹnh Vi t AS, b n c n ph i lÆ°u Ăœ t i t t c m i vi c dĂč nh cĂĄch m y cho Flash cĂł th lĂ m Ășng theo nhÆ° Ăœ b n trong m i tĂŹnh hu ng. CĂĄc chÆ°ÆĄng trĂŹnh cĂł bug khĂŽng ph i vĂŹ ngÆ° i vi t d mĂ  vĂŹ chÆ°a nghÄ© t i h t m i tĂŹnh hu ng thĂŽi. TĂłm l i, i u quan tr ng trong l p trĂŹnh lĂ  kh n ng phĂąn tĂ­ch m t v n chĂ­nh thĂ nh nhi u v n nh cho t i khi khĂŽng cĂČn nh hÆĄn n a, vĂ  sau Ăł xĂąy d ng chÆ°ÆĄng trĂŹnh t gi i quy y cĂĄc v n nh lĂȘn d n cho t i v n chĂ­nh. Vi t mĂŁ hoĂ n ch nh B (bug) ÆĄn gi n lĂ  l i c a chÆ°ÆĄng trĂŹnh mĂ  b n t o ra. Bug cĂł th ch lĂ  nh ng l i cĂș phĂĄp ÆĄn gi n, hay lĂ  nh ng l i ph c t p do cĂĄch b n gi i quy t v n trong mĂŽi trÆ° ng runtime. trĂĄnh cĂł bug trong script c a b n thĂŹ b n nĂȘn t n nhi u thĂŹ gi vĂ o giai o n phĂąn tĂ­ch, thi t k chÆ°ÆĄng trĂŹnh cho script c a b n. Ki m tra cĂĄc o n code nhi u l n, vĂ  Ăłng vai "computer" cho th t gi ng, ng suy nghÄ©, mĂ  thi hĂ nh cĂĄc l nh trong script c a b n. Vi t t ng o n code nh r i rĂĄp l i v i nhau (vĂŹ v y mĂ  l p trĂŹnh theo hÆ° ng i tÆ° ng Æ° c s d ng nhi u nh t) N u script c a b n cĂł bug thĂŹ ng th mĂ  n n lĂČng, vĂŹ khĂŽng cĂł chÆ°ÆĄng trĂŹnh nĂ o do con ngÆ° i lĂ m ra mĂ  khĂŽng cĂł bug c . VĂŹ v y b n ng c g ng viĂȘt code sao cho tuy t h o khĂŽng cĂł l i. N u cĂł bug thĂŹ b n di t bug thĂŽi B n cĂł th chu n b "chi n u" v i bug b ng cĂĄch vi t code sao cho d hi u vĂ  d c, vi t nhi u chĂș thĂ­ch cho cĂĄc o n mĂŁ. ĂŽi khi di t bug (debug) r t ÆĄn gi n nhÆ°ng cĂł khi cĆ©ng r t kho mĂ  bi t bug Ăąu di t. Flash cĂł kĂšm theo vĂ i cĂŽng c giĂșp b n debug d dĂ ng hÆĄn, chĂșng ta s nĂłi t i cĂĄc cĂŽng c nĂ y trong bĂ i t i. Gi th 04: ViĂȘt code trong Flash, Writing code in Flash Khi b n vi t script, b n s dĂčng t t c nh ng t khĂła, vĂ  kĂœ hi u v.v. V y trÆ° c tiĂȘn chĂșng ta s phĂąn tĂ­ch m t o n script sau Ăąy. o n script nĂ y g n vĂ o 1 button. ActionScript on (press) { var myVariable = 7; var myOtherVariable = "Macromedia";
  • 10. for (var i=0; i<10; i++) { trace(i); if (myVariable + 3 == 5) { trace(myOtherVariable); } } } DĂČng u tiĂȘn xĂĄc nh nh ng o n code sau Ăł Æ° c kĂ­ch ho t khi mĂ  user nh n vĂ o nĂșt. hĂ m on(press) ch cĂł th s d ng trong vĂ o trong nĂșt mĂ  thĂŽi. NgoĂ i ra b n cĂł th dĂčng on(release) n u nhÆ° b n mu n kĂ­ch ho t o n mĂŁ trĂȘn sau khi user nh n nĂșt, vĂ  buĂŽng tay. D u ngo c mĂłc {} u vĂ  cu i o n code, gĂłi o n code Ăł vĂ o lĂ m m t, vĂ  u Æ° c kĂ­ch ho t khi nh n nĂșt. CĂĄc b n lÆ°u Ăœ th y o n code Æ° c vi t vĂ o trong cho d nh n th y c o n code nĂ y ph thu c vĂ o on(press). CĂĄc b n nĂȘn vi t lĂči vĂ o trong cho nh ng o n code ph thu c vĂ o 1 l nh hay hĂ m nĂ o Ăł. DĂČng th hai l p ra bi n s (mĂŹnh s vi t t t lĂ  var nhe) tĂȘn myVariable, vĂ  t giĂĄ tr b ng 7 cho nĂł. tÆ°ÆĄng t hĂ ng k ti p l p ra var tĂȘn lĂ  myOtherVariable vĂ  cho giĂĄ tr c a nĂł lĂ  "Macrmedia". C 2 cĂąu nĂ y Æ° c k t thĂșc b ng d u ch m ph y ; DĂČng th 4 chĂ­nh lĂ  vĂČng l p (mĂŹnh s g i lĂ  loop cho ti n nhe) for (s nh c t i cĂĄc lo i loop phĂ­a dÆ° i) vĂ  cĂĄc i u ki n c a loop nĂ y. NĂł s l p 10 l n v i i u ki n b t u lĂ  i=0 vĂ  nĂł s tăng thĂȘm 1 cho m i l n l p cho t i khi nĂł lĂȘn t i 9. TÆ°ÆĄng t nhÆ° on(press), for loop cĆ©ng cĂł o n code cho riĂȘng nĂł, vĂ  ÆĄc b c quanh b ng { } vĂ  o n code trong Ăł ch kĂ­ch ho t khi mĂ  cĂĄc i u ki n c a for loop Æ° c th a mĂŁn. DĂČng th 5 lĂ  l nh trace(), l nh nĂ y ch vi t thĂŽng tin ra output window trong lĂșc b n lĂ m vi c v i Flash, user s khĂŽng th y Æ° c. K ti p lĂ  i u ki n, if lĂ  t khoĂĄ trong Flash, vĂ  nĂł s ki m tra k t qu c a phĂ©p so sĂĄnh myVariable + 3 ==5. N u mĂ  k t qu lĂ  Ășng thĂŹ nĂł s kĂ­ch ho t l nh trace trong, vĂ  s vi t ra output window giĂĄ tr c a myOtherVariable V y lĂ  b n ĂŁ th y m t o n script hoĂ n ch nh b ng AS r i. Ti p theo chĂșng ta s nĂłi n vĂ i ph n khĂĄc c a AS. Output window trĂȘn chĂșng ta cĂł nh c t i output window, mĂ  khĂŽng nĂłi rĂ” lĂ  gĂŹ. Output window lĂ  m t window trong software Flash, vĂ  ch xu t hi n khi mĂ  b n ch y th movie. N u Flash compile movie cho b n vĂ  phĂĄt hi n ra l i thĂŹ Flash s vi t ra cĂĄc output window nĂ y. Trong khi ch y th movie, thĂŹ l nh trace() m i cĂł th vi t cĂĄc thĂŽng tin ra output window. Output window r t quan tr ng trong vi t "di t b ", dĂčng nĂł chung v i trace b n cĂł th quan sĂĄt cĂĄc thĂŽng s , bi n s , cĂĄc i tÆ° ng, thu c tĂ­nh i tÆ° ng .v.v Trong lĂșc h c AS, b n cĂł th vi t m t an script ng n khĂŽng lĂ m gĂŹ c nh ng ch vi t thĂŽng tin ra output window, nhÆ° o n code trĂȘn.
  • 11. Th c hĂ nh: vi t thĂŽng tin ra output windown CĂĄch t t nh t hi u rĂ” ch c năng c a output window lĂ  s d ng nĂł. BĂąy gi mĂŹnh s vi t m t o n code ng n g i thĂŽi tin ra output window nhe. 1. T o m t file m i 2. Ch n frame u tiĂȘn c a movie, m Action panel. Ch nh kĂ­ch thÆ° c cho action panel l n vi t, vĂ  nh dĂčng expert mode 3. KĂ­ch chu t vĂ o ph n vi t script vĂ  vi t cĂąu sau: trace("hello world"); 4. Ch y th movie (Control + Enter) 5. B n th y gĂŹ output window? (N u output window c a b n chÆ°a m thĂŹ hĂŁy nh n F2) Gi ng nhÆ° action panel, output window cĂł 1 cĂĄi pop-up menu nho nh trĂȘn gĂłc ph i. B n cĂł th dĂčng nĂł copy, xoĂĄ hay save n i dung c a output window hay cĂł th tĂŹm ki m ch , v.v. NgoĂ i ra, pop-up menu nĂ y cĂł ph n cho b n ch nh ch "di t b ", b n cĂł th ch n khĂŽng c n output window in ra cĂĄc l i (none), hay ch in l i (error), hay ch in c nh bĂĄo (error) vĂ  cu i cĂčng lĂ  in ra chi ti t cĂĄc l i hay c nh bĂĄo (verbose) Bi n s c c b vĂ  toĂ n b trong gi th 3, chĂșng ta cĂł nh c n variable (bi n s ) dĂčng lÆ°u tr thĂŽng tin. VĂ  s d ng variable trong AS r t d dĂ ng. B n ch c n n nh giĂĄ tr cho variable. VĂ­ d : myVariable = 7. ChĂșng ta t o variable cĂł tĂȘn lĂ  myVariable vĂ  n nh 7 lĂ  giĂĄ tr cho nĂł. (b n cĂł th t tĂȘn cho variable lĂ  b t c gĂŹ b n muĂŽn) BĂąy gi b n cĂł th th vi t o n code sau: ActionScript var1= 7; var2= "hello world"; trace ("var1: " + var1+ " /var2: " + var2); Khi b n ch y th movie thĂŹ output window s cĂł hĂ ng ch sau: var1: 7 /var2: hello world VĂŹ s 7 vĂ  "hello world" Æ° c ch a trong var1 vĂ  var2 s Æ° c in ra. Variable cĂł 2 lo i, local vĂ  global. Global variable (bi n s toĂ n b ) thĂŹ b n cĂł th truy c p giĂĄ tr c a nĂł b t c nÆĄi nĂ o trong movie. T o global variable khĂŽng ĂČi h i m t b n ph i lĂ m m t cĂĄi gĂŹ c bi t c , b n cĂł th dĂčng nĂł nhÆ° cĂĄch trĂȘn, vĂ  Flash t ng bi n nĂł thĂ nh global variable. Flash movie dĂčng h th ng level, vĂ  timeline c a movie chĂ­nh lĂ  root leve (g c), cĂČn cĂĄc movie clip cĆ©ng chĂ­nh lĂ  m t Flash movie nh trong Flash movie l n. CĂĄc hĂŹnh nh, script trong m t movie clip lĂ  1 level th p hÆĄn root level.
  • 12. Local variable (bi n s c c b ), khĂĄc v i global variable, local variable ch cĂł tr truy c p trong cĂčng m t o n code, hay trong cĂčng m t timeline. Khi dĂčng local variable thĂŹ khi ra kh i timeline hay o n code Ăł thĂŹ Flash s xoĂĄ local variable ra kh i b nh . Mu n t o local variable thĂŹ dĂčng t khoĂĄ var trÆ° c tĂȘn c a local variable, vĂ­ d : var myLocal = "This is local"; B n ch c n dĂčng t khoĂĄ var 1 l n thĂŽi, nh ng l n dĂčng sau Ăł thĂŹ ch c n dĂčng tĂȘn c a local variable thĂŽi. VĂ­ d o n code: ActionScript var myLocal = 9; myLocal = 11; trace(myLocal); PhĂ©p so sĂĄnh vĂ  cĂĄc phĂ©p tĂ­nh So sĂĄnh 2 giĂĄ tr trong AS r t ÆĄn gi n, dĂčng cĂĄc kĂœ hi u toĂĄn h c nhÆ° <, >, = Khi n nh giĂĄ tr thĂŹ dĂčng d u =, vĂ  cho khĂĄc bi t thĂŹ khi so sĂĄnh dĂčng ==. o n code sau xĂ©t coi giĂĄ tr c a a cĂł b ng 7 khĂŽng, vĂ  in k t qu ra output window. VĂ  khi test o n code sau, b n s th y true output window ActionScript var a = 7; trace(a == 7); N u b n dĂčng l n = v i == thĂŹ s b l i runtime ch Flash s khĂŽng cĂł th tĂŹm Æ° c l i nĂ y cho b n. B n cĂł th dĂčng == so sĂĄnh 2 chu i m u t : ActionScript var myString = "Hello World."; trace(myString == "Hello World."); trace(myString == "hello world."); Khi b n test o n code trĂȘn thĂŹ b n s cĂł Æ° c "true" vĂ  "false" output window, vĂŹ l n so sĂĄnh th nh t thĂŹ b ng nhau, nhÆ°ng l n th hai thĂŹ khĂŽng vĂŹ ch H vĂ  h khĂĄc nhau. N u b n mu n th coi 2 giĂĄ tr cĂł khĂĄc nhau khĂŽng thĂŹ dĂčng ky hi u != ActionScript var a = 7; trace(a != 9); trace(a != 7); HĂ m trace u tiĂȘn s cho ra "true" vĂŹ 7 khĂĄc 9, vĂ  cĂĄi th hai thĂŹ s cho ra "false"
  • 13. N u b n mu n th giĂĄ tr coi l n hÆĄn hay nh hÆĄn thĂŹ dĂčng > vĂ  < ActionScript var a = 7; trace(a < 8); trace(a > 6); trace(a < 1); o n code trĂȘn s cho ra "true", "true" vĂ  "false" trong output window vĂŹ "a" qu th t nh hÆĄn 8 vĂ  l n 6, nhÆ°ng khĂŽng nh hÆĄn 1. N u b n mu n th giĂĄ tr coi l n hÆĄn hay b ng nhau ho c lĂ  nh hÆĄn hay b ng nhau thĂŹ dĂčng kĂœ hi u >= vĂ  <= ActionScript var a = 7; trace(a <= 9); trace(a >= 5); trace(a >= 7); o n code trĂȘn s cho ra 3 k t qu "true" c . B n cĂł th thay i giĂĄ tr c a variable v i cĂĄc phĂ©p tĂ­nh ÆĄn gi n nhÆ° c ng (+), tr (- ), nhĂąn (*), chia (/). VĂ­ d mu n thĂȘm 4 vĂ o giĂĄ tr c a a thĂŹ vi t a = a + 4. AS cĆ©ng cĂł cĂĄch vi t t t nhÆ° Java, C++ cho vĂŹ d nĂ y, a += 4 N u b n mu n thĂȘm 1 vĂ o a thĂŹ b n cĂł th vi t nhÆ° 2 cĂĄch trĂȘn a = a +1 vĂ  a += 1 vĂ  cĂČn cĂĄch th 3 a++ . D u ++ ch lĂ m tăng thĂȘm 1 cho giĂĄ tr Ăł thĂŽi. CĂł 2 cĂĄch dĂčng ++, 1 lĂ  sau variable nhÆ° cĂĄch trĂȘn, vĂ  1 cĂĄch thĂŹ trÆ° c variable. BĂąy gi thÆ° o n code sau: ActionScript var a = 7; trace(a++); trace(a); output window b n s th y 7 r i m i t i 8. dĂČng th 2, hĂ m trace s cho ra giĂĄ tr c a a trÆ° c r i m i tăng giĂĄ tr c a a lĂȘn thĂȘm 1. BĂąy gi xem vĂ­ d khĂĄc: ActionScript var a = 7; trace(++a); trace(a); output window b n s th y 8 vĂ  8. dĂČng th 2 c a vĂ­ d nĂ y, hĂ m trace s tăng giĂĄ tr c a a trÆ° c r i m i cho ra giĂĄ tr c a a. TÆ°ÆĄng t nhÆ° ++, AS cĆ©ng cĂł cĂĄch vi t t t cho giĂŁm giĂĄ tr c a variable lĂ  d u -, -=, =- vĂ  --. PhĂ©p tĂ­nh nhĂąn vĂ  chia thĂŹ ch cĂł *, *=, /, /= thĂŽi. i u ki n Trong AS vĂ  cĂĄc ngĂŽn ng khĂĄc, if ... else chĂ­nh lĂ  cĂĄc t khoĂĄ c a i u ki n. Ti ng
  • 14. vi t cĂł nghÄ©a lĂ  "n u ... n u khĂŽng". T khoĂĄ if dĂčng k t qu c a s so sĂĄnh nĂ o Ăł i t i quy t nh kĂ­ch ho t m t o n code. o n code sau s so sĂĄnh giĂĄ tr c a variable a v i 7, n u Ășng thĂŹ Flash s chÆĄi frame 10 ActionScript if (a == 7) { gotoAndPlay(10); } T khoĂĄ if luĂŽn b t u cho 1 i u ki n vĂ  ti p theo s lĂ  s so sĂĄnh. LuĂŽn t code so sĂĄnh gi a ngo c ÆĄn (). T t c cĂĄc code Æ° c kĂ­ch ho t n u i u ki n Æ° c tho mĂŁn s trong Ăąu ngo c mĂłc {}. T khoĂĄ else b sung cho if trong trÆ° ng h p b n mu n th c hi n m t o n code n u i u ki n c a if khĂŽng Æ° c th a mĂŁn. VĂ­ d : ActionScript if (a == 7) { gotoAndPlay(10); } else { gotoAndPlay(15); } N u trÆ° ng h p c n th a mĂŁn nhi u i u ki n thĂŹ cĂł th dĂčng cĂș phĂĄp if .... else if ... else. B n cĂł th cĂł bao nhi u cĂĄi else if cĆ©ng Æ° c. NĂŁy gi ta chi nĂłi t i i u ki n d a trĂȘn 1 s so sĂĄnh, nh ng AS cĆ©ng cho phĂ©p dĂčng so sĂĄnh a h p (compound comparision). Trong i u ki n c a Flash ta cĂł th dĂčng nhi u so sĂĄnh i t i m t k t qu chĂ­nh xĂĄc hÆĄn. VĂ­ d n u nhÆ° a l n 10 vĂ  a ph i nh hÆĄn 15 thĂŹ ra l nh cho Flash chÆĄi frame 10. ActionScript if ((a > 10) and (a < 15)) { gotoAndPlay(10); } T khoĂĄ and (cĂČn cĂł th Æ° c vi t lĂ  &&) yĂȘu c u ph i tho mĂŁn i u ki n c a 2 phĂ©p so sĂĄnh. B n cĆ©ng cĂł th dĂčng t khoĂĄ or (cĂČn cĂł th Æ° c vi t lĂ  ||)n u nhÆ° ch c n tho mĂŁn 1 i u ki n trong 2 phĂ©p so sĂĄnh thĂŽi. ActionScript if ((a > 10) or (a < 15)) { gotoAndPlay(10); } VĂČng l p CĂș phĂĄp c a vĂČng l p (loop) thĂŹ hÆĄi r c r i hÆĄn so v i cĂș phĂĄp c a i u kiĂȘn if. nhÆ°ng
  • 15. nĂł tÆ°ÆĄng t nhÆ° C, C++, Java. G m cĂł 3 lo i vĂČng l p chĂ­nh lĂ  for loop, while loop vĂ  do-while loop for loop Æ° c coi lĂ  vĂČng l p chĂ­nh v i t khoĂĄ for vĂ  cĂș phĂĄp c a nĂł nhĂŹn nhÆ° sau: ActionScript for(var i=0;i<10;i++) { trace(i); } N u b n cho ch y o n code trĂȘn thĂŹ b n s cĂł Æ° c t s 0 t i 9 output window. for loop tăng giĂĄ tr c a variable i trong su t quĂĄ trĂŹnh th c hi n loop. i u ki n c a for loop cĂł 3 ph n chĂ­nh, vĂ  Æ° c cĂĄch bi t b i d u ch m ph y ( . u tiĂȘn lĂ  i u ki n b t u v i vi c t o local variable cho for loop var i=0. ph n nĂ y for loop ch th c hi n cĂł 1 l n duy nh t lĂșc b t Ăąu. Ph n th hai lĂ  i u ki n chĂ­nh c a for loop i<10, s Æ° c th c hi n m i vĂČng l p. N u i u ki n nĂ y tho mĂŁn thĂŹ m i ti p t c vĂČng l p. VĂ  ph n cu i cĂčng lĂ  phĂ©p tĂ­nh cho s ti p n i c a for loop m i vĂČng l p, Ăąy lĂ  i++ nĂȘn giĂĄ tr c a i s Æ° c tăng sau m i vĂČng l p trÆ° c khi vĂČng l p m i b t u. 3 ph n nĂ y u Æ° c b vĂ o trong ngo c ÆĄn (). CĂČn nh ng code th c hi n trong m i vĂČng l p thĂŹ trong ngo c mĂłc {}. BĂąy gi chĂșng ta gi lĂ m computer vĂ  ch y cĂĄi for loop nĂ y. 1. T o local variable vĂ  n nh giĂĄ tr cho nĂł b ng 0 2. Ki m tra giĂĄ tr c a i cĂł nh hÆĄn 10 khĂŽng, n u nh hÆĄn 10 thĂŹ vĂČng l p th c hi n cĂĄc code trong {}, cĂČn khĂŽng thĂŹ t i bÆ° c th 5 3. hĂ m trace vi t giĂĄ tr c a i output window 4. c ng 1 vĂ o giĂĄ tr c a i, vĂ  tr v bÆ° c th 1 5. ra kh i for loop T i bÆ° c th 5 thĂŹ giĂĄ tr c a i s b ng 10 while loop v i t khoĂĄ while cĂł cĂș phĂĄp nhĂŹn tÆ°ÆĄng t nhÆ° sau: ActionScript while (a > 0) { // code th c hi n trong while loop } ÆĄn gi n hÆĄn for loop, while loop tÆ°ÆĄng t nhÆ° i u ki n if ÆĄn gi n, th c hi n cĂĄc code trong vĂČng l p n u i u ki n c a while loop Æ° c thoĂŁ mĂŁn, vĂŹ v y b n d dĂ ng r i vĂ o trÆ° ng h p vĂČng l p vĂŽ h n, vĂ  d n n tĂŹnh tr ng treo mĂĄy. Trong o n code trĂȘn, b n ph i lĂ m th nĂ o cho co 1 lĂșc a s nh hay b ng 0 cho vĂČng l p ng ng l i. Gi ng nhÆ° while loop, do-while loop cĂł cĂș phĂĄp nhĂŹn nhÆ° sau: ActionScript
  • 16. do { // code th c hi n trong do-while loop } while (a > 0); Ch khĂĄc v i while loop lĂ  do-while loop th c hi n code trong vĂČng l p trÆ° c r i m i ki m tra i u ki n. (while loop ki m tra i u ki n r i m i ch y code trong vĂČng l p) Mu n phĂĄ ra kh i quĂĄ trĂŹnh t hĂ nh c a 3 lo i loop trĂȘn thĂŹ dĂčng l nh break vĂ  continue. L nh break s phĂĄ ra kh i loop hoĂ n toĂ n trong khi l nh continue thĂŹ ch phĂĄ ra kh i vĂČng l p hi n t i vĂ  b t u vĂČng l p m i. T o ra m t vĂ­ d c th r t ph c t p, nĂȘn chĂșng ta t m khoan bĂ n t i 2 l nh nĂ y cho t i cĂĄc bĂ i sau. HĂ m Cho t i bĂąy gi cĂĄc script c a chĂșng ta u Æ° c vi t vĂ o frame u tiĂȘn c a moive, cĂĄch nĂ y ch t t cho nhÆ°ng chÆ°ÆĄng trĂŹnh ÆĄn gi n, nhÆ°ng n u mĂ  chÆ°ÆĄng trĂŹnh tr nĂȘn ph c t p thĂŹ Ăąy khĂŽng ph i lĂ  cĂĄch. HĂ m (function) s cho phĂ©p chĂșng ta c u t o vĂ  qu n lĂœ code d dĂ ng hÆĄn trong cĂĄc chÆ°ÆĄng trĂŹnh ph c t p. DÆ° i Ăąy lĂ  m t function ÆĄn gi n: ActionScript function myFunction(num) { var newNum = num + 3; return newNum; } Fuction b t u b ng t khoĂĄ function, tĂȘn c a function cĂł th lĂ  b t c ch gĂŹ nhÆ° cĂĄch b n t tĂȘn cho variable, nhÆ°ng lÆ°u Ăœ cĂĄch t tĂȘn cho fuction lĂ m sao ngÆ° i ta c tĂȘn cĂł th bi t Æ° c ch c năng c a function. Theo sau tĂȘn c a function s lĂ  thĂŽng s (parameter, cho ng n mĂŹnh s g i thĂŽng s lĂ  param trong cĂĄc bĂ i vi t nĂ y) Æ° c trong ngo c ÆĄn (). Function cĂł th co 1 hay nhi u param hay khĂŽng c n param cĆ©ng Æ° c. Param ch ng qua ch la variable Æ° c dĂčng trong function, nhÆ°ng variable nĂ y Æ° c truy n t ngoĂ i vĂ o khi function Æ° c g i. o n code Æ° c function th c hi n s n m gi a ngo c mĂłc {}. BĂąy gi chĂșng ta phĂąn tĂ­ch o n code trĂȘn. Khi function myFunction Æ° c g i, thĂŹ param num Æ° c truy n vĂ o, sau Ăł function myFunction t o ra m t local variable tĂȘn lĂ  newNum, vĂ  n nh giĂĄ tr c a newNum b ng giĂĄ tr c a param num c ng v i 3. Sau Ăł myFunction dĂčng l nh return n nh giĂĄ tr c a newNum lĂ  k t qu c a myFunction. L nh return lĂ  l nh c bi t ch Æ° c dĂčng trong function mĂ  thĂŽi. L nh nĂ y s k t thĂșc function. s dĂčng function nĂ y, dĂčng nĂł nhÆ° m t l nh hay hĂ m c a AS, gi ng nhÆ° lĂ  trace() v y Ăł. Ăąy lĂ  vĂ­ d : var a= myFunction(7);. TrÆ° c tiĂȘn t o m t local var r i sau n nh giĂĄ tr c a local var nĂ y b ng k t qu c a myFunction v i param lĂ  7, vĂ  cu i cĂčng thi local var nĂ y s b ng 10. M t trong Æ°u i m c a function lĂ  b n cĂł th tĂĄi s d ng. DÆ° i Ăąy lĂ  hĂ ng code dĂčng chung 1 fuction vĂ  cho 3 k t qu khĂĄc nhau ActionScript
  • 17. trace(myFunction(7)); trace(myFunction(13)); trace(myFunction(2)); Khi ch y o n code nĂ y thĂŹ output windown s lĂ  10, 16 vĂ  5. VĂ­ cĂł th tĂĄi s d ng nĂȘn chĂșng ta ch c n thay i code trong myFunction thĂŹ t t c cĂĄc k t q a cĂł Æ° c t g i function nĂ y cĆ©ng thay i theo luĂŽn. Dot Syntax M t i u b n s th y r t nhi u trong quĂĄ trĂŹnh h c AS lĂ  dot syntax (h ng bi t d ch sao bĂąy gi ) Dot syntax lĂ  phÆ°ÆĄng phĂĄp Æ° c dĂčng trong l p trĂŹnh theo hÆ° ng i tÆ° ng (oob: object oriented programming). Ăąy lĂ  m t vĂ­ d c a dot syntax. N u b n mu n l y căn bĂŹnh phÆ°ÆĄng c a m t s , vĂ  trong Flash ĂŁ cĂł s n function lĂ m chuy n nĂ y r i, vĂ  hĂ m nĂ y thu c v i tÆ° ng toĂĄn, tĂȘn lĂ  Math. V y mu n g i function nĂ y thĂŹ trÆ° c tiĂȘn b n ph i g i tĂȘn i tÆ° ng mĂ  fucntion nĂ y tr c thu c, Ăł lĂ  Math, theo sau Ăł lĂ  d u ch m (dot), vĂ  r i t i tĂȘn c a function Ăł lĂ  sqrt. CĂĄch vi t nhÆ° sau: ActionScript var a = Math.sqrt(4); M t cĂĄch dĂčng dot syntax khĂĄc lĂ  truy c p c tĂ­nh hay variable c a m t i tÆ° ng, nhÆ° lĂ  movie clip. ActionScript var a = myClip._x; var a = myClip.myVariable; ChĂșng ta s c p n i tÆ° ng Math vĂ  MovieClip trong cĂĄc bĂ i t i, cĂČn bĂąy gi thĂŹ quan tr ng lĂ  b n n m Æ° c khĂĄi ni m v dot syntax. ChĂș gi i M t trong c tĂ­nh c n cĂł c a l p trĂŹnh viĂȘn lĂ  vi t code lĂ m sao cho d c vĂ  d hi u. NhÆ°ng nhi u khi dĂč khi vi t cĂł c g ng cĂĄch m y thĂŹ nh ng o n code Ăł v n khĂł hi u cho ngÆ° i xem, vĂŹ v y m i c n nh ng l i chĂș gi i. Mu n chĂș gi i trong AS thĂŹ ch c n dĂčng kĂœ hi u// trÆ° c cĂąu chĂș gi i Ăł. N u chĂș gi i nhi u hÆĄn vĂ i dĂČng thĂŹ cĂł th dĂčng ki u sau/* ..... chĂș gi i ....*/. ActionScript /* chĂș gi i: c ng 2 cho a c ng 2 cho b */ a += 2; // add 2 a
  • 18. // add 2 to b b += 2; Debugging ThÆ° ng thĂŹ th i gian di t b t n g n 1/3 th i gian phĂĄt tri n chÆ°ÆĄng trĂŹnh. N u b n n m v ng Æ° c "nghĂȘ thu t" di t b thĂŹ b n s rĂșt ng n Æ° c r t nhi u th i gian. CĂł 3 cĂĄch di t b h u hi n lĂ : phĂąn tĂ­ch, vi t message ra output window vĂ  dĂčng AS debugger. V i cĂĄc lo i b ÆĄn gi n thĂŹ phĂąn tĂ­ch cĂĄc o n code s giĂșp b n b t trĂșng con b c n di t. DĂčng output window theo dĂ”i cĂĄc i tÆ° ng, vĂČng l p, i u ki n, vĂ  nh vĂ o Ăł b n cĂł th bi t Æ° c ch nĂ o trong code cĂł v n , cu i cĂčng lĂ  dĂčng AS debugger cĂł s n trong Flash. Debugger window cho phĂ©p b n cĂł th coi h t t t c moi thĂ nh ph n trong movie c a b n, cho phĂ©p b n dĂčng AS b t ch khi nĂ o vĂ  ch nĂ o b n mu n. Tham kh o thĂȘm ph n tr giĂșp c a Flash bi t cĂĄch dĂčng debugger. Gi th 05: i u khi n lu ng movie, Control the flow of the movie S d ng AScript lĂ  cĂĄch i u khi n movie ÆĄn g n nh t, nhung l i hi u qu nh t. ChÆ°ÆĄng nĂ y b n s h c cĂĄch : ‱ lĂ m sao d ng Movie trĂȘn frame ‱ Sao nh y t frame nĂ y n frame kia ‱ t o nĂșt cho phĂ©p i u khi n movie ‱ t o m t slide show ÆĄn gi n ‱ t o m t bi u di n y .. D ng movie Ăąy lĂ  cĂąu l nh stop: ActionScript stop(); Khi b n dĂčng cĂąu l nh nĂ y , movie ch t m d ng frame mĂ  b n t cĂąu l nh. CĂĄc animation bĂȘn trong movieClip vĂ  cĂĄc file h a v n ti p t c ch y trĂȘn frame Ăł. NhÆ°ng animation c a time line s b d ng. cho animation c a timeline ti p t c ch y, ta s d ng m t lĂȘnh ÆĄn gi n Ăł lĂ  l nh play.. ta s bĂ n n nĂł sau. VĂ­ d T i frame 1, b n hĂŁy th m t text box vĂ  vi t vĂ o Ăł Ch A T i frame 2, b n hĂŁy th m t text box vĂ  vi t vĂ o Ăł Ch B T i frame 3, b n hĂŁy th m t text box vĂ  vi t vĂ o Ăł Ch C BĂąy gi b n hay t cĂąu l nh stop(); vĂ o Frame 2, b n se th y ch A xu t hi n r t
  • 19. nhanh r i n ch B, nhÆ°ng ch C s ko th y xu t hi n,, ÆĄn gi n vĂŹ cĂąu l nh stop() ĂŁ d ng animation c a timeline t i Frame 2. Nh y t frame nĂ y n frame kia M t cĂąu l nh cÆĄ b n c a AS lĂ  cĂąu l nh gotoAndPlay. CĂąu l nh nĂ y giĂșp b n cĂł th nh y t frame nĂ y n frame mĂ  b n mu n. B n cĂł th sÆ° d ng s th t c a frame hay lĂ  tĂȘn c a frame ActionScript gotoAndPlay(7); gotoAndPlay(20); gotoAndPlay("my frame label") b n cĂł th s d ng nhi u movies , hay cĂČn g i lĂ  c nh(scene) . N u CĂąu l nh gotoAndPlay ch cĂł m t tham s , thĂŹ tham s Ăł lĂ  frame. NhÆ°ng n u cĂł 2 tham s ,thĂŹ tham s u ti n lĂ  tĂȘn c a scene, cĂČn tham ss th 2 lĂ  s th t c a frame hay tĂȘn frame. ActionScript gotoAndPlay("My Scene","My Frame"); Khi b n dĂčng gotoandPlay,movies s nh y n frame mĂ  b n g i , vĂ  ti p t c ch y, nhÆ°ng n u b n mu n nĂł nh y n frame vĂ  d ng l i, b n co th s d ng gotoAndStop . CĂąu l nh nĂ y dĂčng y h t nhÆ° gotoAndPlay, v i l a ch n 1 tham s hay 2 tham s . NgoĂ i ra cĂł thĂȘm 2 cĂąu l nh cĆ©ng h at ng gi ng gotoAndStop , Ăł lĂ  nextFrame and prevFrame hi u rĂ” hÆĄn v cĂĄc cĂąu l nh nĂ y, ta s i ti p ph n sau... T o nĂșt (button) NĂșt lĂ  m t trong 3 bi u tÆ° ng (symbol) chĂ­nh trong Flash, 2 cĂĄi kia lĂ  movie cilps vĂ  hĂŹnh T o m t button CĂł nhi u cĂĄch t o nĂșt. M t trong nhÆ°ng cĂĄch Ăł lĂ  ch n Insert, New Symbol t Menu. M t h p tho i s hi n lĂȘn vĂ  h i b n t tĂȘn vĂ  l a ch n bi u tÆ° ng c a b n lĂ  lo i Movie clip, button, hay h a. B n hĂŁy ch n Button. BĂąy gi trong c a s chĂ­nh c a Flash s thay i, timeline c a button s thay th timeline c a movie chĂ­nh. CĂł 4 frames trong timeLine c a button. ChĂșng cĂł tĂȘn lĂ  Up, Over, Down, HIt. CHĂșng th hi n 3 tr ng thĂĄi c a button, vĂ  vĂčng h at ng c a button.
  • 20. N u b n t m t h a, ch ng h n lĂ  m t vĂČng trĂČn, trong frame u tiĂȘn(UP) vĂ  ko cĂł gĂŹ trong 3 frame sau, tr ng thĂĄi Over vĂ  Down c a button s gi ng nhÆ° tr ng thĂĄi c a Up. VÙng ho t ng c a button cĆ©ng tÆ°ÆĄng t nhÆ° v y. M t khĂĄc , b n cĂł th t o cĂĄc hi u ng khĂĄc nhau cho button c a b n. VÍ d n u b n i m u c a vĂČng trĂČn lĂ  mĂ u xanh Frame OVER,cĂł nghÄ©a lĂ  khi b n Æ°a chu t qua button, button s chuy n sang mĂ u xanh. Khi b n t o xong 1 button, b n tr lai movie timeline chĂ­nh. VĂ  button c a b n ĂŁ s n sĂ ng trong thÆ° vi n c a FLash. B n ch viĂȘc b m F11, tĂŹm button c a b n vĂ  kĂ©o th nĂł vĂ o nÆĄi nĂ o b n c n trĂȘn c a s thi t k . T o script cho button t script cho button, u tiĂȘn hĂŁy ch m m t button. Sau Ăł vĂ o c a s Action b ng cĂĄch b m chu t ph i lĂȘn button vĂ  ch n Action t menu xu t hi n. HĂŁy Ch c ch n r ng c a s Action ĂŁ Æ° c t ch Expert. B n cĂł th ki m tra băng m t popup menu gĂłc trĂȘn cĂčng bĂȘn ph i c a c a s . Ăąy lĂ  m t o n mĂŁ thĂŽng thÆ° ng cho button. B n cĂł th t nĂł trong c a s mĂŁ vĂ  sau Ăł ki m tra movie xem nĂł h at ng th nĂ o. ActionScript on (release) { trace("You clicked the button!") } on : lĂ  m t keyword, Æ° c g i ra x lĂ­ m t s ki n Release : LĂ  m t s ki n, khi ngÆ° i s d ng click vĂ o button vĂ  nh chu t ra. o n mĂŁ trace s Æ° c th c thi. NgoĂ i ra Release cĂł th thay th b ng s ki n PRESS, s ki n nĂ y ch khĂĄc Release ch khi ngÆ° i s d ng b m vĂ o button, o n mĂŁ trace s Æ°ÆĄc th c thi mĂ  ko c n ph i th chu t ra. Trace : lĂ  in ra mĂ n hĂŹnh dĂČng ch YOU CLICKED THE BUTTON. Th c HĂ nh: T o m t Slide Show ÆĄn gi n... CĂł l ko ph i di n t nhi u v Slide Show, cĂĄc b n hĂŁy tÆ° ng tÆ° ng giĂŽng Power Point.. Khi chĂșng ta b m chu t, cĂĄc slide s chuy n sang slide khĂĄc. 1. M Flash, ch n New 2. Trong Layer 1, t Frame 1 n Frame 4, b n hĂŁy ăt cĂĄc bi u tÆ° ng hay hĂŹnh nh, text khĂĄc nhau phĂąn bi t Æ° c cĂĄc frame 3. Sau Ăł b n t o m t layer m i, hĂŁy t m t button lĂȘn layer nĂ y.Ti p theo b n ch n
  • 21. Frame 4 c a layer 2, vĂ  b m F6. i u nĂ y m b o cho button c a b n s xu t hi n trong t t c cĂĄc Frame c a Layer 1. BĂąy gi copy o n mĂŁ sau vĂ o button c a b n, chĂș Ăœ nh lĂ  copy vĂ o action c a button, ch ko ph i vĂ o b t kĂŹ frame nĂ o ActionScript on (release) { nextFrame(); } Cu i cĂčng ch n Frame 1 Layer 1 action vĂ  chĂšn o n code sau ActionScript stop(); HĂŁy ch y th slide show c a b n = cĂĄch b m Ctrl Enter. 5) XĂąy d ng m t presentation ÆĄn gi n: Presentation nĂ y s d ng nguyĂȘn t c giĂŽng h t nhÆ° vĂ­ d Slide show trĂȘn, cĂĄc b n hay down load file FLA xem .. easy Gi th 06: i u khi n movie clip, Controlling Movie Clips 6th Hour i u khi n movie clip B n s h c 1- ra l nh cho movie clip 2-T o playback cho animation 3-TÌm hi u Ă­ch(target) c a movie clip 4-T p vi t code cho movie clip 5-T o movie clip cĂł th ch y lĂči l i. 1) Ra l nh cho movie clip : M t movie chĂ­nh cĂł th r t ÆĄn gi n. NÓ ch c n 1 frame vĂ  m t movie clip. NhÆ°ng b n thĂąn movie clip l i cĂł th lĂ  m t animation dĂ i. Vi c nĂ y d dĂ ng th c hi n mĂ  ko c n Actioncript. i u khi n Æ° c movie, b n ph i t tĂȘn cho movie clip. ChĂș Ăœ r ng m t movies clip cĂł 2 tĂȘn, m t tĂȘn s d ng cho timeline . M t tĂȘn s d ng cho actioncript. 2 tĂȘn nĂ y cĂł th t trĂčng tĂȘn nhau ho c khĂĄc tĂȘn nhau. LĂ m sao t tĂȘn cho movie clip : Ch n insert -----> New Symbol (ho c b m Ctrl F8), t tĂȘn cho movies clip (nh l a ch n option movies clip, ch ko ph i lĂ  button hay graphic) TĂȘn nĂ y Æ° c s d ng cho timeline. vd: gear animation Th movie gear animation vĂ o c a s thi t k .. PHĂ­a dÆ° i c a s properties, ban s
  • 22. th y box instance name.. t tĂȘn cho movie tĂȘn nĂ y Æ° c s d ng cho Action script , vd : gears vĂ  nhÆ° v y, khi b n l p trĂŹnh , tĂȘn s d ng lĂ  gears , ch ko ph i gear animation. b n cĂł th s d ng d u ch m Æ°a ra cĂĄc lĂȘnh cho movie c a b n. vĂ­ d ActionScript gears.stop(); gears.gotoAndStop(5); Nh r ng movie clip luĂŽn cĂł level. N u o n mĂŁ Æ° c t trĂȘn chĂ­nh movieclip, b n ko c n s d ng tĂȘn movies, ch c n gotoAndStop();. N u b n t c tĂȘn movie vĂ o, Flash s tĂŹm movie c a b n t timeline chĂ­nh.. T c lĂ  s ph i qua 2 level. ---> ch m hÆĄn chĂșt. 2)Animation Playback Controller HĂŁy down load source code t trĂȘn ph n download vĂ  xem. V cÆĄ b n, chĂșng ta lĂ m cĂĄc vi c sau: - T o m t Movie , t tĂȘn lĂ  gear animation - t instance name lĂ  gear(hÆ° ng d n trĂȘn) - Frame u tiĂȘn c a time line chĂ­nh, chĂšn code ActionScript gears.stop(); -T o cĂĄc button Advance, Previous, Play, Stop, and Rewind -Code cho cĂĄc button l n lÆ° t lĂ  Advance ActionScript on (release) { gears.nextFrame(); } Previous ActionScript on (release) { gears.prevFrame(); } Play ActionScript on (release) { gears.play(); } Stop ActionScript on (release) {
  • 23. gears.stop(); } Rewind ActionScript on (release) { gears.gotoAndStop (1); } 3) Target m t movie Level cÆĄ b n u tiĂȘn c a Flash lĂ  time line chĂ­nh(Level 0). N u b n mu n ra l nh cho time line nĂ y, b n dĂčng code sau _root.gotoAndStop(); th m chĂ­ n u b n t code time line chĂ­nh, b n ko c n _root. Ch c n gotoAndStop(); Gi s n u b n cĂł m t movie trĂȘn time line, t c lĂ  b n cĂł m t level sĂąu hÆĄn(level 1). N u b n t time line chĂ­nh, mu n goi movie gears , b n ph i dĂčng cĂąu l nh gears.gotoAndStop(7); _root["gears"].gotoAndStop(7); this["gears"].gotoAndStop(7); C 3 cĂĄch trĂȘn u gi ng nhau.. Tuy nhiĂȘn this cĂł nghÄ©a lĂ  level hi n hĂ nh. VÍ d trĂȘn, level hi n hĂ nh c a this lĂ  level 0. NhÆ°ng n u code t trong movie, level hi n hĂ nh s lĂ  level 1. B n ph i chĂș Ăœ. Gi s b n cĂł m t movie khĂĄc bĂȘn trong movie, t c lĂ  b n cĂł level 2. N u b n mu n t level 1 g i n level 2, b n ph i dĂčng _parent. Parent dĂčng gi ng nhÆ° root, nhÆ°ng khĂĄc ch , nĂł Æ° c g i t level trĂȘn. CĂČn root Æ° c g i t level 0 (t c lĂ  level g c). Thu n l i t vi c s d ng root, this lĂ  b n cĂł th gĂĄn bi n cho movie clips ActionScript var whichClipToUse = "gears"; this[whichClipToUse].stop(); Thu n l i c a v c s d ng this nhi u hÆĄn root ch , ko ph i lĂșc nĂ o m i th cĆ©ng x y ra time line chĂ­nh, ĂŽi khi ta ch mu n nĂł x y ra m t level nh t nh. B i v y this lĂ  cĂĄch t t nh t goi level c a m t movie. Tuy nhiĂȘn trong nh ng trÆ°ÆĄng h p ÆĄn gi n, hay nh t lĂ  c t tĂȘn cho movies. 4) MĂŁ cho movie clip
  • 24. ChĂșng ta ĂŁ bĂ n v button trĂȘn, v y v cÆĄ b n movie clip script cĆ©ng gi ng button, Ăł lĂ  ActionScript onClipEvent (load) { trace("This clip has been loaded."); } onClipEvent : key word g i s ki n (gi ng on c a button) load : s ki n nĂ y x y ra khi movie clip xu t hi n l n u tiĂȘn trĂȘn mĂ n hĂŹnh . NÓ ch x y ra m t l n. Nh r ng ngay c khi time line chĂ­nh b ng, movie clip n m trĂȘn time line v n ti p t c ch y. S kiĂȘn enterFrame x y ra liĂȘn t c bĂȘn trong movie clip m i khi n m t frame m i. S ki n nĂ y s th c thi o n mĂŁ m t cĂĄch liĂȘn t c cho n khi nĂł b k t thĂșc. ActionScript onClipEvent (enterFrame) { trace("This clip has entered a new frame."); } bĂąy gi hĂŁy copy 2 o n code trĂȘn vĂ o c a s action c a timeline chĂ­nh vĂ  run .. b n s th y ActionScript This clip has been loaded This clip has entered a new frame This clip has entered a new frame This clip has entered a new frame This clip has entered a new frame dĂČng ch s ti p t c hi n ra cho n khi b n t t movie. Gi th 07: d ch chuy n vĂ  thay i movie, Moving and Changing Movie Clips M t movie clip (MC) bao gi cĆ©ng cĂł cĂĄc thu c tĂ­nh, cho phĂ©p b n xĂĄc nh v trĂ­, phĂłng to thu nh , quay, th m chĂ­ lĂ m nĂł bi n m t. ChÆ°ÆĄng nĂ y cĂĄc b n s bi t cĂĄch: -thay i v trĂ­ c a mc -xĂĄc inh v trĂ­ chu t -lĂ m sao quay m t mc -lĂ m sao phĂłng to mc -lĂ m sao movie invisible
  • 25. 1) V trĂ­ c a MC: M i th trong Flash u cĂł v trĂ­. V trĂ­ nĂ y Æ° c o b ng PIXEL. GĂłc trĂȘn cĂčng bĂȘn trĂĄi c a mĂ n hĂŹnh lĂ  v trĂ­ (0,0) .NĂł lĂ  v trĂ­ giao c a hĂ ng ngang vĂ  c t d c. N u b n s d ng m t movie m c nh, thĂŹ gĂłc dÆ° i bĂȘn ph i s lĂ  550,400. CĂł nghia lĂ  550 pixel t bĂȘn trĂĄi sang vĂ  400 pixel t bĂȘn trĂȘn xu ng. nhĂŹn hĂŹnh sau rĂ” hÆĄn. 2) V trĂ­ c a Mouse: CĆ©ng nhÆ° movie, mouse cĆ©ng cĂł th xĂĄc inh Æ° c t a .. CHĂș Ăœ thu t ng mouse Ăąy lĂ  nĂłi n con tr (cursor), ch khĂŽng ph i con chu t b n ang c m trĂȘn tay.. ^^
  • 26. CĂł hai thu c tĂ­nh cÆĄ b n c a con tr , Ăł lĂ  _xmouse vĂ  _ymouse. V y _xmouse vĂ  _ymouse lĂ  thu c tĂ­nh c a chĂ­nh i tÆ° ng mĂ  chĂșng Æ° c gĂĄn. N u b n s d ng trĂȘn time line chĂ­nh, thĂŹ chĂșng lĂ  thu c tĂ­nh c a time line. N u b n s d ng chĂșng trĂȘn movie clip, thĂŹ nĂł lĂ  thu c tĂ­nh c a movie clip. N u xmous y mouse lĂ  thu c tĂ­nh c a time line chĂ­nh, nĂł s m c nh lĂ  gĂłc trĂĄi trĂȘn cĂčng. N u xmouse ymouse lĂ  thu cc tĂ­nh c a 1 movie clip, nĂł s m c nh trung tĂąm c a MC. H u h t cĂĄc trÆ° ng h p thu c tĂ­nh liĂȘn quan n movie chĂ­nh, b n nĂȘn dĂčng cĂĄch _root._xmouse vĂ  _root._ymouse Ăąy lĂ  m t o n code vĂ­ du CODE onClipEvent (enterFrame) { trace(_root._xmouse); trace(_root._ymouse); trace(""); } Khi b n ch y movie, b n s th y cĂĄc c p s Æ° c in ra, Ăł chĂ­nh lĂ  t a x,y mouse .HĂŁy d ch chuy n mouse lĂȘn gĂłc trĂĄi trĂȘn, b n s th y Ăł v trĂ­ mouse lĂ  0.0. ho c gĂłc ph i dÆ° i, t a lĂ  550 400. ChĂș Ăœ: khi b n Æ°a chu t ra ngoĂ i Flash window, t a chuĂŽt xmouse y mouse khĂŽng thay i. N u b n di chuy n chu t th t nhanh t trung tĂąm c a c a s ra ngoĂ i c a s , cĂĄc giĂĄ tr cĆ© v n Ăł cho n khi b n quay tr l i c a s . VÌ v y, b n ph i luĂŽn lĂȘn k ho c c n th n trÆ° c khi dĂčng xmouse, y mouse 3) LĂ m movie quay M t thu c tĂ­nh khac Ăł lĂ  thu c tĂ­nh _rotation Thu c tĂ­nh rotation ch p nh n giĂĄ tr lĂ  gĂłc . M t vĂČng trĂČn chia ra 360 , mi n giĂĄ tr c thu c tĂ­nh rotation lĂ  -180 vĂ  180. B n cĂł th s d ng giĂĄ tr integer ho c floating point. GiĂĄ tr c a _rotation luĂŽn luĂŽn trong vĂČng -180 vĂ  180, vĂ­ d 179, ho c -179. NhÆ°ng n u b n t nĂł lĂ  181, nĂł s hi u thĂ nh gĂłc -179. v y quay m t movie, ÆĄn gi n lĂ  t giĂĄ tr cho nĂł, b n cĆ©ng cĂł th s d ng cĂĄc bi u toĂĄn ++, += thay i giĂĄ tr . HĂŁy xem vĂ­ d sau CODE myClip._rotation = 90; myClip._rotation++; _root["myClip"]._rotation = 45; this._rotation += 0.5;
  • 27. 4) Co giĂŁn Ă n h i m t MC: B n cĂł th lĂ m co giĂŁn, thay i chi u dĂ i chi u r ng c a movie clip Scale thu c tĂ­nh THu c tĂ­nh lĂ m vi c nĂ y lĂ  _xscale cho chi u ngang vĂ  _yscale cho chi u d c. CĂĄc giĂĄ tr Æ° c gĂĄn cho x,y scale lĂ  ph n trăm. CĂł nghÄ©a giĂĄ tr 100 lĂ  100 ph n trăm , Ăąy lĂ  thu c tĂ­nh m c inh cho m t movie clip g c. B n cĂł th s d ng cĂĄc s nh hÆĄn nhÆ° 50 lĂ m movie co l i. Ho c cĂł th s d ng s to hÆĄn, 200 giĂŁn movie ra. Th m cĂł th dĂčng cĂĄc giĂĄ tr Ăąm l t movie. vĂ­ d 07mousesclae.fla ch a m t o n mĂŁ mĂ  chĂșgn ta s g p r t nhi u sau nĂ y. NĂł ki m tra t a c a mouse,. Sau Ăł xĂĄc inh t mouse n trung tĂąm movie xa bao nhiĂȘu. R i nĂł s d ng kho ng cĂĄch ,c chi u cao chi u r ng tĂ­nh ph n trăm t l cho movie clip. CODE onClipEvent (load) { // get the original width and height of the mc origWidth = this._width; origHeight = this._height; } onClipEvent (enterFrame) { // get the distance from the center of the mc to the mouse dx = _root._xmouse-this._x; dy = _root._ymouse-this._y; // calculate the percentage of scale sx = 100*dx/(origWidth/2); sy = 100*dy/(origHeight/2); // set the scale of the mc this._xscale = sx; this._yscale = sy; } ChĂș Ăœ Ăąy ta s d ng 2 thu c tĂ­nh m i, _width vĂ  _height tr v chi u cao vĂ  chi u r ng c a movie clip b ng Pixel. CHĂșng Æ° c lÆ°u giĂș trong onClipEvent (load) vĂŹ khi ta c n l y l i giĂĄ tr g c c a movie. Thu c tĂ­nh _width, _height S khĂĄc nhau gi a scale vĂ  width,height Ă­ scale s d ng giĂĄ tr ph n trăm. CĂČn width height s d ng pixel . Movie cĂł th cĂł giĂĄ tr sau: width 75, height 45, nhÆ°ng scale cho c xscale and yscale lĂ  100 ph n trăm. DÆ° i Ăąy lĂ  m t vĂ­ d s d ng width height th y th cho xscale, yscale. CODE
  • 28. onClipEvent (enterFrame) { // get the distance from the center of the mc to the mouse dx = _root._xmouse-this._x; dy = _root._ymouse-this._y; // set the scale of the mc this._width = dx*2; this._height = dy*2; } b n cĂł th th y code nĂ y ng n g n hÆĄn ÆĄ trĂȘn. b i vĂŹ nĂł ko s d ng s kiĂȘn onClipEvent(load) b i gĂĄi tr chi u dĂ i chi u cao c a movie g c ko c n lÆ°u tr . Ăąy lĂ  m t vĂ­ d cho th y s d ng width vĂ  height ti n hÆĄn d ng xscale ,y scale. 5) Visibility M t thu c tĂ­nh khĂĄc c a MC lĂ  thu c tĂ­nh _visible , giĂĄ tr c a thu c tĂ­nh nĂ y lĂ  giĂĄ tr boolean true , false. CODE myClip._visible = false; hĂŁy xem vĂ­ d 07visible.fla rĂ” hÆĄn. Gi s ta khĂŽng mu n movie bi n m t h n, mĂ  ch b m i, ta s d ng thu c tĂ­nh _alpha . Thu c tĂ­nh cĂł giĂĄ tr t 0 n 100 CODE myClip._alpha = 50; Thu c tĂ­nh alpha lĂ  kĂȘnh mĂ u th 4, tĂȘn lĂ  alpha channel . 3 kĂȘnh u tiĂȘn lĂ  red ,green, blue t o ra 7 mĂ u c u v ng. Khi b n nghe n h a 32 bit, cĂł nghÄ©a lĂ  nĂł 4 kĂȘnh mĂ u.. CĂČn 24 bit cĂł nghÄ©a ch c 3 kĂȘnh u tiĂȘn. N u giĂĄ tr c a _visible lĂ  0 thĂŹ movie lĂ  trong su t hoĂ n tĂČan vĂ  cĂł th nhĂŹn th y t t c m i th phĂ­a sau movie. NhĂŹn hĂŹnh sau xem cĂčng 1 movieclip nhÆ°ng v i 3 giĂĄ tr alpha khĂĄc nhau, 10, 50 vĂ  100 (t trĂĄi sang) Gi th 08: ch n, kĂ©o th movie clip, Moving and Changing Movie Clips 1. Selection
  • 29. B n ĂŁ bi t cĂĄch h c sao t o m t button vĂ  cho phĂ©p ngÆ° i s d ng click vĂ o lĂ m s ki n ho t ng. Tuy nhiĂȘn Ăąy ta s h c cĂĄch click vĂ o ch n l a m t i tÆ° ng trĂȘn mĂ n hĂŹnh. T o m t ch n l a, cĂł nghÄ©a lĂ  user click vĂ o item , nhÆ°ng khĂŽng cĂł gĂŹ x y ra. NhÆ° v y, ngÆ° i dĂčng cĂł th l a ch n vĂ  thay i l a ch n. ChĂșng ta s s d ng l a ch n nhÆ° bÆ° c u tiĂȘn h c kĂ©o th movie. Button bĂȘn trong m t Movie method. M t movie khĂŽng th ph n ng v i mouse click. KhĂŽng th s d ng cĂĄc s ki n nhÆ° on (release) hay (Press). vĂŹ v y ta ph i tĂŹm cĂĄch ĂĄnh l a nĂł. Ăł lĂ  s d ng m t button bĂȘn trong movie. Button cĂł th x lĂœ Æ° c mouse click, vĂ  mi n lĂ  nĂł cĂł l n bao trĂčm m t movie. HĂŁy xem vĂ­ d 08buttoninmc.fla . Ta ch nhĂŹn th y m t movie clip trĂȘn mĂ n hĂŹnh.nhÆ°ng th c ch t bĂȘn trong c a movie clip lĂ  m t button. t o ra kh năng select, ta ph i t o nhi u frame.Frame u tiĂȘn ch a m t button tĂȘn lĂ  offbutton. Button nĂ y cĂł mĂŁ lĂ  CODE on (release) { this.gotoAndStop(2); } b ng this, button s g i n movie clip mĂ  nĂł n m trĂȘn y. Frame th 2 ch a nĂșt tÆ°ÆĄng t nhu frame 1 , tĂȘn lĂ  onbutton, nĂșt nĂ y cĂł m u hÆĄi sĂĄng hÆĄn ngÆ° i dĂčng nh n ra khi nĂł Æ° c ch n. CODE on (release) { this.gotoAndStop(1); } cu i cĂčng t vĂ o frame 1 CODE stop(); BĂąy gi hĂŁy ch y xem. PhÆ°ÆĄng th c hitTest CĂł cĂĄch khĂĄc lĂ m movie cĂł th s lĂœ mouse click mĂ  khĂŽng c n button, Ăł lĂ  s d ng s ki n onClipEvent(mouseDown) ho c lĂ  onClipEvent(mouseUp)vĂ­ d CODE onClipEvent (mouseUp) { this.gotoAndStop(2); } HĂŁy ch y vĂ­ d 08twomcs1.fla xem.B n s th y t i sao onClipEvent(mouseUp) khĂĄc v i on (Release) . N u b n click vĂ o movie, c hai u ph n ng.B i vĂŹ t t c movie clip nh n s ki n mouse up Æ° c g i n cho chĂșng.
  • 30. Quy t inh movie nĂ o Æ° c click. CĂł m t cĂĄch click vĂ o movie mĂŹnh mu n. Ăł lĂ  s d ng v trĂ­ chu t xĂĄc nh. S a o n mĂŁ thĂ nh nhÆ° sau CODE onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { this.gotoAndStop(2); } } v y b ng cĂĄch rĂ ng bu c movie clip v i mouse location , ta cĂł th click movie ta mu n. VI t mĂŁ cho selection: ChĂșng ta ph i cho phĂ©p User click lĂȘn movies nhi u l n vĂ  thay i tr ng thĂĄi c a MC t b t sang t t, hay t t sang b t. o n mĂŁ sau cĂł th xĂĄc nh movie ang tr ng thĂĄi nĂ o vĂ  g i nĂł n frame khĂĄc. VI c nĂ y th c hi n b ng thu c tĂ­nh _currentFrame . Thu c tĂ­nh nĂ y s c giĂĄ tr 1 kh nĂł frame th nh t, giĂĄ tr 2 khi nĂł frame th 2. CODE onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { if (this._currentFrame == 1) { this.gotoAndStop(2); } else { this.gotoAndStop(1); } } } BĂąy gi b n ĂŁ th y cĂĄc cĂĄch t o s ch n l a movie. CĂĄch thÆ° nh t ti n l i n u b n mu n dĂčng c cĂĄc trang thĂĄi khĂĄc nhÆ° Over,up , down.. CĂĄch th hai thĂŹ khĂŽng c n nhi u bi u tÆ° ng trong thÆ° vi n. Enjoy.. 2) KĂ©o m t movie clip BĂąy gi ta s h c kĂ©o m t movie. CĂł 2 cĂĄch kĂ©o movie, cĂĄch th nh t lĂ  s d ng l nh . CĂĄch nĂ y r t d s d ng nhÆ°ng nĂł khĂŽng cho b n nhi u l a ch n trong vi c s a i vĂ  giĂĄm sĂĄt movie. CĂĄch Drag cÆĄ b n: 2 cĂąu l nh drag co b n lĂ  :startDrag vĂ  stopDrag. b n dĂčng startDrag khi b n mu n movie c a b n i theo chu t, cĂČn stopDrag khi b n mu n movie c a b n khĂŽng theo chu t n a. Ăąy lĂ  o n code cÆĄ b n : CODE onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) {
  • 31. this.startDrag(); } } onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { this.stopDrag(); } } S ki n onClipEvent nhĂŹn tÆ°ÆĄng t nhÆ° ta ĂŁ lĂ m trĂȘn. ChĂșng s d ng hitTest nh n bi t movie nĂ o ang Æ° c click. VĂ  sau Ăł cĂąu l nh startDrag vĂ  stopDrag Æ° c s d ng. Khi chu t Æ° c b m xu ng, cĂąu l nh startDrag th c thi. VĂ  ngÆ° c l i, khi chu t th ra, stopDrag th c thi. HĂŁy xem movie, b n s th y v i cĂĄc cĂąu l nh drag, b n cĂł th kĂ©o cĂĄc movie m t cĂĄch c l p. NhÆ°ng chĂș Ăœ r ng b n khĂŽng th kĂ©o 2 movie cĂčng m t lĂșc. Ch m t movie Æ° c kĂ©o t i m t th i i m. VĂŹ v y b n nĂȘn c n cĂĄch drag ph c t p vĂ  linh ng hÆĄn lĂ m ng d ng hay game. Note: startDrag cĂł 5 thĂĄm s . Tham s th nh t lĂ  giĂĄ tr True(ho c False) quy t nh vi c trung tĂąm c a movie clip cĂł khĂła v i v trĂ­ chu t hay khĂŽng. CĂĄc tham s cĂČn l i lĂ  left, top, right, bottom. N u b n t chĂșng, movie c a b n ch cĂł th Æ° c kĂ©o theo cĂĄc rĂ ng bu c Ăł. KĂ©o nĂąng cao BĂąy gi ta h c cĂĄch kĂ©o movie mĂ  ko dĂčng cĂąu l nh startDrag vĂ  stopDrag. V y lĂ m th nĂ o?? B n c n cĂł 4 ph n mĂŁ sau trong movie c a b n: Th nh t lĂ  s ki n onClipEvent(load), s ki n nĂ y s t cho bi n global tĂȘn lĂ  dragging giĂĄ tr false. Khi bi n nĂ y true, t c lĂ  bĂĄo hi u r ng movie cĂł th Æ° c kĂ©o. Th hai, ngÆ°ĂČi dĂčng click vĂ o m t movie. CĂł nghÄ©a lĂ  dragging = true . Th ba, quĂĄ trĂŹnh kĂ©o s ti p t c di n ra b i s ki n onClipEvent(enterFrame). S ki n nĂ y ch ÆĄn gi n gĂĄn _x vĂ  _y (thu c tĂ­nh c a movie clip) cho _root._xmouse vĂ  _root._ymouse(thu c tĂ­nh c a con tr ). Th 4, n u ngÆ°ĂČi dĂčng th chu t , thĂŹ bi n dragging Æ° c gĂĄn false. Sau Ăąy lĂ  o n code y CODE onClipEvent (load) { // start out not dragging dragging = false; }
  • 32. onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { // follow the mouse from now on dragging = true; } } onClipEvent (enterFrame) { if (dragging) { // set to location of the mouse this._x = _root._xmouse; this._y = _root._ymouse; } } onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { // don't follow the mouse any longer dragging = false; } } Trong vĂ­ d 08complexdrag.fla ch a 2 MC. Ki m tra movie, nhÆ°ng ch s d ng MC bĂȘn trĂĄi. Ăąy lĂ  MC lĂ m theo o n code trĂȘn. ChĂș Ăœ xem trung tĂąm movie ÆĄc khĂła v i v trĂ­ chu t nhÆ° th nĂ o. NĂł lĂ m movie nh y ngay l p t c n u b n click vĂ o nĂł. ThĂŽng thÆ° ng, khi b n mu n kĂ©o MC Ăł lĂȘn mĂ n hĂŹnh, b n khĂŽng mu n nĂł nh y t i lĂ m kh p v trĂ­ chu t v i trung tĂąm c a MC. HĂŁy kĂ©o file xung quanh mĂ n hĂŹnh.B n s th y khi b n click chu t vĂ o b t kĂŹ i m nĂ o trĂȘn movie, movie s l p t c lĂ m kh p v trĂ­ click chu t v i trung tĂąm movie. i u nĂ y cĆ©ng tÆ°ÆĄng t v i cĂąu l nh startDrag . trĂĄnh i u nĂ y, chĂșng ta ch c n thĂȘm m t o n code nh . Khi ngÆ°ĂČi s d ng b m chu t, chĂșng ta s l y offset, Ăąy lĂ  kho ng cĂĄch t chu t cho n trung tĂąm c a movie. Sau Ăł, thay th b ng vi c gĂĄn v trĂ­ chu t n trung tĂąm movie, ta se thĂȘm vĂ o offset cho MC luĂŽn luĂŽn xu t hi n offset b i cĂčng m t giĂĄ tr khi ngÆ° i dĂčng kĂ©o. TÆ° ng tÆ° ng , vĂ­ d ngÆ°ĂČi dĂčng click vĂ o m t i m cĂĄch trung tĂąm movie 5 pixel. Sau Ăł ta luĂŽn mu n kho ng cĂĄch 5 pixel Ăł Æ° c duy trĂŹ. i u nĂ y lĂ m cho ngÆ° i dĂčng cĂł th click vĂ o b t c i m nĂ o kĂ©o movie. Ăąy lĂ  code cho movie 2(bĂȘn ph i) CODE onClipEvent (load) { // start out not dragging
  • 33. dragging = false; } onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { // follow the mouse from now on dragging = true; // get the mouse offset xOffset = this._x - _root._xmouse; yOffset = this._y - _root._ymouse; } } onClipEvent (enterFrame) { if (dragging) { // set to location of the mouse this._x = _root._xmouse + xOffset; this._y = _root._ymouse + yOffset; } } onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { // don't follow the mouse any longer dragging = false; } } HĂŁy xem movie th y khĂĄc bi t gi a 2 o n code. 3) KĂ©o vĂ  th BĂąy gi ta ĂŁ bi t kĂ©o movie, v y ta s th nĂł Ăąu.? V n lĂ  b n mu n theo dĂ”i hĂ nh ng c a ngÆ° i s d ng vĂ  xĂĄc inh ngÆ° i s dung t movie Ăąu. Basic Drop Zone Ch c năng hitTest cĂł th Æ° c s d ng xĂĄc nh khi MC b Ăš lĂȘn nhau. Trong o n mĂŁ sau, chĂșgn ta s d ng l nh startDrag o n mĂŁ kĂ©o th ÆĄn gi n i, nh Ăł ta cĂł th t p trung vĂ o cĂĄc ch c năng m i. Trong o n mĂŁ sau, ch c năng hitTest Æ° c s d ng so sĂĄnh MC Æ° c kĂ©o v i m t movie khĂĄc tĂȘn lĂ  dragZone trĂȘn m t lĂȘvl(root level) CODE onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) {
  • 34. this.startDrag(); } } onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { this.stopDrag(); // see if this mc is inside the dropZone mc if (this.hitTest(_parent.dropZone)) { trace("Dropped in zone"); } else { trace("Dropped outside zone"); } } } ChĂș Ăœ hitTest khĂŽng Æ° c s d ng nhÆ° cĂĄc bĂ i trÆ° c, chĂșng ta thay th v trĂ­ _x vĂ  _y b i m t movie khĂĄc. Lo i hitTest nĂ y so sĂĄnh v trĂ­ vĂ  vĂčng Æ° c bao ph c a 2 movie clip. Trong trÆ° ng h p nĂ y, nĂł Æ° c so sĂĄnh v i _parent.dropZone. N u cĂł 2 movie Ăš lĂȘn nhau, hitTest tr giĂĄ tr True. xĂĄc inh xem MC nĂ o ang t n t i, hĂŹnh ch nh t c a c 2 movie u Æ° c s d ng. i u nĂ y cĂł nghÄ©a lĂ  khi b n s d ng 2 hĂŹnh trĂČng, nhÆ° trong vĂ­ d , b n thĂąn chĂ­nh cĂĄc vĂČng trĂČn Ăł khĂŽng Æ° c ch m vĂ o mi n lĂ  cĂĄc hĂŹnh ch nh t c a 2 movie Æ° c dĂčng. HĂŁy xem hĂŹnh minh h a. T t c cĂĄc movie Dragme u n m Ăš trĂȘn DropZone. CĂł 2 cĂĄch s d ng hitTest. Th nh t lĂ  s d ng t a x,y. ChĂșng ta cĂł th s d ng movie clip nhÆ° v trĂ­ x,y, r i sau Ăł s d ng dropzone nhÆ° m t movie clip th nh t. CODE if (_parent.dropZone.hitTest(this._x,this._y)) { V i o n code nĂ y, thay th vĂ­ d trĂȘn, movie clip s n m bĂȘn trong hĂŹnh ch nh t c a vĂčng dropzone. ChĂșng ta cĂł th thĂȘm m t bÆ° c n a v i hittest. B ng cĂĄch thĂȘm tham s th 3 cho hitTest, chĂșng ta cĂł th dĂčng hitTest xem hĂŹnh d ng chĂ­nh xĂĄc c a movie clip vĂ  xĂĄc inh v trĂ­ x,y. Bi n th 3 nĂ y c n gĂĄn true n u b n mu n hĂ nh vi nĂ y. N u nĂł false, nĂł se hĂ nh ng gi ng nhÆ° ch c năng hitTest bĂŹnh thÆ° ng. Ăąy lĂ  o n code CODE if (_parent.dropZone.hitTest(this._x,this._y,true)) {
  • 35. BĂąy gi movie kĂ©o th c a ta h at ng t t hÆĄn. N u b n s d ng vĂ­ d 08drop.fla, movie bĂȘn ph i s s d ng o n mĂŁ gĂŽc, vĂ  nĂł n m Ăš trĂȘn hĂŹnh ch nh t c a dropzone. CĂĄc movie khĂĄc s d ng o n code ph c t p hitTest vĂ  chĂșng cĂł trung tĂąm nĂ m bĂȘn trong hĂŹnh d ng g c c a dropzone. Gi th 09: L y thĂŽng tin t ngÆ° i dĂčng, Getting input from the user Cho t i bĂąy gi , qua 8 gi lĂ m quen v i AS, t t c cĂĄc tĂĄc ng c a b n lĂȘn trĂȘn flash u Æ° c lĂ m qua chu t. NhÆ°ng ngoĂ i chu t, b n cĂł th dĂčng bĂ n phĂ­m n p thĂŽng tin vĂ o Flash. LĂ m sao phĂĄt hi n khi ngÆ° i dĂčng b m phĂ­m CĂł 3 cĂĄch phĂĄt hi n khi m t phĂ­m tĂȘn bĂ n phĂ­m b nh n. 1 lĂ  dĂčng nĂșt, 2 lĂ  dĂčng i tÆ° ng Key, vĂ  3 lĂ  dĂčng "listener" (ch cĂł Flash MX vĂ  MX 2004) 1. PhĂĄt hi n qua nĂșt: B n cĂł th dĂčng nĂșt phĂĄt hi n khi ngÆ° i dĂčng s d ng bĂ n phĂ­m. B n chi c n dĂčng l nh x lĂœ s ki n on cho o n code c a nĂșt . VĂ­ d o n code sau s kĂ­ch ho t khi mĂ  ngÆ° i dĂčng nh n phĂ­m "a". ActionScript on (keyPress "a"){ trace ("Key 'a' pressed"); } Trong movie m u 09keybutton.fla cĂł m t nĂșt ÆĄn gi n n m trĂȘn mĂ n hĂŹnh vĂ  vĂ i vĂ­ d trong Ăł. N u b n cho ch y th movie vĂ  nh n phĂ­m "a" thĂŹ Output window s cĂł vi t ra dĂČng ch "Key 'a' pressed.". X lĂœ d ki n on(keyPress) nh lĂ  ph i phĂąn bi t d ng ch (case-sensitive) nĂȘn n u b n ch code cho nĂł nh n phĂ­m "a" thĂŹ nĂł s khĂŽng th nh n Æ° c phĂ­m "A". May mĂ  chĂșng ta cĂł th dĂčng bao nhi u b x lĂœ d ki n cĆ©ng Æ° c. N u b n mu n x lĂœ cĂĄc phĂ­m khĂĄc, nhÆ° cĂĄc phĂ­m mĆ©i tĂȘn, enter, thanh dĂ i (space bar) ... thĂŹ b n ph i dĂčng cĂĄc code dĂ nh riĂȘng cho chĂșng. VĂŹ d b n mu n x lĂœ phĂ­m mĆ©i tĂȘn trĂĄi (left arrow key) thĂŹ dĂčng o n code sau: ActionScript on (keyPress "<Left>") { trace("Left pressed."); } VĂ  sau Ăąy lĂ  cĂĄc code dĂ nh cho cĂĄc phĂ­m c bi t: ‱ <Right> ‱ <Left> ‱ <End> ‱ <PageUp>
  • 36. ‱ <Insert> ‱ <PageDown> ‱ <Down> ‱ <Up> ‱ <Delete> ‱ <Tab> ‱ <Backspace> ‱ <Escape> ‱ <Home> ‱ <Enter> ‱ <Space> B n cĂł th h p nhi u d ki n l i chung v i nhau. VĂ­ d b n cĂł m t nĂșt vĂ  nĂșt Ăł cĂł phĂ­m t t lĂ  "b". V y khi b n nh n nĂșt Ăł hay lĂ  nh n phĂ­m "b" thĂŹ code c a nĂșt Ăł s Æ° c kĂ­ch ho t. ActionScript on (keyPress "b", release) { trace("'b' pressed or button clicked."); } CĂĄc vĂ­ d trĂȘn u cĂł trong movie m u 09keybutton.fla 2. PhĂĄt hi n qua i tÆ° ng phĂ­m (key object) M c dĂč nĂșt r t h u Ă­ch trong vi c phĂĄt hi n khi ngÆ° i dĂčng nh n phĂ­m, nhÆ°ng nĂșt l i khĂŽng th phĂĄt hi n Æ° c trÆ° ng h p khi ngÆ° i dĂčng nh n phĂ­m vĂ  khĂŽng nh t tay. VĂ­ d n u b n lĂ m m t game b ng Flash, vĂ  trong Ăł ngÆ° i chÆĄi cho th lĂ m cho cĂĄc nhĂąn v t trong game di chuy n liĂȘn t c n u nhÆ° h nh n phĂ­m mĆ©i tĂȘn vĂ  khĂŽng nhĂąt tay lĂȘn. Cho nh ng trÆ° ng h p nhÆ° v y, b n ph i dĂčng i tÆ° ng Key. i tÆ° ng Key lĂ  t p h p c a m t s hĂ m (function) vĂ  h ng s (constant) Æ° c xĂąy d ng s n trong Flash. B n cĂł th dĂčng cĂĄc hĂ m vĂ  h ng s nĂ y biĂȘt Æ° c cĂĄc phĂ­m ang b nh n hay khĂŽng. VĂ­ d , n u mu n ki m tra coi phĂ­m mĆ©i tĂȘn trĂĄi cĂł b ang nh n hay khĂŽng thĂŹ dĂčng o n code sau: ActionScript if (Key.isDown(Key.LEFT)) { trace("The left arrow is down"); } HĂ m Key.isDown s cho ra k t qu Ășng hay sai ph thu c vĂ o thĂŽng s cĂł ph i lĂ  phĂ­m ang b nh n hay khĂŽng. H ng s Key.LEFT tÆ° ng trÆ°ng cho phĂ­m mĆ©i tĂȘn trĂĄi. v y khi mĆ©i tĂȘn trĂĄi b nh n thĂŹ output window s cho ra hĂ ng ch "The left arrow is down". DÆ° i Ăąy lĂ  cĂĄc h ng s tÆ°ÆĄng t nhÆ° Key.LEFT c p trĂȘn ‱ Key.BACKSPACE ‱ Key.ENTER ‱ Key.PGDN
  • 37. ‱ Key.CAPSLOCK ‱ Key.ESCAPE ‱ Key.RIGHT ‱ Key.CONTROL ‱ Key.HOME K ‱ ey.SHIFT ‱ Key.DELETEKEY ‱ Key.INSERT ‱ Key.SPACE ‱ Key.DOWN ‱ Key.LEFT ‱ Key.TAB ‱ Key.END ‱ Key.PGUP ‱ Key.UP N u b n mu n ki m tra xem n u nh ng phĂ­m bĂŹnh thÆ° ng ang b nh n thĂŹ b n ph i dĂčng Key.getCode l y mĂŁ s c a phĂ­m Ăł dĂčng trong hĂ m Key.isDown. Ăąy lĂ  code m u khi b n mu n ki m tra phĂ­m "a" ActionScript if (Key.isDown(Key.getCode("a")) { trace("The left arrow is down"); } Cho 2 vĂ­ d trĂȘn, b n cĂł th coi source Fla 09keyobject.fla 3. Key Listener Key listener Æ° c dĂčng quan sĂĄt bĂ n phĂ­m vĂ  thĂŽng bĂĄo cho Flash khi phĂ­m Æ° c nh n. cĂĄch th 2 chĂșng ta dĂčng i tÆ° ng Key ki m tra coi phĂ­m cĂł b nh n hay khĂŽng, nhÆ°ng nĂł khĂŽng th bi t chĂ­nh xĂĄc lĂșc nĂ o thĂŹ phĂ­m b nh n. N u mĂ  ngÆ° i dĂčng nh n phĂ­m quĂĄ nhanh, trÆ° c khi onClipEvent(enterFrame) k p kĂ­ch ho t i tÆ° ng key ki m tra thĂŹ Flash s khĂŽng bao gi bi t Æ° c ngÆ° i dĂčng ĂŁ nh n phĂ­m. M t b t ti n n a khi dĂčng cĂĄch th 2 lĂ  n u b n mu n ngÆ° i dĂčng nh n phĂ­m nhi u l n thĂŹ i tÆ° ng Key s khĂŽng phĂąn bi t Æ° c Ăł lĂ  1 l n nh n dĂ i hay lĂ  nhi u cĂĄi nh n th t nhanh. VĂ­ v y Flash MX, MM cho chĂșng ta thĂȘm m t l a ch n n a lĂ  Key listeners. b n cĂł th dĂčng "listener" (cĂł th hi u nĂł nhÆ° m t quan sĂĄt viĂȘn) theo dĂ”i s ki n c a bĂ n phĂ­m vĂ  thĂŽng bĂĄo cho Flash ngay khi phĂ­m Æ° c nh n. Listener cĂł 2 ph n. Ph n u lĂ  ph n t o listener. B n ph i ra l nh cho listener nĂ y chĂș Ăœ vĂ o s ki n c a bĂ n phĂ­m. Ăąy lĂ  code cho t o listener ActionScript Key.addListener(_root);
  • 38. L nh Key.addlistner t o listener cho i tÆ° ng trong thĂŽng s lĂ  _root. VĂ  i tÆ° ng nĂ y s Æ° c thĂŽng bĂĄo v s ki n c a bĂ n phĂ­m. Trong o n code trĂȘn, _root lĂ  i tÆ° ng Æ° c thĂŽng bĂĄo v s ki n c a bĂ n phĂ­m. NhÆ°ng khi nh n Æ° c thĂŽng bĂĄo thĂŹ _root ph i lĂ m gĂŹ? VĂŹ v y chĂșng ta c n ph i vi t code x lĂœ s ki n cho _root. VĂ­ d o n code sau s Æ° c th c hi n khi _root nh n Æ° c thĂŽng bĂĄo v s ki n bĂ n phĂ­m. ActionScript _root.onKeyUp = function() { trace(Key.getAscii()); } Khi ngÆ° i dĂčng nh n phĂ­m, r i nh t tay lĂȘn thĂŹ s t o ra s ki n onKeyUP, vĂ  s ki n nĂ y Æ° c thĂŽng bĂĄo t i _root (b n cĂł th thay th _root b ng b t kỳ i tÆ° ng nĂ o) vĂ  sau Ăł thĂŹ hĂ m Key.getAscii() s cho ra k t qu lĂ  mĂŁ s ASCII tÆ°ÆĄng ng v i phĂ­m v a Æ° c nh n, vĂ­ d A = 65, B = 66 .v.v B n cĂł th xem cĂĄi fla m u 09keylistener.fla, trogn Ăł cĂł o n code trĂȘn (lÆ°u Ăœ lĂ  trong fla nĂ y s khĂŽng cĂł gĂŹ h t ngoĂ i o n code AS frame u tiĂȘn) N u b n mu n bi t phĂ­m Æ° c nh t lĂ  gĂŹ thay vĂŹ ASCII code thĂŹ b n cĂł th dĂčng String.fromCharCode() cho ra k t qu b n mu n tĂŹm. Thay dĂČng trace(Key.getAscii()); băng trace(String.fromCharCode(Key.getAscii())); Th t ra ngoĂ i 3 cĂĄch trĂȘn, cĂČn m t cĂĄch n a lĂ  dĂčng b x lĂœ s ki n onClipEven c a movie clip theo d i s ki n keyDown, keyUp, nhÆ°ng cĂĄch nĂ y khĂŽng cĂČn Æ° c dĂčng trong Flash MX n a, vĂŹ v y b n ch cĂł th cĂĄch nĂ y trong cĂĄc Flash trÆ° c MX thĂŽi. BĂ i T p: DĂčng phĂ­m di chuy n movie clip 1. T o m t file Flash m i 2. T o m t movie clip ÆĄn gi n 3. G n o n code nĂ y vĂ o movie clip Ăł ActionScript onClipEvent(enterFrame) { if (Key.isDown(Key.LEFT)) this._x -= 5; if (Key.isDown(Key.RIGHT)) this._x += 5; if (Key.isDown(Key.UP)) this._y -= 5; if (Key.isDown(Key.DOWN)) this._y += 5; }[/b] o n code trĂȘn ki m tra 4 phĂ­m mĆ©i tĂȘn vĂ  di chuy n movie clip theo hÆ° ng c a mĆ©i tĂȘn. B n hĂŁy th movie coi sao 4. Thay i o n code trĂȘn cho hoĂ n ch nh hÆĄn: t o 2 bi n [b]x, y[/b] cĂł giĂĄ tr tÆ°ÆĄng Æ°ÆĄng v i v trĂ­ ban u c a movie clip, vĂ  l p giĂĄ tr cho bi n [b]speed[/b] b ng 5. M i frame c a movie, mĂŹnh s ki m tra 4 phĂ­m mĆ©i tĂȘn vĂ  i u ch nh giĂĄ tr c a 2
  • 39. bi n [b]x,y[/b] ch khĂŽng i u ch nh v trĂ­ c a movie clip, sau Ăł ph i h p v i bi n [b]speed[/b] tĂŹm v trĂ­ m i cho movie clip, r i m i di chuy n movie clip t i Ăł: [code]onClipEvent(load) { x = this._x; y = this._y; speed = 5; } onClipEvent(enterFrame) { if (Key.isDown(Key.LEFT)) { x -= speed; } if (Key.isDown(Key.RIGHT)) { x += speed; } if (Key.isDown(Key.UP)) { y -= speed; } if (Key.isDown(Key.DOWN)) { y += speed; } this._x = x; this._y = y; } o n code trĂȘn cĂł 2 lÆĄi i m. Th nh t, chĂșng ta tĂŹm v trĂ­ m i c a movie clip trÆ° c khi chĂșng ta di chuy n movie clip t i Ăł, vĂ  nhÆ° v y chĂșng ta cĂł th ki m tra v trĂ­ m i cĂł h p lĂœ khĂŽng (ĂĄo d ng rĂąt nhi u trong game), vĂ  th hai lĂ  r t ti n cho chĂșng ta thay i t c di chuy n c a movie clip, ch c n thay i giĂĄ tr c a bi n speed Nh p văn b n Trong Flash, ngÆ° i dĂčng cĂł th nh p văn b n vĂ o cĂĄc khung, vĂ  b n cĂł th dĂčng AS l y nh ng văn b n Ăł. cho ngÆ° i dĂčng cĂł th nh p văn b n, b n ph i t o khung input text vĂ  t o cho 1 varible tÆ°ÆĄng ng v i gĂ­a tr trong khung input text Ăł. (n u b n nĂ o chÆ°a bi t t o input text thĂŹ cĂł th download 3 cĂĄi CD hÆ° ng d n ÆĄ bĂȘn box tĂ i li u tham kh o thĂȘm) CĂĄc ch c năng vĂ  thao tĂĄc lĂ m vi c v i chu i kĂœ t (string ChĂșng ta cĂł r t nh iu thao tĂĄc v i chu i kĂœ t : 1. GhĂ©p 2 chu i l i v i nhau: dĂčng kĂœ hi u +. VĂ­ d b n cĂł variable tĂȘn lĂ  myVariable cĂł giĂĄ tr lĂ  "Hello", vĂ  mu n ghĂ©p ch "world" vĂ o sau Ăł thĂŹ dĂčng nhÆ° sau: myVariable = myVariable + "world" vĂ  k t qu cĂł Æ° c s lĂ  "Hello world". B n cĆ©ng cĂł th ghĂ©p nhi u hÆĄn 2 chu i l i v i nhau b ng cĂĄch trĂȘn. 2. Substrings. Substring lĂ  m t chu i kĂœ t nh trong 1 chu i kĂœ t khĂĄc. VĂ­ d "ell"
  • 40. lĂ  substring c a "hello world" hay lĂ  "hello" hay lĂ  "elle" hay "hell". B n cĂł th l y b t c substring nĂ o c a 1 string v i cĂș phĂĄp sau: String.substring(start, end));. String lĂ  i tÆ° ng chu i mĂ  b n mu n trĂ­ch ra m t ph n, start lĂ  s th t c a kĂœ t b t u cho chu i b n mu n lĂąy, vĂ  end lĂ  s th t b t Ăąu cho ph n b n khĂŽng mu n l y. LÆ°u Ăœ r ng kĂœ t u tiĂȘ s cĂł s th t lĂ  0. VĂ­ d v i o n code sau, output window s cho ra hĂ ng ch "lo W" ActionScript var myString = "Hello World."; trace(myString.substring(3,7)); NgoĂ i ra cĂČn 1 cĂĄch n a dĂčng tÆ°ÆĄng t nhÆ° cĂĄch trĂȘn nhÆ°ng ch khĂĄc v thĂŽng s vĂ  cĂł cĂș phĂĄp nhÆ° sau: String.substr(start, length);. thĂŽng s 1 cho s th t c a ch cĂĄi u tiĂȘn vĂ  th hai cho chi u dĂ i c a chu i. o n code sau cĆ©ng s cĂł k t qu tÆ° ng t nhÆ° cĂĄch 1 ActionScript var myString = "Hello World."; trace(myString.charAt(6)); CĂĄc hĂ m c a i tÆ° ng String Sau Ăąy lĂ  m t s hĂ m tiĂȘu bi u c a i tÆ° ng String. 1. indexOf: dĂčng tĂŹm s th t c a m t kĂœ t hay m t chu i nh trong i tÆ° ng String. N u hĂ m indexOf tĂŹm khĂŽng th y kĂœ t hay chu i nh thĂŹ s cho ra k t qu -1. Ăąy lĂ  cĂș phĂĄp:myString.indexOf(substring,start)); substring lĂ  kĂœ t hay chu i mĂŹnh mu n tĂŹm, start lĂ  s th t mĂŹnh b t u tĂŹm trong i tÆ° ng String. VĂ­ d : ActionScript var myString = "Hello World."; //output: 6 trace(myString.indexOf("W",0)); //output: 2 trace(myString.indexOf("llo",0)); 2. lastIndexOf: tÆ°ÆĄng t nhÆ° indexOf nhÆ°ng chĂșng ta tĂŹm kĂœ t cu i cĂčng i ngÆ° c lĂȘn t ikĂœ t u tiĂȘn. ActionScript var myString = "Hello World."; //output: 2 trace(myString.indexOf("l",0)); //output: 9 trace(myString.lastIndexOf("l"));
  • 41. 3. toUpperCase/toLowerCase: dĂčng i chu i t vi t thÆ° ng sang vi t hoa vĂ  ngÆ° c l i ActionScript var myString = "Hello World."; //output: HELLO WORLD trace(myString.toUpperCase()); //output: hello world trace(myString.toLowerCase()); 4. length: lĂ  c tĂ­nh c a Sring dĂčng tĂ­nh chi u dĂ i c a chu i. ActionScript var myString = "Hello World."; //output: 12 trace(myString.length); BĂ i t p: 1. m file 09form-noscripts.fla 2. ki m tra tĂȘn c a variable c a m i input text field qua property panel 3. ThĂȘm o n mĂŁ sau vĂ o nĂșt CLEAR ActionScript on (release) { clearForm(); } 4. thĂȘm o n mĂŁ sau vĂ o nĂșt SUBMIT ActionScript on (release) { submitForm(); } 5. ThĂȘm o n code sau vĂ o frame u tiĂȘn c a movie ActionScript function clearForm() { firstName = ""; middleInitial = ""; lastName = ""; address = ""; city = ""; state = ""; zip = ""; phone = ""; comments = "";
  • 42. } function submitForm() { if (middleInitial.length == 1) { trace("Name: "+firstName+" "+middleInitial+". "+lastName); } else { trace("Name: "+firstName+" "+lastName); } } R i b n test movie. Gi th 10: T o VĂ  i u Khi n Văn B n, Creating and Controlling Text Dynamic Text B n cĆ©ng cĂł th hi n th văn b n b ng dynamic text field. KhĂĄc v i Input field mĂ  b n lĂ m quen trong gi s 9, dynamic text field ch cho phĂ©p AS thay i n i dung văn b n ch khĂŽng ph i lĂ  ngÆ° i dĂčng. VĂŹ n i dung, hĂŹnh th c c a văn b n cĂł th thay i b t c lĂșc nĂ o nĂȘn m i g i lĂ  dynamic text TrÆ° c tiĂȘn b n t o dynamic text b ng d ng c text trĂȘn thanh toolbar, nhÆ°ng thay vĂŹ ch n "Input Text" trong property panel, b n ch n "Dynamic Text" BÆ° c k ti p lĂ  n i n i dung c a văn b n trong dynamic text field v i m t variable b ng cĂĄch vi t tĂȘn c a variable Ăł vĂ o trong khung Var trong propery panel. VĂ­ d nhÆ° b n t variable myText vĂ o trong khung Var thĂŹ khi b n thay i giĂĄ tr c a myText thĂŹ văn b n trong dynamic text field cĆ©ng thay i gi ng nhÆ° giĂĄ tr c a bi n myText. NgoĂ i ra b n cĂČn cĂł th thay i m t s l a ch n cho dynamic text field nhÆ° "Single", "Multiline", or "Multiline No Wrap" x lĂœ trÆ° ng h p n i dung c a văn b n quĂĄ dĂ i vĂ  cĂČnn nhi u l a ch n khĂĄc n a. (N u b n chÆ°a n m v ng ph n nĂ y thĂŹ cĂł th tham kh o thĂȘm v s d ng Flash trong CD Æ° c post box tĂ i li u) nh d ng văn b n theo HTML (HTML format) nh d ng văn b n ki u HTML, b n ph i cho phĂ©p dynamic text field ch p nh n nh d ng HTML (click vĂ o HTML icon trĂȘn property panel) vĂ  sau Ăł b n cĂł th dĂčng th HTML nh d ng văn b n c a b n. VĂ­ d o n code nĂ y s t o văn b n sau: CODE myText = "This text is <B>bold</B>.<BR>"; myText += "This text is <I>italic</I>.<BR>"; myText += "This text is <U>underlined</U>.<BR>"; myText += "This text is <FONT COLOR='#FF0000'>red</FONT>.<BR>"; myText += "This text is <FONT FACE='Arial Black'>Arial Black</FONT>.<BR>";
  • 43. myText += "This text is <FONT SIZE='24'>large</FONT>.<BR>"; myText += "This text is <A HREF='link.html'>linked</A>.<BR>"; QUOTE This text is <B>bold</B>.<br> This text is <I>italic</I>.<br> This text is <U>underlined</U>.<br> This text is <FONT COLOR='#FF0000'>red</FONT>.<br> This text is <FONT FACE='Arial Black'>Arial Black</FONT>.<br> This text is <FONT SIZE='24'>large</FONT>.<br> This text is linked. SiĂȘu liĂȘn k t (hyper link) trĂȘn cĂł tĂĄc d ng gi ng nhÆ° trong HTML nhÆ° khĂĄc 1 i u lĂ  khĂŽng cĂł g ch dÆ° i Sau Ăąy lĂ  nh ng th HTML cĂł th dĂčng trong Flash MX ‱ <B></B>: vi t m ‱ <I></I>: vi t nghiĂȘng ‱ <U></U>: g ch dÆ° i ‱ <FONT FACE='Arial Black'></FONT>: ki u ch ‱ <FONT SIZE='24'></FONT>: c ch ‱ <FONT COLOR='#XXXXXX></FONT>: mĂ u ch ‱ <A HREF=''></A>: link ‱ <P></P>: an văn ‱ <BR>: Xu ng hĂ ng i TÆ° ng TextFormat CĂČn m t cĂĄch khĂĄc nh d ng cho văn b n lĂ  dĂčng i tÆ° ng TextFormat. lĂ m Æ° c i u nĂ y, b n c n ph i t o ra 1 bi n t i tÆ° ng TextFormat. Sau Ăł b n cĂł th nh giĂĄ tr cho cĂĄc thu c tĂ­nh c a nĂł. VĂ­ d b n mu n ki u ch Arial Black, c 26, vĂ  mĂ u thĂŹ dĂčng an code sau: CODE myFormat = new TextFormat(); myFormat.font = "Arial Black"; myFormat.size = 36; myFormat.color = 0xFF0000; textInstance.setTextFormat(myFormat); B n cĂł th dĂčng i tÆ° ng TextFormat nhÆ° lĂ  stylesheet trong cĂĄc file HTML, m t khi b n t o nĂł ra thĂŹ b n cĂł th dĂčng nĂł b t c ch nĂ o trong movie B n cĂł th coi cĂĄc an code trĂȘn trong file m u: 10formattext.fla Variable ngoĂ i Flash B n cĂł th l y bi n t ngoĂ i trang HTML vĂ o trong Flash thay i n i dung c a Flash hay dĂčng vĂ o b t c chuy n gĂŹ. VĂ­ d b n ph i lĂ m 30 cĂĄi banner b ng Flash cho 30 trang web, thĂŹ b n cĂł th ch lĂ m 1 cĂĄi banner thĂŽi, nhÆ°ng thay i n i dung
  • 44. tuỳ theo t ng trang web. Mu n nh p văn b n hay giĂĄ tr c a bi n nĂ o t HTML, b n ch c n thĂȘm vĂ i ch vĂ o sau cĂĄi tĂȘn c a movie trong ph n <object> vĂ  <embed> trong HTML.. o n mĂŁ HTML sau Ăąy nh p giĂĄ tr c a bi n txtName vĂ o trong Flash HTML <PARAM NAME=movie VALUE="10banner.swf?txtName=Dominico Savio!"> vĂ  trong th <embed> thĂŹ b n thĂȘm ph n variable vĂ  giĂĄ tr vĂ o sau tĂȘn file HTML src="10banner.swf?txtName=Dominico Savio!"> Khi movie load thĂŹ nĂł s t t o variable "txtname" vĂ  t giĂĄ tr cho bi n nĂ y b ng "Dominico Savio". B n cĂł th xem trang 10banner.html, 10banner.fla trong cĂĄi source file xem chi ti t hÆĄn. B n cĂł th lĂ m nhi u giĂĄ tr m t lĂșc cĆ©ng b ng cĂĄch nĂ y 10banner.swf?txtName=Dominico Savio!&gender=male" NgoĂ i l y bi n t HTML, b n cĂČn cĂł th l y bi n t cĂĄc text file. CĂĄch nĂ y thĂ­ch h p khi b n cĂł nhi u bi n nh p vĂ o Flash, hay giĂĄ tr c a cĂĄc bi n quĂĄ dĂ i g n vĂ o th HTML. B n ch c n dĂčng l nh loadVariables() lĂ m Æ° c i u nĂ y. VĂ­ d : CODE loadVariables("10external.txt", _root); B n cĂł th coi thĂȘm v cĂĄch dĂčng loadVariables() bĂȘn box ActionScript [BĂ i T p M t vĂ­ d ÆĄn gi n ĂĄp d ng cĂĄc i u mĂ  b n v a h c trong bĂ i nĂ y lĂ  lĂ m m t cĂĄi "news ticker" nhÆ° dÆ° i Ăąy: DĂČng ch s ch y t bĂȘn ph i qua bĂȘn trĂĄi cho su t b n tin. B n cĂł th tham kh o source fla: 10ticker.fla vĂ  test nĂł cĂł khĂĄi ni m thĂȘm v "news ticker" 1. T o movie m i 2. T o dynamic text field, v i cao ch v a 1 hĂ ng, vĂ  dĂ i b ng chi u ngang c a stage, cho d nh n, b n cĂł th vi t vĂ i chÆ° trong Ăł, nhÆ° lĂ  "text goes here" 3. T o variable cho text field nĂ y lĂ  text 4. Ch n font, nĂȘn dĂčng ki u ch tÆ°ÆĄng t nhÆ° Courier New, sao cho b ngang c a m i chÆ° b ng nhau 5. Con text field r i nh n F8 i thĂ nh Movie Clip, vĂ  t cho nĂł 1 cĂĄi tĂȘn nhÆ° th nĂ o tuỳ b n 6. Sau Ăł thĂŹ g n o n script sau vĂ o movie CODE onClipEvent(load) { // t b n tin tickerText = "News Alert: "; tickerText += "Stock prices shoot up sharply with good earnings reports. "; tickerText += "The first manned flight to Mars prepares to leave Earth orbit. "; tickerText += "Your favorite sports team wins championship. "; tickerText += "Scientists find cure for major diseases. ";
  • 45. firstChar = 0; // b t u ch cĂĄi u tiĂȘn lineLength = 50; // s ch cĂĄi t i a trĂȘn news ticker // thĂȘm cĂĄc kho ng tr ng vĂ o trÆ° c dĂČng tin for(var i=0;i<lineLength;i++) { tickerText = " " + tickerText; } } onClipEvent(enterFrame) { // phĂĄt b n tin text = tickerText.substr(firstChar,lineLength); // thĂȘm ch cĂĄi kĂȘ ti p firstChar++; // phĂĄt l i b n tin sau m i l n k t thĂșc if (firstChar > tickerText.length) { firstChar = 0; } } TrÆ° c tiĂȘn b n t o ra bi n tickerText ch a b n văn news ticker, bi n firstChar ch a giĂĄ tr c a ch cĂĄi u tiĂȘn s th y trong news ticker, vĂ  lineLenght lĂ  s ch cĂĄi cĂł th xu t hi n m t lĂșc trĂȘn news ticker. VĂ  t t c cĂĄc u Æ° c cho vĂ o trong b s lĂœ d ki n onLoad Trong onEnterFrame, Flash s l y 50 ch cĂĄi u tiĂȘn b vĂ o bi n text ( trong dynamic text field) cho nĂł hi n th lĂȘn mĂ n hĂŹnh. Sau Ăł di chuy n sang ch cĂĄi th 2 b ng cĂąu firstChar++;, vĂ  sau cĂčng lĂ  ki m tra, n u b n tin ĂŁ Æ° c phĂĄt h t thĂŹ phĂĄt l i t u. 6. B n cĂł th thay i giĂĄ tr c a lineLenght vĂ  giĂĄ tr c a b n văn trong tickerText hi u hÆĄn v 2 bi n nĂ y 7. BĂąy gi b n hĂŁy th dĂčng loadVariable() nh p b n tin t text file vĂ o coi cĂł Æ° c khĂŽng. N u khĂŽng thĂŹ hĂŁy tr l i Ăąy h i mĂŹnh nhe Happy flashing Gi th 11: LĂ m vi c v i cĂĄc con s , ChÆ°ÆĄng nĂ y r t hay vĂ  b Ă­ch! ChĂșng ta ĂŁ nghiĂȘn c u v text vĂ  strings trong cĂĄc chÆ°ÆĄng trÆ° c. BĂąy gi chĂșng ta s nghiĂȘn c u v nh ng con s . B n s ph i ng v i nh ng con s trong Action Script trong nhi u trÆ° ng h p, vĂŹ v y b n c n ph i hi u lĂ m sao s d ng chĂșng. Nh ng phĂ©p toĂĄn (operator) vĂ  nh ng hĂ m (function) v s Nh ng phĂ©p toĂĄn ÆĄn gi n ChĂșng ta cĆ©ng ĂŁ h c qua cĂĄc phĂ©p toĂĄn ÆĄn gi n r i. BĂąy gi hĂŁy xem l i nhĂ©. D u + vĂ  d u - s th c hi n phĂ©p toĂĄn c ng vĂ  tr , d u * th c hi n phĂ©p nhĂąn, d u / th c hi n phĂ©p chia. NgoĂ i ra, b n cĆ©ng cĂł th s d ng nh ng phĂ©p toĂĄn nhÆ° +=, -=, *=, /= lĂ m ÆĄn gi n cho code c a b n. L y vĂ­ d hai cĂąu l nh dÆ° i Ăąy s th c hi n cĂčng m t cĂŽng
  • 46. vi c lĂ  c ng thĂȘm 7 vĂ  bi n a CODE a = a + 7; a += 7; Nh ng phĂ©p so sĂĄnh Nh ng phĂ©p toĂĄn so sĂĄnh nhÆ° == so sĂĄnh hai s xem cĂł b ng nhau khĂŽng, > (l n hÆĄn), < (nh hÆĄn), <= (nh hÆĄn ho c b ng), >= (l n hÆĄn ho c b ng). Trong Action Script chĂșng ta cĂł th so sĂĄnh m t s nguyĂȘn v i m t s th c. VĂ­ d nhÆ° 7.2 s l n hÆĄn 7. Math.abs i tÆ° ng Math ch a m t t p h p cĂĄc hĂ m x lĂœ cĂĄc con s . HĂ m Math.abs s tr v giĂĄ tr tuy t i c a m t s . B n hĂŁy th o n code nĂ y xem k t qu th nĂ o nhĂ©: CODE trace(Math.abs(-7)); Math.round N u b n cĂł m t s th c, nhÆ°ng b n l i mu n hi n th cho ngÆ° i dĂčng xem dÆ° i d ng s nguyĂȘn thay vĂŹ ph i cho h xem cĂĄc con s ph n th p phĂąn, b n hĂŁy s d ng hĂ m Math.round. Th nhĂ©: CODE trace(Math.round(7.2)); Math.ceil, Math.floor Hai hĂ m khĂĄc dĂčng lĂ m trĂČn s th c thĂ nh s nguyĂȘn lĂ  Math.ceil vĂ  Math.floor. HĂ m Math.ceil s lĂ m trĂČn s lĂȘn vĂ  Math.floor s lĂ m trĂČn s xu ng. Th nhĂ©: CODE trace(Math.ceil(7.2)); trace(Math.floor(8.3)); Math.min, Math.max CĂĄc b n cĂł th s d ng hai hĂ m nĂ y tĂŹm s l n hÆĄn vĂ  s nh hÆĄn trong hai s . VĂ­ d hĂ m Math.min(4, 5); s tr v 4, Min.math(4, 5); s tr v 5 Math.pow Ăąy lĂ  hĂ m l y lĆ©y th a, cĆ©ng ÆĄn gi n thĂŽi, tham s th nh t lĂ  cÆĄ s , tham s th hai lĂ  lĆ©y th a. VĂ­ d b n mu n l y 4 lu th a 3 thĂŹ vi t th nĂ y
  • 47. CODE Math.pow(4, 3); Math.sqrt Ăąy lĂ  hĂ m tĂ­nh căn, nhÆ°ng mĂ  mĂŹnh xin nĂłi tr ÆĄc luĂŽn lĂ  ngoĂ i hĂ m Math.sqrt, b n cĂČn cĂł th s d ng hĂ m Math.pow v i lĆ©y th a nh hÆĄn 1 tĂ­nh căn. VĂ­ d mu n l y căn 2 c a 4 thĂŹ cĂł th s d ng CODE Math.pow(4, .5); ho c Math.sqrt(4); C hai cĂĄch trĂȘn u ra cĂčng m t k t qu lĂ  2. HĂ m s lÆ° ng giĂĄc Nh ng hĂ m c a object class mĂ  cĂĄc b n Æ° c bi t trĂȘn cĂł v nhÆ° r t d h c. NhÆ°ng cĂČn nh ng hĂ m v lÆ° ng giĂĄc nhÆ° sin, cosin thĂŹ “khĂł nu t” hÆĄn nhi u. M c dĂč b n cĂł th b qua nh ng hĂ m nĂ y nhÆ°ng nh ng hĂ m lÆ° ng giĂĄc nĂ y r t h u Ă­ch vĂ  hay trong vi c t o nh ng ng d ng trong Flash. V y chĂșng ta hĂŁy cĂčng tĂŹm hi u cĂĄch nĂł lĂ m vi c nhĂ©! HĂ m sin vĂ  cosin s d ng qua Math.sin vĂ  Math.cosin, bi u di n m i quan h gi a Æ° ng th ng v i Æ° ng cong c a m t Æ° ng trĂČn. HĂŹnh dÆ° i Ăąy bi u di n m t vĂČng trĂČn v i m t s i m Æ° c ĂĄnh d u b ng cĂĄc ch . HĂŁy tÆ° ng tÆ° ng tĂąm c a vĂČng trĂČn to 0,0; bĂĄn kĂ­nh c a Æ° ng trĂČn b ng 1. VĂŹ th , i m trĂȘn cĂčng s cĂł to 0,1 vĂ  i m t n cĂčng bĂȘn ph i s cĂł to 1,0 BĂąy gi b n hĂŁy tÆ° ng tÆ° ng vĂČng trĂČn trĂȘn lĂ  m t Æ° ng th ng. B t u t i m “a”
  • 48. cĂł to 1,0 n i m 0,-1 qua -1,0 r i qua 0,1 vĂ  cu i cĂčng tr v 1,0. Trong Flash, vĂ  cĆ©ng nhÆ° trong cĂĄc ngĂŽn ng l p trĂŹnh khĂĄc, chĂșng ta nh v m t v t b t kỳ b ng to x, y c a chĂșng. VĂŹ th , vi c chuy n m t i m trĂȘn Æ° ng th ng thĂ nh m t i m cĂł to x, y trĂȘn Æ° ng trĂČn r t h u d ng. Ăł lĂ  nh ng gĂŹ mĂ  hĂ m sin vĂ  cosin th c hi n. VĂ­ d nhÆ° chĂșng ta t i m “a” lĂ  i m b t u c a Æ° ng th ng c a Æ° ng trĂČn, b n cĂł s d ng hĂ m sin vĂ  cosin c a 0 tĂ­nh to x, y c a i m “a” trĂȘn Æ° ng trĂČn. T t nhiĂȘn, Math.cos(0) s tr v giĂĄ tr 1, Math.sin(0) s tr v giĂĄ tr 0. K t qu s tr v to c a i m “a” 1,0 V y i m “c” s n m Ăąu trĂȘn Æ° ng trĂČn? N u du i Æ° ng trĂČn ra s cĂł dĂ i b ng 6.28 l n bĂĄn kĂ­nh, do bĂĄn kĂ­nh b ng 1 nĂȘn dĂ i s b ng 6.28. Ăąy lĂ  xu t x c a h ng s pi. Pi b ng 3.14, b ng m t n a dĂ i c a Æ° ng trĂČn. dĂ i c a Æ° ng trĂČn lĂ  6.28 thĂŹ m t ph n tÆ° dĂ i Æ° ng trĂČn lĂ  1.57. i m Ăł tÆ°ÆĄng ng v i i m “c”. HĂ m Math.cos(1.57) s tr v m t giĂĄ tr r t nh , g n b ng 0. HĂ m Math.sin(1.57) s tr v giĂĄ tr g n b ng -1. Ch g n b ng ch khĂŽng b ng vĂŹ h ng s pi khĂŽng chĂ­nh xĂĄc b ng 3.14, ch lĂ  g n b ng thĂŽi. B n cĂł th s d ng cĂĄch nĂ y chuy n cĂĄc i m trĂȘn Æ° ng trĂČn thĂ nh i m cĂł to x,y V y thĂŹ nĂł cĂł Ă­ch nhÆ° th nĂ o? Gi s nhÆ° b n mu n t o m t movieclip bay quanh mĂ n hĂŹnh trong m t vĂČng trĂČn. LĂ m sao lĂ m Æ° c i u Ăł? N u lĂ m b ng frame cĂł th ph i t n hĂ ng trăm frame . Ho c cĂĄch khĂĄc lĂ  cĂł th dĂčng hĂ m Math.cos vĂ  Math.sin tĂ­nh chuy n sang to x,y quanh vĂČng trĂČn. Trong o n code dÆ° i Ăąy, khi c ng thĂȘm n, movie clip s chuy n ng d c theo Æ° ng trĂČn. HĂ m Math.cos s tĂ­nh ra giĂĄ tr x vĂ  hĂ m Math.sin s tĂ­nh ra giĂĄ tr y, chĂșng s Æ° c nhĂąn thĂȘm v i giĂĄ tr c a radius tăng kĂ­ch thÆ° c c a Æ° ng trĂČn. GiĂĄ tr c a centerX vĂ  centerY s Æ° c c ng thĂȘm cho cĂĄc to x, y, vĂŹ th tĂąm Æ° ng trĂČn bĂąy gi khĂŽng cĂČn 0,0 n a mĂ  s v trĂ­ 150,150 CODE onClipEvent(load) { n = 0; radius = 100; centerX = 150; centerY = 150; } onClipEvent(enterFrame) { n += .1; this._x = Math.cos(n) * radius + centerX; this._y = Math.sin(n) * radius + centerY; } Ch (string) vĂ  s (number) CĂł r t nhi u cĂĄch chuy n i t chu i sang s vĂ  ngÆ° c l i. VĂ­ d nhÆ° trÆ° ng h p ngÆ° i dĂčng nh p m t s vĂ o text field, b n s nh n giĂĄ tr Ăł vĂ  c ng thĂȘm m t. HĂŁy xem o n code sau Ăąy, num lĂ  m t bi n giĂĄ tr text field CODE
  • 49. b = num + 1; N u num = 42, v y thĂŹ b s lĂ  43, Ășng khĂŽng? Xin tr l i lĂ  sai, k t qu b lĂ  421, ÆĄn gi n b i vĂŹ num lĂ  m t chu i (string) ch khĂŽng ph i lĂ  m t s , vĂŹ th khi chĂșng ta th c hi n phĂ©p c ng num v i 1 cĂł nghÄ©a lĂ  c ng kĂœ t “1” vĂ o chu i num ang cĂł giĂĄ tr “42”. lĂ m cho Flash hi u num lĂ  m t s , b n cĂł th s d ng m t trong hai hĂ m sau Ăąy chuy n m t chu i thĂ nh s . HĂ m parseInt chuy n m t chu i thĂ nh ki u s nguyĂȘn, hĂ m parseFloat chuy n m t chu i thĂ nh ki u s th c. VĂ­ d hĂ m parseInt(“42”) s tr v giĂĄ tr lĂ  42, n u chĂșng ta s d ng parseInt(“42.9”) thĂŹ cĆ©ng s nh n Æ° c giĂĄ tr lĂ  42 b i vĂŹ hĂ m parseInt khĂŽng lĂ m trĂČn s , nĂł ch l y ph n nguyĂȘn mĂ  thĂŽi. CĂČn n u s d ng hĂ m parseFloat(“42.9”) b n s nh n Æ° c giĂĄ tr lĂ  42.9, mu n lĂ m trĂČn cĂĄc b n cĂł th s d ng hĂ m Math.round(parseFloat(“42.9”)). HĂ m parseFloat cĆ©ng s tr v m t m t s nguyĂȘn n u tham s truy n vĂ o lĂ  m t chu i s nguyĂȘn. VĂ­ d parseFloat(“42”) s cho ta s 42. Tr trÆ° ng h p b n mu n tr v m t giĂĄ tr s nguyĂȘn, cĂČn khĂŽng b n nĂȘn s d ng hĂ m parseFloat. M t nĂ©t r t c bi t vĂ  r t hay c a hĂ m parseInt lĂ  cĂł th chuy n m t chu i thĂ nh m t s nhÆ°ng thĂ nh nhi u d ng h s khĂĄc nhau. HĂŁy xem m t vĂ­ d cho d hi u: CODE parseInt(“FF”, 16); HĂ m nĂ y s tr v giĂĄ tr lĂ  255, Ăœ nghÄ©a c a nĂł lĂ  chuy n chu i ch a s FF lĂ  m t s hexa h s 16 thĂ nh m t s h nguyĂȘn h s 10. NgÆ° c l i, chuy n t m t s sang m t chu i, hĂŁy s d ng hĂ m toString. HĂ m nĂ y s ho t ng khĂĄc v i hĂ m parse, b i vĂŹ nĂł ho t ng bĂȘn trong m i bi n, g i hĂ m nĂ y sau d u ch m (.). Xem vĂ­ d nhĂ©: CODE a = 135; trace(a.toString() + 1); K t qu s lĂ  1351. ChĂșng ta cĆ©ng cĂł th s d ng hĂ m toString chuy n m t s thĂ nh m t chu i ch a s dÆ° i m t h s khĂĄc. VĂ­ d a.toString(16) s tr v k t qu lĂ  chu i “ff” S ng u nhiĂȘn T o s ng u nhiĂȘn lĂ  m t ph n quan tr ng trong cĂŽng vi c thi t k game vĂ  m t s ho t hĂŹnh. B i vĂŹ n u khĂŽng cĂł sĂŽ ng u nhiĂȘn thĂŹ nh ng o n phim c a b n s ch y gi ng nhau, khĂŽng cĂČn gĂŹ thĂș v n a! t o s ng u nhiĂȘn, b n cĂł th s d ng hĂ m Math.random(). HĂ m nĂ y s tr v m t giĂĄ tr t 0.0 n 1.0 nhÆ°ng thÆ° ng thĂŹ khĂŽng tr v giĂĄ tr b ng 1.0 HĂŁy xem vĂ­ d dÆ° i Ăąy, b n s nh n Æ° c con s ng u nhiĂȘn trong c a s OutPut CODE
  • 50. trace(Math.random()); K t qu tr v i lo i gi ng nhÆ° 0.023268056102097, nhÆ°ng m i l n l i khĂĄc nhau. M t vĂ­ d khĂĄc lĂ  b n c n t o m t s ng u nhiĂȘn t 1 n 10, vi c nĂ y r t ÆĄn gi n, ch c n nhĂąn thĂȘm s ng u nhiĂȘn cho 10. o n code sau s cho ta con s ng u nhiĂȘn t 0.0 n 10.0 CODE trace(Math.random() * 10); NhÆ°ng cĂĄi chĂșng ta c n lĂ  con s ng u nhiĂȘn t 1.0 n 10.0 ch khĂŽng ph i t 0.0 n 10.0, vĂŹ th , hĂŁy c ng thĂȘm 1 CODE trace(Math.random() * 10 + 1); BĂąy gi thĂŹ k t qu tr v lĂ  1.0 n 11.0 nhÆ°ng s khĂŽng cĂł k t qu 11.0. HĂŁy s d ng hĂ m Math.floor lĂ m trĂČn xu ng. CODE trace(Math.floor(Math.random() * 10 + 1)); Th t ra thĂŹ con s ng u nhiĂȘn trong mĂĄy tĂ­nh cĆ©ng chÆ°a th t s ng u nhiĂȘn. B i vĂŹ nĂł khĂŽng th t s thay i trong b vi x lĂœ. Thay vĂ o Ăł s cĂł m t con s chu n, m t con s nĂ o Ăł khĂŽng bi t trÆ° c Æ° c nhÆ° lĂ  gi ho c phĂșt
 c a h th ng, con s nĂ y s Æ° c Æ°a vĂ  m t bi u th c r t ph c t p, r t r t ph c t p mĂ  chĂșng ta khĂŽng th oĂĄn Æ° c. K t qu tr v cho chĂșng ta k t qu dÆ° ng nhÆ° lĂ  ng u nhiĂȘn. K t qu nĂ y s Æ° c Æ°a vĂ  m t hĂ m tĂ­nh m t l n n a lĂ  lÆ°u l i thĂ nh con s chu n tĂ­nh ng u nhiĂȘn cho l n ti p theo. HĂŁy nghÄ© v i u nĂ y, s ng u nhiĂȘn trong i s ng th t s cĆ©ng khĂŽng th t s ng u nhiĂȘn. N u chĂșng ta gi m t m t c a con xĂșc x c, th y Ășng theo m t hÆ° ng th t chĂ­nh xĂĄc, chĂșng ta s cĂł cĂčng m t k t qu Æ° c r i, bĂąy gi hĂŁy th t o m t s ng u nhiĂȘn t 3 n 7. LĂ m th nĂ o Ăąy? Ah, cĂł m t th thu t cho b n Ăąy: CODE trace(Math.floor(Math.random() * 5 + 3); Trong ph m vi t 3 n 7 s cĂł t t c lĂ  5 s nguyĂȘn 3, 4, 5, 6, vĂ  7. Th cĂČn trong ph m vi t 50 n 100 thĂŹ sao CODE trace(Math.floor(Math.random() * 51 + 50);
  • 51. LĂ  s 51 b i vĂŹ trong ph m vi t 50 n 100 cĂł 51 s , cĂČn n u t 51 n 100 s lĂ  CODE trace(Math.floor(Math.random() * 50 + 50); M t cĂĄch th xem ph m vi c a b n cĂł Ășng nhÆ° Ăœ c a mĂŹnh khĂŽng, Ăł lĂ  hĂŁy th v i s nh nh t vĂ  s l n nh t thay cho Math.random(). GiĂĄ tr nh nh t c a hĂ m Math.random() lĂ  0, hĂŁy th v i s 0 nhĂ© CODE trace(0 * 51 + 50); GiĂĄ tr l n nh t c a Math.random() s khĂŽng chĂ­nh xĂĄc b ng 1.0 mĂ  s lĂ  g n b ng, v y chĂșng ta hĂŁy th v i giĂĄ tr lĂ  0.9999 CODE trace(.9999 * 51 + 50); HĂŁy th xem cĂł Ășng khĂŽng nhĂ©! DÆ° i Ăąy lĂ  m t vĂ­ d n a r t thĂș v , movie clip c a b n s nh y n nh ng v trĂ­ b t kỳ CODE onClipEvent(enterFrame) { this._x = Math.random()*550; this._y = Math.random()*400; } Luy n t p: T o m t chÆ°ÆĄng trĂŹnh mĂĄy tĂ­nh ÆĄn gi n HĂŁy b t tay vĂ o vi c thi t k m t chÆ°ÆĄng trĂŹnh mĂĄy tĂ­nh ÆĄn gi n nhĂ©. - M m t movie m i trong Flash. Movie c a chĂșng ta s gi ng nhÆ° hĂŹnh dÆ° i Ăąy ChĂșng ta s cĂł 10 nĂșt nh p 10 s t 0 n 9, cĂĄc nĂșt cĂĄc phĂ©p toĂĄn, phĂ­m =, d u ch m th p phĂąn, phĂ­m C xĂła mĂ n hĂŹnh. M t text field t trĂȘn hi n th nh ng s ngÆ° i dĂčng b m, text field nĂ y s liĂȘn k t v i bi n display. - Trong m i movie clip c a m i nĂșt b m, chĂšn o n code sau CODE on (release) { _parent.keyPressed(this._name); }
  • 52. Khi m t nĂșt b t kỳ Æ° c nh n thĂŹ hĂ m keyPressed s Æ° c g i level ngoĂ i mĂ  Ăąy s lĂ  level root. HĂ m nĂ y s truy n tĂȘn c a movie clip. - Quay tr l i level root, m i movie clip ph i cĂł m t tĂȘn riĂȘng, khĂŽng Æ° c trĂčng. t tĂȘn c a movie clip theo s c a nĂł, vĂ­ d nĂșt s 5 s cĂł tĂȘn lĂ  5, d u ch m th p phĂąn cĂł tĂȘn lĂ  “.”. D u c ng, d u tr , d u nhĂąn, d u chia, d u b ng, nĂșt C l n lÆ° t t tĂȘn lĂ  plus, minus, multiply, divide, equals, clear. - Ok, bĂąy gi b t u vi t code nhĂ©! Code nĂ y s n m ngoĂ i movie frame CODE // trÆ° c tiĂȘn, xoĂĄ mĂ n hĂŹnh cĆ© clearAll(); function clearAll() { display = "0"; // giĂĄ tr m c nh lĂ  0 memory = 0; // b nh operation = "none"; // chÆ°a cĂł phĂ©p toĂĄn nĂ o c newNum = true; // ĂĄnh d u khi nĂ o ĂŁ nh p xong m t s } Bi n display lĂ  m t chu i (string), s liĂȘn k t v i text field hi n th n i dung ngÆ° i dĂčng b m. NĂł s b t u v i giĂĄ tr b ng 0, cĂł nghÄ©a lĂ  khi ngÆ° i dĂčng m i b t mĂĄy lĂȘn thĂŹ s m c nh lĂ  s 0 Bi n memory lÆ°u l i con s trÆ° c Ăł th c hi n phĂ©p tĂ­nh. i u nĂ y r t c n thi t, vĂ­ d b n b m s 5, +, 7 thĂŹ s 5 nh p vĂ o, khi b n b m d u c ng, mĂ n hĂŹnh s Æ° c xĂła vĂ  s 5 Æ° c lÆ°u vĂ o memory, s 7 Æ° c nh p ti p vĂ  s th c hi n phĂ©p tĂ­nh 5 vĂ  7. PhĂ©p toĂĄn ngÆ° i dĂčng ch n cĆ©ng c n Æ° c lÆ°u vĂ o b nh . Khi ngÆ° i dĂčng ĂŁ nh n 5, +, 7 r i, sau Ăł b m d u = ho c m t phĂ©p toĂĄn khĂĄc thĂŹ chÆ°ÆĄng trĂŹnh s g i l i phĂ©p toĂĄn cĆ© ĂŁ ÆĄc lÆ°u trong bi n operation th c hi n phĂ©p toĂĄn trÆ° c c a 5 v i 7. Bi n newNum nhÆ° lĂ  m t bi n c hi u bĂĄo cho chÆ°ÆĄng trĂŹnh bi t khi nĂ o s k t thĂșc m t phĂ©p toĂĄn. VĂ­ d khi ngÆ° i dĂčng b m 5, +, 7 r i sau Ăł b m m t phĂ©p toĂĄn khĂĄc thĂŹ k t qu s Æ° c lÆ°u l i tĂ­nh toĂĄn ti p, lĂșc nĂ y phĂ©p toĂĄn chÆ°a k t thĂșc, newNum = false. CĂČn n u ngÆ° i dĂčng b m d u = thĂŹ mĂ n hĂŹnh s hi n ra k t qu vĂ  k t thĂșc luĂŽn phĂ©p toĂĄn chuy n sang phĂ©p toĂĄn m i, newNum = true. - Ph n ti p theo lĂ  hĂ m keyPressed x lĂœ khi m i nĂșt Æ° c nh n. HĂ m keyPressed s s d ng c u trĂșc switch thay cho c u trĂșc if, then, else. C hai cĂĄch u ho t ng tÆ°ÆĄng t nhÆ°ng cĂĄch vi t hÆĄi khĂĄc, b n hĂŁy xem nhĂ©: CODE // hĂ m nĂ y Æ° c g i b i nĂșt nh n function keyPressed(keyName) { // do something different for different keys switch (keyName) { case "clear" : // khi nh n nĂșt C clearAll(); break; case "plus" : // cĂĄc phĂ©p toĂĄn c ng, tr , nhĂąn, chia operate(keyName);
  • 53. break; case "minus" : operate(keyName); break; case "multiply" : operate(keyName); break; case "divide" : operate(keyName); break; case "equals" : operate(keyName); break; default : // cĂĄc s if (newNum) { // hi n th s m i trĂȘn mĂ n hĂŹnh display = keyName; newNum = false; if (display == "0") newNum = true; // s khĂŽng b t u v i s 0 } else { display += keyName; // n i thĂȘm s vĂ o mĂ n hĂŹnh } break; } } Khi ngÆ° i dĂčng nh n nĂșt C thĂŹ hĂ m clearAll() s Æ° c g i, tÆ°ÆĄng t khi ngÆ° i dĂčng nh n cĂĄc phĂ©p toĂĄn thĂŹ hĂ m operate s ÆĄc g i - HĂ m operate s th c hi n tĂ­nh toĂĄn. NĂł s tĂŹm ra phĂ©p toĂĄn gi a con s trÆ° c Ăł vĂ  con s hi n th i, s d ng hĂ m parseFloat chuy n chu i thĂ nh s .Operation cĂł giĂĄ tr b ng none khi nh p m t s m i sau khi th c hi n xong phĂ©p toĂĄn vĂ  mĂ n hĂŹnh Æ° c xĂła. CODE // th c hi n phĂ©p toĂĄn trÆ° c function operate(keyName) { switch (operation) { case "none" : // s u tiĂȘn memory = parseFloat(display); // lÆ°u l i s trÆ° c break; case "plus" : // th c hi n phĂ©p toĂĄn memory += parseFloat(display); break; case "minus" : memory -= parseFloat(display); break; case "multiply" : memory *= parseFloat(display);