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.
150 trang |
Chia sẻ: phuongt97 | Lượt xem: 320 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Hướng dẫn lập trình AS, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tham s ID trong th4 OBJECT và NAME trong th4 EMBED, c hai s mang
giá tr là slideshow
- Nh %t swLiveConnect=true trong th4 EMBED
- T o 2 button trong file HTML b"ng o n code sau:
CODE
<INPUT NAME="prev" TYPE=Button VALUE="Previous"
onClick="prevFrame();">
- M.i button s g
i mt hàm. C hai hàm s s d'ng TcurrentFame(“/”)bit ang
frame th m#y, r*i s d'ng gotoFrame di chuyn ti ho%c lui.
CODE
function nextFrame() {
var frameNum = window.document.slideshow.TCurrentFrame("/");
window.document.slideshow.GotoFrame(frameNum+1);
}
function prevFrame() {
var frameNum = window.document.slideshow.TCurrentFrame("/");
window.document.slideshow.GotoFrame(frameNum-1);
}
Công vic tip theo b n còn nh không: CH6Y TH7 i nào
Gi th 18: Gi thông tin cho máy ch, Sending Information to the Server
Cho n tn bây gi, nhng movie chúng ta làm c h
u ht là ch ch y mt mình
(stand alone). Có ngh(a là nó ch ch y mt máy khách (client-side) không có s liên
l c vi máy ch (Server). Nên nh r"ng Flash cng có th gi tr thông tin cho Server
ging nh form ca HTML. Vy thì trong gi th 18 này, chúng ta s tìm hiu v v#n
này.
Trong gi th 18, chúng ta s h
c:
- Tìm hiu v i tng LoadVars
- T o mt chng trình server-side n gin
- S d'ng Flash gi d liu v cho Server
i t!ng LoadVars
R#t may mn là chúng ta ã có Flash MX, bi vì trong nhng phiên bn Flash trc
ây, mun làm iu này thì chúng ta phi làm nhng movie clip r#t khó khn. +i vi
Flash MX, chúng ta có th s d'ng i tng LoadVars.
+i tng LoadVars bao g*m mt tp hp các câu lnh và nhng bin %c bit gi
d liu cho Server ging nh post form trong HTML. Chúng ta có th t o i tng
ging nh t o nhng i tng khác. Hãy xem gi th 12 nhé!
Ly d liu
Di ây là mt ví d'. Thay vì s d'ng new Object() b"ng new LoadVars. Sau ó thì
i tng LoadVars mi s c t o.
CODE
myVars = new LoadVars();
Vi i tng LoadVars, chúng ta có th làm c 2 vic, ó là gi và l#y d liu. +
l#y d liu, chúng ta s d'ng câu lnh load. Cái chúng ta c
n ây là mt ng d$n
n ni cha d liu:
CODE
myVars.load("myURL.txt");
Ví d' trên ho t ng ging nh câu lnh LoadVariables trong gi th 10. Tuy nhiên,
câu lnh LoadVariables ch l#y và thay th d liu trong cùng mt level vi câu lnh
này mà thôi. Hãy tng tng, chúng ta có mt file cha d liu nh sau:
CODE
name=George&ID=47
Gi d liu
Vi i tng LoadVars, chúng ta cng có th gi d liu i lên Server. Trc ht,
chúng ta a d liu vào i tng LoadVars, r*i sau ó s d'ng câu lnh send gi
d liu i.
CODE
myVars = new LoadVars();
myVars.name = "George";
myVars.ID = 47;
myVars.send("serverprogram.cgi", "_self");
+o n code trên s t o mt i tng LoadVars mi tên là myVars, r*i a hai thuc
tính vào i tng myVars. Sau ó, gi d liu i lên Server, chính xác là n chng
trình CGI tên là echo.cgi.
Câu lnh send cng ho t ng tng t nh trong form ca HTML. _self là Target,
chúng ta có th thay th b"ng các giá tr khác nh ã c bit.
Nhng còn mt câu lnh na là sendAndLoad. Câu lnh này c ghép câu lnh send
và load. Có ngh(a là i tng LoadVars s gi d liu lên Server, sau ó s l#y giá tr
tr v.
CODE
mySendVars = new LoadVars();
myLoadVars = new LoadVars();
mySendVars.name = "George";
mySendVars.ID = 47;
mySendVars.sendAndLoad("serverprogram.cgi", myLoadVars);
Trng thái ly d liu
Hãy nh là câu lnh send và load s không l#y d liu ngay tc thì. Có th phi i
trong mt thi gian ngn ho%c dài. Vì vy, chúng ta s có nhu c
u theo dõi tr ng thái
l#y d liu. Chúng ta không th s d'ng d liu ngay lp tc sau câu lnh load ho%c
sendAndLoad, mà c
n phi kim tra xem ã l#y d liu xong cha.
Cách n gin nh#t là dùng mt movie clip l%p i l%p l i kim tra. Cng có th s
d'ng getBytesLoaded và getBytesTotal vi nhng d liu ln. Di ây là ví d'
kim tra vic l#y d liu:
CODE
myLoadVars.onLoad = function(success) {
if (success) {
gotoAndStop("load done");
} else {
gotoAndStop("load problem");
}
}
Nh trong o n code trên thì i s success s nhn mt trong hai giá tr true ho%c
false cho bit vic nhn d liu ã xong hay cha
Gi th 19: Dùng XML vi Flash
Càng ngày XML càng tr nên thông d'ng trong các ng d'ng tin h
c, và ngay c
trong Flash, vy trong gi này mình s h
c các iu sau:
XML cn bn
+i tng XML trong Flash
Phân tích và x lý XML theo phung pháo quy (recursive)
XML C
n b n
XML ch n gin là mt vn bn cha d liu. XML tng t nh HTML, cng
dùng các th4. Tuy nhiên, XML khác HTML là các th4 HTML ã c #n nh trc
cho các chc nng khác nhau, còn XML thì không.
Vi XML, b n có th t t o cho mình các th4 theo ý b n phù hp cho m'c ích
riêng ca b n.
Có th t o mt XML file vi 1 trình biên tp vn bn (nh Notepad, Textpad ...) n
gin hay là các software chuyên vit v XML (XMLSpy, Epic ...)
Vi Flash MX, b n có th d dàng truy cp c d liu tr trong XML, và i
tng XML ca Flash s t ng phân tích vn bn XML này.
Trong VNFX có r#t nhiu bài vit v XML (ví d' nh bài gii thiu XML ca Flash-
Lee) các b n có th tham kho thêm
i t!ng XML
+i tng XML trong Flash g*m có nhiu hàm v" %c tính dùng giúp b n l#y và
phân tích d kin trong XML file mt cách d dàng. Bc
u tiên khi dùng i
tng XML là t o mt phiên bn XML trc:
CODE
myXML = new XML()
Phân tích và s lý v
n b n thành XML
Sau khi t o phiên bn XML trên, hin gi phiên bn này v$n cha có gì c, tuy nhiên
b n có th nhanh chóng t o ra mt tài liu XML b"ng cách dùng lnh parseXML.
Lnh này s nhp mt chu i vn bn, và phân tích và x lý nó thành 1 tài liu XML.
CODE
myXML = new XML();
myXML.parseXML("Gary47");
Hay b n có th vit trc tip nh sau
CODE
myXML = new XML("Gary47");
Nu mà chu i c nhp vào không th t o thành XML hoàn chnh thì b n có th
dùng %c tính status kim tra.
CODE
myXML = new XML("Gary47");
trace(myXML.status);
Output window s cho ra -9 khi ch y o n code trên. -9 có ngh(a là thiu th4 óng
(end tag), vì mình thiu th4 . Nu output window cho ra -10 thì b n thiu th4
m (start tag), và 0 có ngh(a là m
i vic hoàn chnh
Ly d liu t
i t!ng XML
Có nhiu hàm làm vic này. Ví d', b n có th dùng firstChild l#y nút (node)
u tiên ca i tng XML:
CODE
myXML = new XML("Gary47");
trace(myXML.firstChild);
Output window s cho ra Gary47. Vì
ây chính là nút
u tiên ca i tng XML. Nu chúng ta i xâu vào 1 l
n na vi
firstChild
CODE
myXML = new XML("Gary47");
trace(myXML.firstChild.firstChild);
K, này output window s cho ra Gary, vì ph
n t name là nút
u
tiên ca user
Ngoài cách trên ra, còn 1 cách na là dùng childNodes, là ma trn ca ca các nút.
Cùng mt ví d' trên nhng có th dùng nh sau vi chidlNodes
CODE
myXML = new XML("Gary47");
trace(myXML.childNodes[0].childNodes[0]);
Di nút name, chúng ta còn mt nút na di nút name, và có th dùng cách trên
l#y nút ó:
CODE
myXML = new XML("Gary47");
trace(myXML.childNodes[0].childNodes[0].childNodes[0]);
và output window s cho ra ch Gary. +ây là nút vn bn (text node) ca nút name.
Nhìn thì tng ây là tn cùng r*i, không th xung sâu hn c na, vì ây là nút
cui cùng, nhng nu b n mun l#y giá tr ca nó nh là chu i vn bn thì b n có th
i thêm 1 bc na nh sau:
CODE
myXML = new XML("Gary47");
trace(myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue);
Nu b n mun l#y cái ID trong nút th 2 thì thay i nh sau:
CODE
myXML = new XML("Gary47");
trace(myXML.childNodes[0].childNodes[1].childNodes[0].nodeValue);
* gii thích thêm v on code trên, nu bn ch dùng childNodes thì kt qu s! là
1 i t
ng, còn nu bn dùng nodeValue thì s ra chu"i. Bn có th th# b$ng on
code mình vit d
i ây
CODE
myXML = new XML("Gary47");
myVar1 = myXML.childNodes[0].childNodes[0].childNodes[0];
myVar2 = myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue;
trace ("myVar1: " +typeof(myVar1));
trace ("myVar2: " +typeof(myVar2));
và output window s cho b n th#y rõ, cái nào law i tng và cái nào là chu.i.
T to XML t "tay tr%ng"
Không bit dch câu này sao cho úng ngh(a vi "Creating XML from Scratch".
ành dch nh trên vy.
Các cách t o XML trên u t) 1 chu.i vn bn, nhng nu nh b n không có 1
chu.i vn bn nào trc thì sao? B n có th dùng createElement t o ra các nút
mi và dùng createTextNode t o ra các text node. Tuy nhiên 2 lnh trên ch t o ra
nút ch không thêm vào trong XML, vy b n phi thêm nó vào b"ng lnh
appendChild.
+ minh ho , chúng ta s t o mt XML tng t nh trên nhng vi các lnh v)a
cp.
CODE
myXML = new XML();
newElement = myXML.createElement("user");
myXML.appendChild(newElement);
newElement = myXML.createElement("name");
myXML.childNodes[0].appendChild(newElement);
newText = myXML.createTextNode("Gary");
myXML.childNodes[0].childNodes[0].appendChild(newText);
newElement = myXML.createElement("ID");
myXML.childNodes[0].appendChild(newElement);
newText = myXML.createTextNode("47");
myXML.childNodes[0].childNodes[1].appendChild(newText);
Nu b n mun thay i giá tr ca text node, thì b n ch c
n dùng nodeValue
CODE
myXML.childNodes[0].childNodes[1].childNodes[0].nodeValue = 53;
Thuc tính
Các thành ph
n ca XML có th có thuc tính (attribute). Trong ây mình gp rc
r i v cách dch attribute và property, c 2 ch này ting vit u dch là thuc tính,
c tính ... mà ting anh thì khác tht rc r i vy mình xin
c dùng ting Anh
nhe. Attribute g*m có t) khoá và giá tr ca t) khoá ó, và dùng nh rõ mt thành
ph
n hn. Ví d', o n XML di dây vi attribute type làm rõ ngh(a ca thành ph
n
name hn, ("alias" là bí danh)
CODE
Gary
47
Nu b n mun a o n code trên vào trong XML object thì phi i d#u " (ngo%c
kép) thành d#u ' (ngo%c n)
CODE
trace(myXML.childNodes[0].childNodes[0].attributes.type);
Còn mt cách na cng cho ra kt qu nh trên là dùng []
CODE
trace(myXML.childNodes[0].childNodes[0].attributes["type"]);
Và b n có th thay i giá tr ca attribute, hay thêm attribute mi nh sau:
CODE
myXML.childNodes[0].childNodes[0].attributes["type"] = "real";
Vi câu trên, nu attribute type cha có thì nó s c t o
(trong sách các on code trên tác gi vit ln gia type và alias, nu bn so sánh
gia sách và bài này thì s thy s% khác bit, và có th các source file cng s không
chính xác, vy các bn cn kim tra li)
Khác vi node, attribute không th truy cp b"ng ma trn (array) nên b n không th
dùng các lnh nh length hay dùng [] vi index number. Nhng b n có th dùng vòng
l%p for ... in truy cp t)ng attribute ca node.
CODE
myXML = new XML("Gary
47");
for(attr in myXML.childNodes[0].childNodes[0].attributes) {
trace(attr+": "+myXML.childNodes[0].childNodes[0].attributes[attr]);
}
output window s cho ra: alias và verified
Thêm vài AS v XML
B n cng c
n bit thêm mt s iu v i tng XML. Nh#t là im sau, b#t c mt
ph
n nào ca i tng XML cng có th là mt i tng XML riêng bit. Ví d' b n
có th l#y cái node
u tiên ca i tng XML và quy thành mt bin
CODE
myXML = new XML("Gary47");
thisUser = myXML.childNodes[0];
thisUserName = thisUser.childNodes[0];
thisUserNameText = thisUserName.childNodes[0].nodeValue;
thisUserID = thisUser.childNodes[1];
thisUserIDText = thisUserID.childNodes[0].nodeValue;
B n có th bit c s node trong trong mt node khác b0ng thuc tính length
ca childNodes. Ví d', user node có 2 node trong, vy b n có th bit c b"ng
vi o n code sau:
CODE
myXML = new XML("Gary47");
trace(myXML.childNodes[0].childNodes.length);
Ngoài vic có th tìm c giá tr ca mt node vn bn b"ng nodeValue, b n có th
bít c tên ca thành ph
n (hay th4) vi nodeName. Ví d' b n có th l#y c tên
ca thành ph
n (th4)
u tiên ca user là name nh sau:
CODE
myXML = new XML("Gary47");
trace(myXML.childNodes[0].childNodes[0].nodeName);
B n có th bit c mt node là thành ph
n ca XML hay là mt node vn bn (text
node) b"ng vi thuc tính nodeType. Nu nodeType là 1 thì có là 1 thành ph
n ca
XML và có th có nhiu thành ph
n trong node ó, nu là 3 thì node ó chính là
node vn bn.
Gi th 20 : Printing
Không phc t p nh trình duyt ho%c Server Cominucation, in #n là mt cách mà
FLash truyn d liu ra ngoài.
Kh nng in #n ca FLash là r#t hu ích vì nó cho phép chúng ta xây dng nhng vn
bn mà ngi s d'ng có th in ra ni dung t) file flash ca b n.+ây thng là la
ch
n tt hn da vào hàm in #n ca trình duyt .
Trong gi th 20 này chúng ta s :
- H
c cách thit lp movie ca b n cho vic in #n
- H
c cách s d'ng các lnh in
- T o ra mt biu m$u có th in c
I> Thit lp cho movie có kh n
ng in:
1-B n c
n làm mt vài vic vi movie trc khi có th s d'ng c các lnh in ca
Action Script. Tht không may,nhng lnh in này không c linh ho t lm. Nu s
d'ng chúng mà không có s chu!n b , Flash s in ra toàn b ni dung ca movie,
t)ng frame mt.
Và ó thng là iu mà b n không mun. Có khi b n ch mun in duy nh#t frame
hin t i, ho%c mt frame b#t k, trong mt movie riêng, ho%c mt o n g*m nhiu
frame. Nhng him khi b n mun in ht toàn b.
2 - +%t tên cho frame
B n s ch nh nhng frame c in b"ng ký hiu "#p" . Nu ký hiu ó không c
%t lên frame nào thì Flash s in ra toàn b movie ca b n. Ngc l i, nu b n %t t)
hai ký hiu tr lên trong movie ca b n thì flash s in ra t#t c nhng frame ó.
Hình 1 cho ta th#y timeline vi hai frame ã c %t ký hiu in. Chú ý r"ng, t#t c
nhng frame có cha ký hiu in này s c %t mt layer riêng. Theo cách ó, b n
có th %t c nhiu ký hiu trên nhiu frame. Và nó cng thun tin hn khi b n
không mun s d'ng ký hiu "#p" nh mt label tht cho keyframe.
*Chú ý: Khi b n %t t) hai ký hiu in tr lên, khi test movie, Flash s xu#t hin li
cnh báo : "WARNING : Duplicate layer.."
+ó là iu ri ro có th xy ra, nhng cng s không nh hng n movie ca b n
tr) phi b n s d'ng label "#p" trong câu lnh "gotoAndStop" ho%c nhng lnh tng
t....
3- Lên k ho ch in
B n c
n phi suy ngh( và lên k ho ch cho movie ca b n khi mun movie có kh
nng in. Vì không th ch in mt frame hin t i nên b n
c
n t o ra nhng frame có kh nng in. Chú ý r"ng m
i th t*n t i trên movie ca b n
s c in ra. Nó bao g*m c nút Print ( khi nh#n vào s thc hin lnh in), nu
trong movie
có t*n t i.
Vì vy chúng ta c
n phi có mt frame cha nút Print, và mt frame khác tng t
nhng không có nút Print cng nh các yu t khôgn
c
n thit khác. Frame th hai này s c d%t nhãn là "#p"
B n có th b trí b"ng cách s d'ng timeline chính. Ví d' b n có mt menu và mt
nút Prin trên hai layer riêng bit, mà c
n có
trong ni dung ca biu m$u in. Nhng layer này nu b n không mun in ra thì không
c
n kéo chng sang frame có nhãn "#p"
hai hình sau th hin iu này. Hình th nh#t,là frame mà ngi dùng s th#y xu#t
hin trên trang web. NÓ cha ni dung. nút Print và menu
Ngc l i, trong hình hai là ni dung mà ngi duyt web không th#y c, ít nh#t là
trên màn hình. Frame này c %t tên là "#p"
b n có th th#y trên timeline.Layer Buttons không s d'ng keyframe ging nh
frame 1. Ngoài vic ch%n nút Print không oc in ra,
có th thêm vào frame này mt s thông tin s c in ra nh a ch, ...
Bây gi b n ã bit làm th nào chu!n b cho mt biu m$u in, bây gi cùng h
c
AS c
n thit
II> Các câu lnh
Có hai lnh in chính c s d'ng. Chúng có mt khác bit r#t nh&, nhng v cn bn
là ho t ng ging nhau.
1- Print
Lnh th nh#t là
QUOTE
Print
Lnh này bao g*m hai tham s. Tham s th nh#t là i tng in. Thng là
timeline chính, ho%c "_root". B n cng có th s d'ng
"this". Tuy nhiên, nu b n không mun in nhng frame trong movie, b n có th s
d'ng tham chiu ti movie ó.
Tham s th hai là mt trong ba tu, ch
n sau :
QUOTE
bframe
QUOTE
bmovie
QUOTE
bmax
Các tham s này giúp FLash có th co dãn vn bn in theo ý ca ngi s d'ng. Flash
có th co dãn vn bn in ti kích thc
ca trang gi#y mà không bóp méo vn bn. Ví d' nu frame c in có kích thc
550x400, thì chiu ngang s c phóng to ti kích thc 550px
chiu d
c có th s c scale theo t8 l.
Khi s d'ng tu, ch
n "bframe", t)ng frame s t scale l#p
y kích thc ca
trang ó. Nu frame th nh#t có ni dung vi kích thc là 550x400
nhng frame th hai ch cha ni dung có kích thc 275x200, khi ó frame th hai
s t ng scale g#p ôi kích thc ban
u.
khi s d'ng tu, ch
n "bmax", Flash s kim tra toàn b các frame c in xác nh
xem frame nào có kích thc ln nh#t. Các frame
còn l i s scale da trên kích thc ca frame ln nh#t, tính theo t8 l. +iu này ta
nên các frame có kích thc t8 l vi nhau
Ví d', frame ln nh#t có kích thc 550x400, và nó l#p
y trang in. Frame khác ch
có kích thc 275x200, nó ch chim mt na trang in.
Tu, ch
n cui cùng là "bmovie", trng hp này b n c
n phi làm thêmm mt vic
nh& na, ó là t o ra frame mi có cha mt khung.
Khung này s xác nh kích thc ln nh#t c in ra i vi vn bn (b"ng kích
thoc ca khung). B n phi %t tên frame này vi ký hiu
"#b". Và flash s s d'ng kích thc ca khung scale toàn b các frame còn l i.
Nu có mt ph
n vn bn này n"mg ngoài khung in
chúng s không c in ra.
Sau ây là ví d' v lnh "Print" :
QUOTE
on(release) {
print(this,"bframe");
}
Nh b n ã th#y, tu, ch
n c coi nh mt chu.i và c %t trong d#u ""
2-PrintAsBitmap
Câu lnh này làm vic tng t nh lnh Print vi hai tham s tng t.
+iu khác bit là lnh Print s gi các i tng * ho và font ch ti máy in. Sau
ó, máy in s xây dng l i các vector và ni dung in ra.
Ngc l i, PrintAsBitmap s chuyn toàn b ni dung thành mt nh bitmap ln và
gi ti máy in.
+im thun li nh#t ca PrintAsBimap là trong sut ca vn bn cng c in ra.
Nu b n có mt i tng * ho bán trong sut,
chc có u i4m chn b n s c
n n chc nng in này, *ng thi nó cng ho t ng
tt vi nhiu lo i máy in hn.
Lnh in chính là vn bn c in ra có tính th!m m5 cao, ng cong smooth hn và
ch rõ ràng hn khi c in ra. Nó cng nhanh hn
khi in qua m ng.
Nguyên tác chung nh#t là s d'ng lnh PrintAsBitmap khi b n tht s chc chn kt
qu s ging nh ni dung hin th trên màn hình.
S dung Print khi vn bn không c
n chính xác cao ho%c khi b n xây dng movie
iu khin môi trng nh m ng ni b.
Chú ý: Nu b n se d'ng movie qua internet, lnh in ch làm vic khi t#t c các frame
trong movie c load xung.
Thao tác : To biu mu in
Mt iu mà ngi dùng ghét nh#t trên mt website là mt biu m$u mà chúng ta
phi in ra, in vào, r*i gi i . Chúng ta ang s d'ng máy tính, t nhiên l i phi
i kim cái bút trên bàn vit ?
Vì vy t i sao chúng ta không t o ra biu m$u cho phép in thông tin vào, sau ó
c in ra vi
y ni dung ã c nhp vào.
Chúng ta s làm ví d' n gin này, và s th#y chúng thun tin hn r#t nhiu so vi
mt biêt m$u html yêu c
u ngi s d'ng in ra toàn b ni dung ca site.
B n hoàn toàn có th i khin nhng gì s c in ra, vì vy nhng th linh tinh trên
trang web có th c b& qua và nhng yu t mi nh email address có th c
thêm vào.
1- T o mt movie mi
2- T o ra các trng nhp d liu (ví d' tên, tu i, a ch, gii tính, email...) (xem
hình) sau ó %t tên layer này là CONTENT
3-+%t tiêu cho trng lên phía trên ô nhp liu
4-T o thanh tiêu cho Form. Chú ý,hai lo i tiêu này s c %t hai layer riêng
bit .
5-T o nút Print và %t trong layer tên là Buttons
6-CHèn o n mã sau cho button :
QUOTE
on (release){
print (this, "bmax");
}
7- Thêm Frame th hai cho movie, kéo Title Bar và Content sang frame 2
T o blank keyframe cho layer Buttons và Titles, vì chúng s có ni dung khác trong
frame th hai
8- Trong frame th hai ca layer Title, %t mt tiêu khác. Ví d', nu frame th nh#t
là "Fill out that application" thì frame th hai ch c
n là Appilcation
9- Sau ó, biu m$u ã s2n sàng in vào. Tiêu c s bin m#t, b n có th nhìn
th#y tiêu mi trong hình..
10- Thêm mt layer mi tên là Signature. +%t mt keyframe frame th hai ca layer
này. Thêm ng ngn cách và a ch trong frame này. Nu làm úng thì frame 1 ca
layer
này s không có gì, ni dung ch t*n t i frame 2
11- Thêm layers tên Frame Labels . +%t trong ó hai keyframe. Keyframe th 2,
chúng ta %t ký hiu "#p" . Keyframe th nh#t chèn code
QUOTE
stop();
Test movie ca b n. B n hãy in vào biu m$u ó, và #n nút Print. Frame th hai s
c in ra vi tiêu "Application", ch ký, và a ch...
Tóm tt
+ in c các frame trong mt movie b n c
n phi %t label cho chúng là "#p". B n
có th %t tên cho mt ho%c nhiu frame trong cùng mt movie.
M
i th trong frame "#p" s c in ra. B n có th trang trí tu, thích i vi biu
m$u c in ra, tr) nhng yu t nh menu.
B n có th s d'ng lnh "Print" in các frame s d'ng vector shape gi ti máy
in. Tuy nhiên, nu c
n in nhng i tng * ho bán trong sut ho%c chc chn r"ng
t#t c nhng biu m$u in ra ging nhau, b n có th s d'ng lnh PrintAsBitmap
Gi th 21: S dng component, Using component
ActionScript cho các Component
i kèm Flash
Có 7 component gn lin kèm theo chng trình Flash: CheckBox, ComboBox,
ListBox, PushButton, RadioButton, ScrollBar, ScrollPane.
+ thêm mt component vào movie ca b n, b n có th click úp lên component
trong bng Component, ho%c nh#n và kéo mt component vào stage.
PushButton
Click và kéo component PushButton vào stage s t o mt instance (th hin) mi ca
component PushButton trên màn stage. Khi ó b n ã thêm mt s ph
n t Library
vào trong movie. R#t may là các ph
n t này c c#t trong các folder r#t g
n trong
Library (th vin), vì th chúng cng không nh hng m#y n công vic ca b n.
Component PushButton trên stage trông r#t n gin: ch là mt khung vi t)
"PushButton" gia.
B n nh bt tính nng Live Preview (xem trc) ca Flash b"ng cách ch
n Control---
>Enable Live Preview.
Sau khi PushButton ã trên stage, b n có th click ch
n nó và m bng Properties
i tên. Hai thông s có th thit %t cho component PushButton là Label (nhãn):
ta i thành Press Me ! và Click Handler (qun lý s kin nh#n nút): ây là tên ca
hàm c g
i khi nút c click. Hàm này phi n"m trong cùng Timeline vi nút; vì
th nu nút %t level gc (root level), hàm phi trên Timeline chính. Ta thit %t
Click Handler thành buttonPressed (nút ã c nh#n).
Ngoài ra b n %t cho component mt instance name (tên minh h
a) là testButton
(kim tra nút).
Bây gi t#t c công vic phi làm là vit hàm buttonPressed. Di ây là mt ví d'
n gin. Hàm này ch gi mt vài dòng text ra ca s Output:
ActionScript
function buttonPressed(buttonInstance) {
if (buttonInstance == testButton) {
trace("Test Button Pushed.");
} else {
trace(buttonInstance._name);
}
}
M.i hàm qun lý nút s chuyn mt tham s: mt tham chiu n nút g
i hàm. Vì th
b n có th kim tra instance này có phi có tên là testButton hay không. Hàm ví d'
trên s chuyn thông báo "Test Button Pushed" nu nút c nh#n là testButton, và in
ra tên minh h
a ca nút nu nút b nh#n không phi là testButton.
B n có th xem ví d' m$u này trong movie 21pushbutton.fla.
CheckBoxes
Component CheckBox (hp kim) tng t nh cái mà chúng ta ã t o gi 15 (anh
em dch sau nhé).
+ t o mt CheckBox component, click úp vào nó trong bng Components, ho%c
click và kéo nó lên trên stage. + t o mt instance th hai, m folder Flash UI
Components trong th vin Library và kéo component CheckBox lên trên stage.
Trong ví d' movie 21checkboxes.fla, tôi ã t o 3 hp kim (CheckBoxes). Nu b n
ch
n mt component trong chúng và m bng Properties, b n s th#y nó có nhiu
thông s hn so vi component PushButton.
B sung vào các thông s Label và Change Handler, gi ây b n có c Initial
Value (giá tr ban
u) và Label Placement (sp xp nhãn). Thô
Các file đính kèm theo tài liệu này:
- bai_giang_huong_dan_lap_trinh_as.pdf