46
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA CÔNG NGHỆ THÔNG TIN Báo cáo Thực tập chuyên ngành cuối khóa ĐỀ TÀI : Tìm hiểu về ngôn ngữ Actionscript và cơ bản về lập trình game trên CS5 Huế, 15/3/2012 1

Tim Hieu Ve Ngon Ngu Actionscript Va Co Ban Ve Lap Trinh Game Tren Cs5

Embed Size (px)

DESCRIPTION

Tim Hieu Ve Ngon Ngu Actionscript Va Co Ban Ve Lap Trinh Game Tren Cs5

Citation preview

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