tim hieu ve ngon ngu actionscript va co ban ve lap trinh game tren cs5
DESCRIPTION
Tim Hieu Ve Ngon Ngu Actionscript Va Co Ban Ve Lap Trinh Game Tren Cs5TRANSCRIPT
B GIO DC V O TO
TRNG I HC KHOA HC
KHOA CNG NGH THNG TIN
Bo co
Thc tp chuyn ngnh cui kha
TI: Tm hiu v ngn ng Actionscript
v c bn v lp trnh game trn CS5
Hu, 15/3/2012
1
Mc Lc
A.
I.
Tm hiu v CS5 ..................................................................................................................................... 3
Cc khi nim c bn trong Adobe Flash CS5. .................................................................................. 3
1.
2.
3.
4.
5.
6.
7.
II.
1.
2.
3.
4.
III.
1.
2.
3.
4.
Layer.............................................................................................................................................. 3
Frame ............................................................................................................................................ 3
Scene. ............................................................................................................................................ 4
Movie ............................................................................................................................................ 4
Biu tng Graphic ....................................................................................................................... 4
Biu tng Movie Clip .................................................................................................................. 5
Biu tng Button ........................................................................................................................ 7
Tm hiu v ngn ng Actionscript 3.0 ............................................................................................. 7
Vng son tho ActionScript......................................................................................................... 8
Lp trnh c bn vi Actionscript.................................................................................................. 8
Lp trnh hng i tng trong AS3......................................................................................... 11
S kin trong AS3. ...................................................................................................................... 12
C bn v lp trnh game trong Actionscript. ............................................................................. 13
u nhc im ca lp trnh game bng Actionscript............................................................... 13
S lc v thit k Game ............................................................................................................ 14
Cc i tng, phng thc trong thit k Game. ...................................................................... 15
The Display list. .......................................................................................................................... 16
B.
1.
2.
3.
Demo ................................................................................................................................................... 18
tng v lut chi. ....................................................................................................................... 18
Cc i tng trong game. .............................................................................................................. 19
Cc cnh chnh trong game. ............................................................................................................ 23
2
A. Tm hiu v CS5
I.
Cc khi nim c bn trong Adobe Flash CS5.
1. Layer
L cc lp c dung trong vic sng tc, mi mt khung hnh c th c
nhiu layer khc nhau, mi i tng thng c xy dng trn mi layer
Hnh 1. To mi layer
-
-
Cc biu tng
xa layer.
Cc biu tng
: ln lt l to mi layer, to mi th mc,
: ln lt l n hoc hin layer chn, kha
khng cho php chnh sa i tng trn layer, cho php i tng trn
layer ch hin th ng vin vi mu nn hay ch l ng vin
2. Frame
L khung hnh dng trong k thut chuyn ng, vt th chuyn ng c
l nh vo s thay th khc khung hnh, mt ngi ch c th lu c
khng qu 24 hnh nh trn 1 giy, v vy khi ta di chuyn nhanh cc frame
th chng ta khng th nhn thy c s thay i m ch c cm gic nh
hnh nh ang chuyn ng.
3
3. Scene.
L cc cnh quay trong Flash, mi cnh quay l tp hp cc khung hnh ln
lt thay th nhau to thnh cc chuyn ng
Hnh : to Scene mi
-
Cc biu tng
ln lt l: to mt Scene mi, to mi Scene
bng cch copy Scene ang chn.
-
-
Nh cc Scene ny m chng ta c th to mt thc phim di m
khng phi qun l cc lp mt cch qu phc tp khi s lng i
tng trn cnh quay qu nhiu.
Khi s lng cnh quay ln, tp hp cc cnh quay c th to thnh
mt on phim.
4. Movie
-
mt Movie l tp hp cc cnh quay Scene,
biu tng qun l cc
cnh quay trong movie
5. Biu tng Graphic
-
L mt hnh nh tnh, n c th c s dng li to ra chuyn ng.
4
Hnh : Convert mt i tng sang Graphic
-
-
-
-
-
Name: tn ca graphic cn to.
Type: loi biu tng cn chuyn.
Cc thuc tnh ca biu tng.
Position and size: chng ta c th thay i ta ca i tng stage,
kch c ca i tng.
Swap: thay i biu tng chn ca i tng.
Color Effect: ty chn ny cho php ta hiu chnh thuc tnh Brightness,
Tint, Advanced, Alpha ca i tng.
6. Biu tng Movie Clip
-
-
L mt mu hot hnh ca flash c th c ti s dng, khc vi graphic,
MovieClip c ring mt TimeLine vi v s Frame ca mnh. Mt
MovieClip c th bao gm mt hoc nhiu biu tng Graphic hoc thm
ch l MovieClip. Cng tng t nh Button, bn c th ci t mt tn
hin th cho n iu khin n bng Actionscript.
to mt biu tng MovieClip ra chn i tng cn Swap, nhn F8
5
Hnh : To mt biu tng MovieClip
Hnh: Thuc tnh ca MovieClip
-
Instance name: tn hin th ca biu tng, dng lm vic vi
ActionScript.
6
-
-
-
Instance of: thay i biu tng cho i tng hin th.
Position and size: thay i kch thc v v tr ca i tng
Color effect: chn hiu ng mu sc cho i tng, bao gm: Brightness,
Tint, Advanced v Alpha.
7. Biu tng Button
-
-
Biu tng Button dng b sung mt tng tc vi movie, p tr cc s
kin kch thuc, n phm, ko cc thanh ko v cc hnh ng khc, mt
biu tng button s c bn Frame tng tc: Up, Down, Over, Hit.
Thao tc to mt button tng t nh to mt MovieClip, cc thuc tnh
ca Button cng tng t nh MovieClip.
Hnh : To mt biu tng Button
II.
Tm hiu v ngn ng Actionscript 3.0
Actionscript c gii thiu nm 1996 cng vi s pht hnh ca Flash.
Flash 5 c pht hnh nm 2000 vi s ra i ca Actionscript 1.0.
Flash MX2004 hay Flash 7 cung cp phin bn Actionscript 2.0.
Actionscript 3.0 c gii thiu nm 2006 cng vi s pht hnh ca Flex
2, Flex cho php cc nh pht trin xy dng cc ng dng i hi phi c
flash player. Tuy nhin, Flash cung cp mt giao din trc quan hn cho
cc ng dng pht trin v thch hp cho pht trin game.
7
1. Vng son tho ActionScript
B thao tc pha trn vng son tho Actionscript
B sung thm cc thnh phn vo Actionscript
Tm kim v thay th.
Chn target vo trong vng son tho Actionscript.
Kim tra li c php.
nh dng m ngun t ng.
xem cc ch dn v m ngun.
To cc im thot trong debug chng trnh
3 biu tng tip theo: ng m cc khi m lnh chng trnh
H tr khi vit script
2. Lp trnh c bn vi Actionscript.
2.1 u v Nhc im ca Actionscript.
a. u im ca Actionscript
Flash player c ci t trn 97% my tnh c kt ni Internet.
D tip cn v thc hin n.
c xy dng giao thc x l s c trong sn xut sn phm flash
Debug nhanh, play and upload d dng.
b. Nhc im ca Actionscript
C nhiu vn mi nn vic hc Actionscript lc u rt kh khn.
Screen- readers cho ngi xem khng th bao qut ht tt c cc
kha cnh ca flash.
Khng mnh chy cc chng trnh- phc tp cao hn.
2.2 Cc kiu d liu thng dng trong AS3.
c. Kiu s nguyn
8
C 2 dng s nguyn c h tr trong AS l kiu s nguyn c du
int v s nguyn c du uint. C 2 loi s nguyn ny iu chim
4byte, ngha l vng gi tr ca int l -231 n 231-1 v gi tr ca uint
l 0231-1.
Note: trong kiu d liu, th ch c kiu s nguyn c ch ci u
tin vit thng.
d. Kiu s thc
S thc trong AS chim 32bit, t kha khai bo l Number.
Note: Number vit hoa ch ci u tin.
e. Kiu Boolean.
Kiu Boolean trong AS ch nhn 2 gi tr l true and false.
Note: ch Boolean vit hoa ch ci u tin.
f. Kiu xu String.
Trong kiu xu String, th t c nh t 0 n n-1( n l di ca
xu)
Note: ch String vit hoa ch ci u tin.
g. Kiu mng Array.
Trong kiu mng Array, th t c nh t 0 n n-1( n l di
ca xu)
Note: ch String vit hoa ch ci u tin.
h. Kiu i tng Object
Tng t nh trong ngn ng C, nhng n mm do hn rt nhiu.
2.3 Bin v Hng
a. Bin
Bin trong Actionscript tng t nh trong ngn ng lp trnh C,
nhng ch khc trong cch khai bo bin.
Cch khai bo bin trong Actionscript 3.0
Var Tn_Bin:Kiu_d_liu=[gi tr khi to ];
Vd:
Var st:String = Hello Word;
Var i:Number = 10;
b. Hng
Hng c gi tr khng thay i.
Cch khai bo Hng tng t nh khai bo Bin ch thay i t
kha var thnh const.
const Tn_Hng:Kiu_d_liu= gi_tr_khi_to ;
Vd:
9
const st:String = Hello Word;
const i:Number = 10;
c. Note: khi khai bo bin gi tr khi to c th c hoc khng, nhng
trong khai bo hng th gi tr khi to l thnh phn bt buc phi
c.
2.4 Ton t v biu thc
Tng t nh trong c.
2.5 Cc cu trc iu khin trong AS3.
Trong AS3 cu trc If(), If()..Else(), While(), Do..While(), For()
tng t nh trong C.
a. Cu lnh lp For.. In
C php
For(var index in Array)
{
Lnh;
}
Chc nng: Index l ch s mng c khai bo trc tip trong
vng lp, khi thc hin vng lp index s tng cho ti
Array.length -1, mi ln nh vy index s tng ln 1 v thc hin
Lnh trong vng lp.
b. Cu lnh For Each..in
C php
For each(var item in Array)
{
Lnh;
}
Chc nng: ging nh cu lnh lp For..in nhng y index
c thay bng item, n l phn t ca mng ch ko phi l ch
s ca mng nh trong For..in.
2.6 Hm trong AS3.
a. Khai bo v s dng.
C php.
Function tn_hm( ds_tham_s):kiu_d_liu_tr_v
{
Thn_hm;
}
10
Vd:
Function func(a: int, st:String):void
{
Return st;
}
Note: hm vi s lng khng xc nh AS3 cung cp cho ta
cng c gi l( rest ) tham s.
Function Add(args):int
{
Var sum= 0;
For(var i:number = 0; i> args.length; i++)
{
Sum+=args[i];
}
Return sum;
}
3. Lp trnh hng i tng trong AS3.
Lp trnh hng i tng trong AS3 c bn ging nh trong ngn ng
lp trnh C, nhng im cn ch trong lp trnh hng i tng AS3.
3.1 nh ngha lp.
Public class Tn_Class
{
// Khai bo cc thuc tnh ca lp
// Cc phng thc ca lp.
}
Vi class c cc t kha ch nh sau.
Dynamic: cc thuc tnh c th c b sung vo trong th hin lp
ti thi im runtime.
Internal: c th nhn thy c trong cng mt package.
Final: khng cho php k tha.
Public: c th nhn thy mi ni.
3.2 Tnh k tha trong AS3.
AS3 l ngn ng n k tha, tc l mt lp ch c th k tha t mt
lp c s. th hin tnh k tha ta khai bo theo c php sau:
Public class Tn_Class extends Tn_lp_k_tha
{
}
11
3.3 Interface trong AS3
D tnh n k tha phn nh ng thc t ca mi thc th, nhng tnh
a k tha mang li cho ngn ng sc mnh lp trnh hng i tng,
v vy AS3 cng nh cc ngn ng lp trnh khc, n b sung khi nim
Interface.
S khc nhau gia AS3 vi cc ngn ng lp trnh khc l n khng h
tr lp abstract, trong interface n ch cha khai bo phng thc ch
khng cha thuc tnh.
Mt lp c th k tha t 1 lp c s nhng n c th thc thi nhiu
giao din- interface.
4. S kin trong AS3.
4.1 S kin chut.
a. Th vin: import flash.events.MouseEvent;
b. C php to s kin: stage.addEventListener(MouseEvent.Click,
func);
c. Gii thch:
Hm addEventListener dng add s kin cho i tng, c th
y l stage.
Tham s Event: y l s kin chut MouseEvent, vi phng
thc tng ng nh Click, DoubleClick,
Func: l mt hm s thc thi khi s kin c gi.
4.2 S kin bn phm.
a. Th vin: import flash.events.KeybroadEvent;
b. C php to s kin: stage.addEventListener(KeybroadEvent.Click,
func);
c. Gii thch:
Hm addEventListener dng add s kin cho i tng, c th
y l stage.
Tham s Event: y l s kin bn phm KeybroadEvent, vi
phng thc tng ng. KeybroadEvent.Key_Up: s kin khi
nhn mi tn ln,
Func: l mt hm s thc thi khi s kin c gi.
4.3 S kin Frame.
a. Th vin: import flash.events.Event;
b. C php to s kin:
stage.addEventListener(Event.ENTER_FRANE, func);
12
c. Gii thch:
Hm addEventListener dng add s kin cho i tng, c th
y l stage.
Chc nng: hm func s c gi khi m frame.
Func: l mt hm s thc thi khi s kin c gi.
4.4 S kin Timer.
a. Th vin: import flash.events.TimerEvent;
b. C php to s kin:
var timer:Timer = new Timer(delay:Number, repeatCount:int);
stage.addEventListener(Event.ENTER_FRANE, func);
c. Gii thch:
Hm addEventListener dng add s kin cho i tng, c th
y l timer.
Chc nng: hm func s c gi khi timer.start c gi v lp
li trong thi gian delay, s ln thc hin l repeatCount.
Func: l mt hm s thc thi khi s kin c gi.
4.5 Xa s kin.
a. C php to s kin:
Timer.removeEventListener(Event.ENTER_FRANE, func);
b. Gii thch:
Hm addEventListener dng xa s kin cho i tng, c th
y l Timer.
Func: l mt hm m s kin s gi.
III.
C bn v lp trnh game trong Actionscript.
1. u nhc im ca lp trnh game bng Actionscript.
1.1.
u im.
13
-
-
-
-
Flash player l mt plug-in trnh duyt ph bin cho php SWF flash
chi c trn internet v i km vi hu ht cc my tnh mi chy h
iu thnh microsoft windows, iu ny c ngha rng tr chi hoc
hnh nh ng ca bn c th c nhng vo cc trang web mt cch
d dng v game ca bn s ai cng c th chi c n.
AS3 cho php bn to ra cc h thng phc tp theo di cc yu t tr
chi quan trng nh thanh mu, im s, kch bn i phng v thao
tc nhn vt, iu ny cho php bn to ra cc tr chi vui nhn v th
v vi cc iu khin phc tp.
Flash l cng c tt cho vic to hnh nh ng, n flash ca cc tnh
nng nh Tweeen, s gip bn cung cp cho cc hnh nh ng tr chi
trn tru ca bn m khng cn to rt nhiu ngh thut sprite hoc to
hiu ng ng cc m hnh 3D.
Flash primarially s dng ha vector. iu ny c ngha rng bn c
th bao gm rt nhiu ha c o v kch c s vn cn trng i
nh. N cng c ngha rng ha ca tr chi ca bn s c quy m
ty thuc vo kch c mn hnh ca ngi dng.
1.2.
Nhc im.
-
-
-
-
-
ActionScript l ngn ng lp trnh c s dng trong nhiu trang web
v cc tr chi my tnh, ch yu chy trn web.
Ngn ng c s dng ch yu trong Adobe Flash vi nh dng .fla,
iu ny c xem trn web vi nh dng .swf, Ngn ng lp trnh ny
lm vic tt nht cho phim hot hnh v cc ng dng trn web, cc
ngn ng lp trnh c chi bn trong trnh duyt.
Flash khng c thch hp cho lp trnh cp thp.
Trng hp ngn ng cp cao s c ti cc tp tin ln hn nhanh
hn, iu ny l nhanh hn vit so vi mt ngn ng cp thp, bi v
mt dng ca kch bn s so snh vi 10 m my, so vi ngn ng cp
thp ch n gin l s c mt dng cho mt m my.
ActionScript cng c cha trong m html ca trang web.
2. S lc v thit k Game
2.1.
Gii thiu thit k game trong flash.
Qu trnh thit k game c th gip bn cu trc li tng v xy dng
game ca bn tt hn, linh hot hn, hon ho hn. Mt thit k tt cn
c k hoch tt, tng, m ngun, m thanh v ha ca game.
-
Tt c cc tr chi nn c quy tc v mc tiu, tiu ch cho s thnh
cng hay tht bi.
14
-
-
-
-
-
-
-
-
Thit k game nn cung cp mt mi trng hoc nh hnh vi cc i
tng.
Cc tr chi nn c mt bi cnh, kch bn lin quan ti pht trin nhn
vt.
Ngi chi s c th t c mt mc tiu ca game.
Cc tr chi nn c mt s thch thc vi ngi chi.
Ch khen thng, u i trong game to ra s hng th cho ngi
chi.
Cc tr chi nn c th d dng tm hiu nhng kh khn lm ch.
Rules nn n gin v nhanh chng phn hi nn c sn thng qua
cc tr chi.
hiu ng m thanh nn c s dng tng nim vui v hng th.
2.2.
V d v thit k game.
3. Cc i tng, phng thc trong thit k Game.
3.1.
i tng Array.
-
-
-
-
Khai bo Array khng i s:
Var thisarray:Array = new Array();
Khi khi to di ca Mng s bng 0.
ly di ca mng hin ti ta dng thisarray.length
Khai bo Array c i s
Var thisarray:Array = [Red,Green,Blue];
Khi khi to di ca Mng s bng s phn t thm vo.
Thm phn t vo mng.
Phng thc Push: dng thm mt phn t vo cui mng, phng
thc tr v di ca mng sau khi thm vo.
Phng thc Unshift(): dng thm mt phn t vo u mng,
phng thc tr v di ca mng sau khi thm vo.
Phng thc splice(): dng thm mt hoc nhiu phn t vo mng
v tr cho trc, phng thc tr v di ca mng sau khi thm vo.
Cc i s ca splice()
S nguyn u tin xc nh v tr chn vo
S nguyn tip theo xc nh c bao nhiu mc cn xa
vo thi im .
i s tip theo l danh sch cc phn t c chn vo.
Xa phn t mng.
15
Phng thc Pop(): dng xa phn t cui cng ca mng. phng
thc tr v phn t b xa.
Phng thc shift():dng xa phn t u ca mng. phng thc tr
v phn t b xa.
Phng thc splice(): dng xa mt hoc nhiu phn t ca mng ti
v tr cho trc, phng thc tr v mng con b xa.
Cc i s ca splice(): nu s i s ca splice() l 2 th gi hm
splice xa, s i s ca splice() l 3 th gi hm splice thm vo.
S nguyn u tin xc nh v tr bt u xa
S nguyn tip theo xc nh c bao nhiu phn t cn
xa ti v tr i s u tin.
-
Sp xp phn t ca mng.
Phng thc reverse(): dng o ngc mng.
Phng thc sort(): dng sp xp mng tng dn.
3.2.
Phng thc Drag v Drog.
-
-
StartDrag () phng php lm cho movie clip ko mc tiu ti thi
gian chy, Ch c mt on phim c th c ko ti mt thi im
sau khi mt startDrag () c thc thi v kt thc khi stopDrag().
Phng thc stopDrag dng kt thc mt MovieClip.startDrag().
4. The Display list.
Mt trong nhng thay i n tng nht c gii thiu bi
ActionScript 3.0, c bit cho cc nh thit k quen thuc vi cc phin bn
trc ca ActionScript, l cch m cc yu t hnh nh c thm vo
mt ng dng trong thi gian chy.
Trong cc phin bn trc ca ActionScript, mt cch tip cn ring
bit c s dng thm vo mt ng dng trong thi gian chy, i hi
c php khc nhau. Qun l nhng ti sn c bit, su qun l, to ra v
ph hy cc i tng, cng kh hn ch. ActionScript 3.0 mang n cho
n mt cch hon ton m, l danh sch hin th. N l mt danh sch
phn cp ca tt c cc yu t hnh nh trong tp tin ca bn. N bao gm
cc i tng ph bin nh cc on phim, nhng cng l i tng nh
hnh dng v sprites m trc y khng c hoc khng th lp trnh.
4.1.
Cc i tng trong Displaylist
16
Display Object
Shape
Bitmap
Video
InteractiveObject
AVM1Mo
MorphSha
Static text
Object
viet
pe
Single Button
DisplayObjectContai
ner
TextField
Stage
Sprite
Loader
Movie
Clip
DisplayObject
Bt c ci g c th tn ti trong danh sch hin th l mt i tng
hin th
Shape
y l mt hnh ch nht, hnh elip, ng thng,.. chng c to ra
bng cng c v.
Video
y l mt i tng hin th video
InteractiveObject
Loi ny bao gm bt k i tng hin th ngi dng c th tng
tc vi vic s dng chut hoc bn phm.
SimpleButton
Lp SimpleButton cho php bn kim sot tt c cc trng hp ca
cc biu tng nt trong mt tp tin SWF.
17
TextField
Loi ny bao gm cc yu t nng ng v vn bn u vo, kim
sot vi ActionScript.
DisplayObjectContainer
Lp ny l tng t nh DisplayObject n dng ch hin th nhiu
loi i tng. S khc bit y, tuy nhin, l i tng ny c th
cha Children. Tt c cc thng cha i tng hin th cc i tng
mn hnh hin th, nhng ch hin th cc i tng c th c con
container trong i tng hin th.
Stage
Stage n l mt phn ca danh sch hin th.
Sprite
ActionScript 3.0, Sprite ch n gin l mt
movieclip m khng c mt thi gian, v n ch c mt khung hin
th.
Loader
Lp ny dng ti cc ti sn bn ngoi vo trong danh sch hin
th, bo gm c Bitmap v SWF.
B. Demo
Demo game bn my bay flash
1. tng v lut chi.
-
-
-
-
-
Game thuc th loi game hnh ng bn my bay, bo v lnh th.
Trong game ny ngi chi s di chuyn sng ca xe tng bng chut,
v bn vo i tng my bay, ngi chi bn trng cng nhiu my
bay th s im v s Gold ca ngi chi s cng tng.
Ngi chi s c 7 th thch vt qua, khi vt qua mi th thch
ngi chi c th mua mt s vt phm nh tng tc n, tng thi
gian cho mi th thch, Item nhn i s Gold, Item n laze, v phm
vi s dng ca mi Item l th thc tip theo( ca tip theo)
Nu ngi chi vt qua c 7 th thch ca tr chi ngi chi s
c s Gold nht nh v s Gold cng cao th th hng trn bng xp
hng s cng cao.
Nu ngi chi khng c qua th thch no th game s dng th
thch .
18
2. Cc i tng trong game.
1.1.
i tng my bay.
-
-
Trong MovieClip MayBay c 3 loi my bay 3 frame lin tip nhau,
mi my bay s c im ln lt l 1 2 3
Mi i tng MayBay gm c 3 thuc tnh:
private var _TocDo:Number; // Tc ca my bay
public var _DaChet:Boolean = false; // Trng thi ca my bay,
cht true, cn sng false
-
public var _Diem:Number = 0; // im ca i tng my bay
Mi i tng MayBay gm c 3 phng thc:
Khi to my bay:
public function MayBay(FToaDoY:Number,FTocDo:Number) {
var i:Number =Math.floor(Math.random()*5+1);
this.gotoAndStop(i); // chuyn qua frame my bay
_Diem = i*10; // im ca i tng MayBay
this.y = FToaDoY; // ta ca my bay
this.x = 0;
this._TocDo = FTocDo; // tc ca my bay.
addEventListener(Event.ENTER_FRAME,funcMayBayBay);
}
My bay di chuyn:
My bay di chuyn ti mt v tr (0, y) (y y l mt s ngu nhin).
My bay di chuyn theo ng thng t tri sang phi.
S kin my bay di chuyn l
addEventListener(Event.ENTER_FRAME,funcMayBayBay);
public function funcMayBayBay(e:Event):void
{
this.x += _TocDo;
if(this.x > 500) // nu my bay di chuyn ra khi mn hnh th xa my bay
{
_DaChet= true;
func_deleteMayBay();
}
}
Xa my bay:
public function func_deleteMayBay():void
{
19
removeEventListener(Event.ENTER_FRAME,funcMayBayBay);
this.parent.removeChild(this);
}
1.2.
i tng xe tng.
i tng xe tng gm c 2 phn:
Phn thn xe tng: c nh v tr (250, 500)
Phn sng ca xe tng: c di chuyn theo khi ngi chi di
chuyn chut, s kin di chuyn chut ca ngi chi nh
sau:
stage.addEventListener(MouseEvent.MOUSE_MOVE,func_mousemove_sung);
public function func_mousemove_sung(e:MouseEvent)
{
var targetX:int
var targetY:int
= e.localX - 250;
= e.localY - 500;
SymSung.rotation = Math.atan2(targetY,targetX) * 180 / Math.PI;
var rotatio:int = Math.atan2(targetY,targetX) * 180 / Math.PI;
if (Math.abs(rotation - SymSung.rotation) > 180)
{
if (rotatio > 0 && this.rotation < 0)
{
SymSung.rotation -= (360 - rotatio + SymSung.rotation) / 10;
}
else if (this.rotation > 0 && rotatio < 0)
{
SymSung.rotation += (360 - rotatio + SymSung.rotation) / 10;
}
}
}
20
1.3.
i tng n.
-
-
-
Trong MovieClip n c 2 loi n tng tng ng 2 frame lin tip
l n thng v n laze.
Mi i tng n gm c 3 thuc tnh.
private var _Vx:Number; // ta x ca n
private var _Vy:Number; // ta y ca n.
private var _Speed:Number = 20; // tc ca n mc nh l 20;
public var _DaTrung:Boolean = false; // trng thi ca n
public var _LoaiDan:Number = 1; // loi n mc nh l 1( n
thng )
Mi i tng n gm c 3 phng thc
Khi to i tng n.
i tng n s c khi to khi ngi dng click chut.
public function Dan(FVx:Number,FVy:Number,TocDoTang:Number,LoaiDan:Number)
{
this.x = 250;
this.y = 500;
_Vx = FVx;
_Vy = FVy;
_Speed += TocDoTang;
_LoaiDan = LoaiDan;
this.gotoAndPlay(_LoaiDan);
addEventListener(Event.ENTER_FRAME,func_dan_enterframe);
}
Phng thc bn n.
n c ngi chi bn ra s nm trn ng thng i qua 2 im
(250, 500) v v tr m ngi chi click chut (mouseX, mouseY)
public function func_dan_enterframe(e:Event):void
{
var targetX:int = _Vx - 250;
var targetY:int = _Vy - 500;
this.rotation = Math.atan2(targetY,targetX) * 180 / Math.PI;
var vy:Number;
var vx:Number;
var rotation:int = Math.atan2(targetY,targetX) * 180 / Math.PI;
if (Math.abs(rotation - this.rotation) > 180)
{
if (rotation > 0 && this.rotation < 0)
{
this.rotation -= (360 - rotation + this.rotation) / 10;
}
else if (this.rotation > 0 && rotation < 0)
21
{
this.rotation += (360 - rotation + this.rotation) / 10;
}
}
if (this.rotation > 90 && this.rotation < -90)
{
vx = - _Speed* (Math.abs(this.rotation) - 90) / 90;
}
else
{
vx = _Speed * (90 - Math.abs(this.rotation)) / 90;
}
if (this.rotation < 0)
{
vy = - _Speed + Math.abs(vx);
}
else
{
vy = _Speed - Math.abs(vx);
}
this.x += vx;
this.y += vy;
if(this.y