Transcript

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


Top Related