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