tÓm tẮt ossec
TRANSCRIPT
-
8/10/2019 TM TT OSSEC
1/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 1
M U
1. Gii thiu ti
Smart Phone hin nay qu ph bin vi ngi dng Vit Nam cng nh th gii.
Hin nay trn th gii c khong 1.3 t chic smart phone theo VnEconomy. Smart
phone gi khng th thiu vi th gii, c s dng trong nhiu lnh vc ngoi lin
lc nh kt ni internet, c bo, nghe nhc xem phim, chi game ng nhin nhu
cu s dng smart phone cao nht l gii tr.
Vi mt lng ngi dng rt ln, nhu cu cao nn by gi xut hin nhiu hng
phn mm, in t tham gia pht trin trn mobile v xut hin kh nhiu h iu hnh
trn mobile nh Android, Winphone, IOS,.. H iu hnh Android hin nay l ph binnhiu nht th gii vi hn 60% ngi dng nhng IOS hay WindowsPhone cng
ang pht trin vt bt.
Cc nh sn xut thit bdi ng ln hin nay chn Android lm hiu hnh ch
o, slng ngi dng v thit bngy cng tng dn n nhu cu ln vphn mm.
Android c tnh mcao, c shtrtcng ng.
Lp trnh Game Android l hng i mi, phi vn dng nhiu kin thc trong CNTT.
T thc y khnng tnghin cu v vn dng nhng kin thc hc p dng
vo thc t.
2. L do chn ti
Lp trnh game trnmobile l mt hng i micho lp trnh vin. V nhu cu
ngi dng cao cng nh nhu cu tuyn nhn vin rt nhiu. Nhng mi h iu hnh
li c s khc bit v ngn ng, m hnh, cch x l b nh, Nn c cc engine khc
nhau cho mi h iu hnh. V vy, lp trnh vin thng chn mt h iu hnh chnh,
hoc b nhiu thi gian hc nhiu engine.
Lidgdx engine l mt engine chy c trn nhiu nn tng, c ngha l lp trnh
mt ln v chy c trn nhiu h iu hnh, mt li th khng nh cho lp trnh
-
8/10/2019 TM TT OSSEC
2/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 2
vin, gim thi gian code, gim thi gian hc v tm hiu v engine cho mi h iu
hnh, gim thi gian debug, sa li,
V vy em chn ti: Lp trnh game trn android vi libgdx engine. V demo l
game Fapply Bird.
-
8/10/2019 TM TT OSSEC
3/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 3
CHNG I : C S L THUYT
1.1 Tng quan v h iu hnh Android
1.1.1 Khi nim H iu hnh Anroid
Android l hiu hnh in thoi di ng mngun mmin ph do cng ty
Google pht trin da trn nn tng ca Linux. Bt kmt hng sn xut phn cng
no cng u c thtdo sdng hiu hnh Android cho thit bca mnh, min l
cc thit by png c cc tiu chun cbn do Google t ra (c cm ng chm,
GPS, 3G,...) Ra i thng 11/2007, h iu hnh Android tri qua nhiu ln cp
nht, vi phin bn gn y nht l Ice Cream Sandwich 4.0. Android l nn tng cho
thit bdi ng bao gm mt hiu hnh, midware v mt sng dng cho. B
cng cAndroid SDK cung cp cc cng cv bth vin cc hm API cn thit
pht trin ng dng cho nn tng Android sdng ngn nglp trnh java.
1.1.2 Kin trc Android
Hnh 1.1 : M hnh kin trc nn tng Android
-
8/10/2019 TM TT OSSEC
4/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 4
Theo ti liu c cung cp bi Goolge, kin trc Android c 5 thnh phn c
phn lp tcao xung thp. Ln lt nh sau.
- Applications
H iu hnh Android tch hp sn mt s ng dng c bn nh email client,
SMS, lch in t, bn , trnh duyt web, slin lc v mt sng dng khc. Ngoi
ra tng ny cng chnh l tng cha cc ng dng c pht trin bng ngn ngJava.
- Application Framework
Tng ny ca hiu hnh Android cung cp mt nn tng pht trin ng dng
mqua cho php nh pht trin ng dng c khnng to ra cc ng dng v cng
sng to v phong ph. Cc nh pht trin ng dng c tdo sdng cc tnh nngcao cp ca thit b phn cng nh: thng tin nh va l, kh nng chy dch v
di nn, thit lp ng h bo thc, thm notification vo status bar ca mn hnh
thit b.
- Libraries
Hiu hnh Android bao gm mt tp cc bth vin C/C++ c sdng bi
nhiu thnh phn ca Android system. Nhng tnh nng ny c cung cp cho cc lptrnh vin thng qua bframework ca Android. Di y l mt sth vin ct li:
- Android Runtime
Hiu hnh Android tch hp sn mt tp hp cc th vin ct li cung cp hu
ht cc chc nng c sn trong cc th vin li ca ngn nglp trnh Java. Mi ng
dng ca Android chy trn mt tin trnh ca ring n cng vi mt thhin ca my
o Dalvik. My o Dalvik thc t l mt bin thca my o Java c sa i, b
sung cc cng nghc trng ca thit bdi ng. N c xy dng vi mc ch
lm cho cc thit bdi ng c thchy nhiu my o mt cch hiu qu. Trc khi
thc thi, bt k ng dng Android no cng c convert thnh file thc thi vi nh
dng nn Dalvik Executable (.dex). nh dng ny c thit kph hp vi cc
-
8/10/2019 TM TT OSSEC
5/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 5
thit b hn chvbnhcng nh tc x l. Ngoi ra my o Dalvik sdng
bnhn Linux cung cp cc tnh nng nh thread, low-level memory management.
- Linux Kernel
Hiu hnh Android c xy dng trn bnhn Linux 2.6 cho nhng dch v
h thng ct li nh: security, memory management, process management, network
stack, driver model. Bnhn ny lm nhim vnh mt lp trung gian kt ni phn
cng thit bv phn ng dng.
1.2 Tng quan v Game
1.2.1 Khi nim Game - video game:
Video game (gi tt l game) l mt dng tr chi in t lin quan n tnh
tung tc vi mt giao din ngi sdng to ra mt phn hi hnh nh trn mt
thit bhin th(video).
Ngn nglp trnh Game:
Ty vo tng loi game c th m s dng cc ngn ng khc nhau. i vi
nhng game ln ginh cho PC v cc h my console th C++ v DirectX hoc
OpenGL l la chn tt nht v i hi phi can thip su bn trong h thng,Java l
ngn nglp trnh game phbin cho cc thit bdi ng v khng phthuc vo nn
tng.Ngoi ra th cn c C# v Python
Mt scng cxy dng game chuyn nghip:
Nu nh trc kia vic lp trnh game phi lm thcng cc cng on tu ti
cui tvic xy dng ha n m thanh ,th hin nay vi sra i nhiu cng c
htrgip vic lp trnh game nhanh hn v ti u hn g i l game engine.
Mt game engine (cng c to game) l mt phn mm c vit thit kv pht
trin video game. C rt nhiu loi game engine dng thit kgame cho cc hmy
nh hconsoles hay my tnh c nhn(PC). Chc nng ct li ca game engine phn
ln nm trong cng cdng hnh (kt xut ha) cho cc hnh nh 2 chiu (2D) hay
-
8/10/2019 TM TT OSSEC
6/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 6
3 chiu(3D), cng cvt l (hay cng ctnh ton v pht hin va chm), m thanh,
m ngun, hnh nh ng (animation), tr tunhn to, phn lung, to dng dliu x
l , qun l bnh, dng nh th, v kt ni mng. Qu trnh pht trin game tit
kim c rt nhiu thi gian v kinh ph vo vic ti sdng v ti thch ng mt
engine to nhiu game khc nhau.
Vi cng ngh to game engine cng pht trin v tr nn thn thin hn vi
ngi sdng ,ng dng ca n cng c mrng, v giy c sdng to
cc game mang mc ch khc vi gii tr n thun nh: m phng, hun luyn o, y
to, v m phng cc ng dng qun s. to iu kin tip cn ny, cc nn tng
phn cng mi ang l mc tiu ca game engine, k c in thoi di ng (v d:
iPhone, in thoi Android ) v trnh duyt web (nh Shockwave, Flash, WebVision
ca Trinigy, Silverlight, Unity Web Player, O3D v thun dhtml). Thm vo ,nhiu
game engine angc to ra bng cc ngn nglp trnh cp cao nh Javav C# hay
.NET (v dTorqueX, v Visual3D.NET) hay Python (Panda3D).
V hu ht cc game 3D hin nay u c gii hn cho GPU( gii hn bi sc
mnh ca card ha), khnng gy chm my ca cc ngn nglp trnh cp cao tr
nn khng ng k, trong khi vic tng nng sut c cung cp bi cc ngn ngny
li c li cho cc nh pht trin game engine.
1.3 Tng quanvLibGdx Engine
1.3.1 Gii thiuv LibGdx
Libgdx thc s rt hu dng bi l n c pht trin da trn nghin cu v
game development cross-platform. Ngha l game ca bn khi vit ra bng Libgdx
framework, n schi c trn Desktop, Web, Android, iOS v trong tng lai c th thm nhng platform khc na! Khi bn code game sdng Libgdx framework, bn c
thcode trn desktop v debug , sau khi game hon thin, bn hon ton c th
mang game chy trn cc platform khc m khng cn sa cha m ngun nhiu.
Libgdx ti u ha game ca bn bi cc thnh phn thit knh qun l resource c
-
8/10/2019 TM TT OSSEC
7/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 7
vit bng Native code. Libgdx framework c phn documentation rt tuyt vi v h
trqua forum ca hmt cch nhanh chng v nhit tnh. Libgdx framework c nhiu
game example, nhiu source code, v c rt nhiu game thng mi v phi thng mi
v ang sdng Libgdx framework
Kin trc ca LibGdx rt linh hot v hiu qu, v ph hp cho cnhng dn c
quy m t mc nh, trung bnh n c nhng project ln mang tnh thng mi.
LibGdx thc sva mi ra i, do n bhn chkh nhiu vmt tnh nng: nh
thiu cc hiu ng p mt hn, camera mt m hn hoc nhiu shader c sc. Do
LibGdx vn cn mt chng ng di pht trin.
1.3.2 u im ca LibGdx
a nn tng: chng ta chcn vit code 1 ln nhng c thchy trn c nhiu
nn tng khc nhau. Mt ng dng ca tnh nng ny l pht trin cc ng dng cho
Android. pht trin mt ng dng cho Android, khi chy thng dng, chng ta
cn chy ng dng trn Emulator hoc trn thit btht. Vic ny rt mt thi gian do
Emulator chy rt chm v qu trnh ci t cng nh chy ng dng trn thit btht
cng khng kh hn. Vi LibGDX, chng ta c thchy ng dng trn PC, sau ch
cn vi vi dng code, chng ta c thchy ng dng ny trn Android vi hiu nngtng ng. iu ny gip chng ta kim thv tm li ng dng nhanh hn v hiu
quhn.
Hiu nng: Hiu nng ca LibGDX thc srt n tng do LibGDX sdng c
Java v m ngun C to nn ng dng.
Cng ng: cng ng sdng LibGDX rt tuyt vi vi s lng ngi dng
ln. Cc lp trnh vin lun ng gp v gip cho cng ng. Vic sa li cngc cp nht rt thng xuyn.
Ti liu v v d: rt y vi Javadoc. LibGDX cng cung cp rt nhiu cc v
dv demo vi y cc chc nng tn gin n phc tp.
-
8/10/2019 TM TT OSSEC
8/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 8
M ngun: m ngun mvi thit krt r rng v ph hp vi vic pht trin
ng dng cho di ng. LibGDX cho php ngi lp trnh khnng sdng cc API t
cc lp thp n cao, ty theo yu cu ca ngi sdng.
Tnh nng: LibGDX c rt nhiu tnh nng nh to hnh, xl ha 2D, 3D, xl m thanh, qun l cc thit bvo ra, qun l file hthng. Cng vi l cc cng
ci km rt hu ch nh Texture Packer v Particle Editor.
1.3.3 Vng i ca 1 ng dng LibGdx
Hnh 1.2: Lc vng i ca 1 game vit bng LibGdx
- create() : Phng thc c gi l mt ln khi ng dng c to ra.
-
8/10/2019 TM TT OSSEC
9/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 9
- resize(int width, int height) : Phng thc ny c gi l mi ln mn hnh
tr chi thay i kch thc v tr chi l khng trong trng thi tm dng.
N cng c gi mt ln ngay sau khi phng php create(). Cc thng s
chiu rng v chiu cao mn hnh c thay i kch thc bng pixel.- render() : Phng thc ny cn gi l game loop, n c gi mi khi game
ca chng ta cn thc hin render. Game logic thng c cp nht ti
phng thc ny
- pause() : Trn Android phng php ny c gi khi nhn nt Home hoc
nhn cuc gi n. Trn my tnh bn ny c gi l trc khi
dispose(),khi thot khi ng dng. Mt ni tt lu cc trng thi tr chi.
- resume() : Phng thc ny chc trn android khi ng c quay trli- dispose() : c gi l khi ng dng bph hy.
Libgdx khng c vng lp chnh cth(main loop) tuy nhin render() c thcoi l
vng lp chnh ca game
-
8/10/2019 TM TT OSSEC
10/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 10
CHNG II : PHN TCH THIT K H THNG
2.1 Phn tch yu cu
2.1.1 Gii thiu game Flappy Bird
Game Flappy Bird l 1 game tng tc vi ngi sdng thng qua mn hnh
cm ng ca in thoi bng thao tc chm vo mn hnh iu khin nhn vt nhy
ln, trnh cc chng ngi vt - ng khi.
Gia 2 ng khi c 1 khong cch cnh ngi chi kp thc hin thao tc.
Nhng chiu cao ca ng khi l ngu nhin. ng khi sxut hin bn phi v dch
dn sang bn tri. Nhim vca ngi chi l chm vo mn hnh nhn vt nhy
ln v lt qua khe hgia 2 ng khi trn v di. Nu qua 1 ng khi, ngi chi s
c cng 1 im. Tr chi kt thc khi nhn vt chm ng khi.
Tng im mi lt chi s c lu li, vi mc ch ngi chi c gng
chi tt hn, dnh nhiu im hn trc (cng nhy qua nhiu ng khi cng nhiu
im).
2.1.1 Phn tch game
C mt mn hnh chi game gm cc i tng
- Background l mt nn tri nm yn... mt t pha di chy lin tc tphi
sang tri.
- Mt con chimnhn vt game
- Skin tap :Nu chm vo mn hnh in thoi con chim sbay nga mt
ln mt on v ri cm u xung t. Trong qu trnh thc hin chui thao
tc trn nu xy ra skin "tap" mn hnh, con chim sthc hin hubchui
thao tc trc v ti vtr khi "tap" sthc hin chui thao tc mi.
- Trong mt khong thi gian cnh stun txut hin hai ng nc trn v
di cha mt khong hcao thp ngu nhin cho con chim bay qua.
- Nu con chim bay qua c khong hhai ng ny sc cng mt im.
-
8/10/2019 TM TT OSSEC
11/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 11
- Nu con chim ng vo hai ng ny th GAME OVERkt thc lt chi
Game gm 3 mn hnh :
- Mn hnh lc mi bt u game (MenuScreen) : gm nt chi game chuyn
n mn hnh chi game v nt xp hng chuyn n mn hnh kt thc game
hin im cao nht
- Mn hnh chi game (PlayScreen) gm nn v mt t, con chim, ng,
- Mn hnh kt thc game (EndScreen) gm bng hin thsim v sim
cao nht
2.2 Phn tch
2.2.1 Biu use-case
Hnh 2.1 : Biu Use-case
2.2.1.1 Danh sch Actor
STT Tn Actor ngha/Ghi ch
1 Ngi chi Ngi chi bnh thng ca hthng
-
8/10/2019 TM TT OSSEC
12/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 12
2.2.1.2 Danh sch Use-case
STT Tn Use-case ngha/Ghi ch
1 Thot game Thot khi ng dng
2 Xem im Xem im cao nht
3 Thao tc Cc skin nh nhn nt, chm mn hnh,
4 Lu im Lu im sau mi lt chi tm im cao
nht
5 Chi game iu khin ch chim kim c im caonht
2.2.1.3 c tUse-case
2.2.1.3.1 c tUse-case chi game
1. Tm tt
Ngi chi sdng use-case ny chi game
2. Cc dng skin
Use-case bt u khi ngi chi nht nt Play
Hthng hin thmn hnh chi game, nhn vt gamech chim, v cc chng
ngi vt - ng khi
Ngi chi chm vo mn hnh ch chim trnh cc chng ngi vt v tng
thm im cho mnh
Nu ch chim chm phi chng ngi vt, use-case ny skt thc v im s
c lu li
3. Cc yu cu c bit
-
8/10/2019 TM TT OSSEC
13/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 13
Khng c.
4. Trng thi hthng khi bt u thc hin Use-case
Ngi dng ang trong giao din chi game
5. Trng thi hthng sau khi thc hin Use-case
H thng vn mn hnh giao din chi game
6. im mrng
Khng c.
2.2.1.3.2 c tUse-case thot game
1. Tm tt
Ngi chi sdng use-case ny khi khng mun chi game na
2. Cc dng skin
Use-case bt u khi ngi chi nht nt Home hoc nt Back ca in thoi
Hthng tt ng dng game Flappy Bird ang bt
3. Cc yu cu c bit
Game ang c mtrn mn hnh in thoi
4. Trng thi hthng khi bt u thc hin Use-case
Ngi dng ang trong giao din ca game
5. Trng thi hthng sau khi thc hin Use-case
H thng vn mn hnh giao din ca game
6. im mrng
Khng c.
2.2.1.3.3 c tUse-case xem im
1. Tm tt
-
8/10/2019 TM TT OSSEC
14/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 14
Ngi chi sdng use-case ny xem im cao nht
2. Cc dng skin
Use-case bt u khi ngi chi nht nt Xem imhoc khi lt chi kt thc
Hthng hin thmn hnh xem im gm 1 thng bo c im hin ti, im cao
nht v nh gi xp hng ca ngi chi : vng, bc hoc ng
3. Cc yu cu c bit
Khng c.
4. Trng thi hthng khi bt u thc hin Use-case
Ngi dng ang trong giao din chi game
5. Trng thi hthng sau khi thc hin Use-case
H thng vn mn hnh giao din chi game
6. im mrng
Khng c.
2.2.1.3.4. c tUse-case thao tc
1. Tm tt
Ngi chi sdng use-case ny nhn cc thao tc ca ngi chi
2. Cc dng skin
Use-case bt u khi ngi chi khi ng game
Khi nhn nt Play : hthng mgiao din game
Khi nhn nt Xem im : hthng mgiao din xem im
Khi chm mn hnh : ch chim nhy ln
3. Cc yu cu c bit
Pht sinh hot ng ca ngi chi
-
8/10/2019 TM TT OSSEC
15/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 15
4. Trng thi hthng khi bt u thc hin Use-case
Ngi dng ang trong giao din chi game
5. Trng thi hthng sau khi thc hin Use-case
H thng vn mn hnh giao din chi game
6. im mrng
Khng c.
2.2.1.3.5 c tUse-case Lu im
1. Tm tt
Ngi chi sdng use-case ny lu im ca mnh sau lt chi. Nu imcao nht th im cao nht ca tr chi sc thay i
2. Cc dng skin
Use-case bt u khi use-case chi game kt thc
3. Cc yu cu c bit
Khng c.
4. Trng thi hthng khi bt u thc hin Use-case
Ngi dng ang trong giao din chi game
5. Trng thi hthng sau khi thc hin Use-case
H thng vn mn hnh giao din chi game
6. im mrng
Khng c
-
8/10/2019 TM TT OSSEC
16/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 16
2.2.2 Biu hot ng
1. Biu hot ng use-case chi game
Hnh 2.2: Biu hot ng use-case chi game
-
8/10/2019 TM TT OSSEC
17/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 17
2. Biu hot ng use-case Xem im
Hnh 2.3: Biu hot ng use-case Xem im
3. Biu hot ng use-case Thot game
Hnh 2.4 : Biu hot ng Thot game
-
8/10/2019 TM TT OSSEC
18/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 18
2.2.3 Biu lp
Game gm 3 mn hnh :
- Mn hnh Menu
- Mn hnh chi game
- Mn hnh xem im hay mn hnh lc kt thc lt chi
V gm mt si tng :
- Bird : ch chim, nhn vt game
- Pipe: ng khi, chng ngi vt
- Land: mt t, to cm gic mn hnh game dch tphi qua tri
-
8/10/2019 TM TT OSSEC
19/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 19
Hnh 2.5: Biu lp
-
8/10/2019 TM TT OSSEC
20/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 20
CHNG III : XY DNG GAME FLAPPY BIRD
3.1 To 1 Libgdx project
Mn hnh phn mm to Libgdx project
Hnh 3.1: Phn mm to Libgdx project
Chn Create to 1 project
Hnh 3.2 : To 1 project
-
8/10/2019 TM TT OSSEC
21/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 21
Sau khi chn ni lu project, in tn project v chn hiu hnh m project c
thbuild th phn mm sto nhng phn c bn ca 1 project to th mc chn
Vi Libgdx ta c thrun project desktop mt cch nhanh chng
Project android run ln my o avd hoc my tht. i vi mi loi in thoi cn
usb driver
Project html mun chy phi ci thm gwt
3.2 Xy dnggame
3.2.1 LpMyGdxGameLp main
Lp k tha tGame, c nhim v lm im khi u cho game, t chuynqua mn hnh cn vbng phng thc setScreen() v to cc i tng ban u : m
thanh v ti nguyn game ti phng thc onCreate()
3.2.2 Lp config cc thng s ca game
Lp ny lu gicc thng sca game :
- Chiu cao v thi gian khi nhy ln ca nhn vt game
-Khong cc gia 2 ng khi
- Khong thi gian thm 2 ng khi
- Thi gian mt t dch chuyn sang tri
3.2.3 Lp MenuScreen Mn hnh bt u game
Lp mn hnh khi mi bt u game, kthc lp Screen.
V c np cc nh nn, mt t, nh ch Flappy Bird v 2 button chuyn
mn hnh PlayScreen mn hnh chi game ; mn hnh EndScreen mn hnh xem
im
Khi click vo button gi phng thc setScreen() chuyn mn hnh
-
8/10/2019 TM TT OSSEC
22/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 22
3.2.4 Lp MyStage lp x l cc s kin trong game
Lp ny xl skin khi chm vo mn hnh th game pht ra m thanh v nhn
vt game nhy ln cao v thi gian c khai bo trong lp config
3.2.5 Cc lp i tng trong game
1. Mt tLand
Ktha lp Image, lin tc tri vbn tri, c gi khi bt u
2. Nhn vt game: Bird
Tng t nh lp Land, cng ktha Image. Gm
-boolean isDie : cho bit chim sng hay cht
- int score :im con chim t c khi bay qua cc ng
V cc hnh ng :
- p cnh lin tc (nu isDie th dng p cnh) - c gi ngay khi bt u.
- tapMe() : hm thc hin chui hnh ng nhy ln v ri xung - c gi khi
skin "tap" xy ra.
-
hitMe() - hm thc hin cm u xung t v cht - c gi khi ng ngcon chim
- updateScore() - hm cng score ca con chim thm mt im - c gi khi
ng thy con chim bay qua.
3. ng khi: Pipe
Ktha lp Image, khi con chm chm phi ng khi th skt thc tr chi. Nu
khng chm th scng 1 im ngi chi
Gm cc thuc tnh:
- boolean getScore : cho bit con chim bay qua c tnh im cho chim hay
khng)
- Bird bird : con chim m ng skim tra "bay qua" hay "ng vo"
-
8/10/2019 TM TT OSSEC
23/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 23
V hnh ng:
- actionMoveLeft() - tri lin tc v tri (nu vt qu mn hnh th t ng
REMOVE) - c gi ngay trong khi
-bypass() : kim tra v cng im cho con chim - c gi lin tc
Nu getScore true v c chim bay qua th gi hm updateScore() ca chim.
- checkCollision() : kim tra va chm vi chim - c gi lin tc.
Nu c va chm th gi hm hitMe() ca chim.
3.2.6 Lp PlayScreenMn hnh chi game
Lp c gi khi ngi chi nhn nt Play mn hnh bt u game v xlcc skin chnh trong game.
- Np cc i tng khi mi vo mn hnh
- Kim tra nu ch chim cht th chuyn sang mn hnh xem im, nu cha th
thm ng khi
3.2.7 Lp EndScreen Mn hnh xem im
c gi khi ngi chi mun xem im hoc khi kt thc lt chi
- Thm cc i tng ln mn hnh
- Nu im sau lt chi cao hn im cao nht lu th lu li im cao nht
-
8/10/2019 TM TT OSSEC
24/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 24
3.3 Giao din game
Hnh 3.3 : Mn hnh bt u game Hnh 3.4: Mn hnh chun bvo game
Hnh 3.5: Mn hnh chi game Hnh 3.6: Con chim cm u xung t
-
8/10/2019 TM TT OSSEC
25/26
Lp trnh game trn Android sdng LibGdx Engine
SVTH : Sa c Tin Trang 25
Hnh 3.7: Mn hnh xem im
-
8/10/2019 TM TT OSSEC
26/26
Lp trnh game trn Android sdng LibGdx Engine
KT LUN
1. Kt qu t c
Qua qu trnh thc hin n lp trnh game s dng LibGdx Engine vi s
hng dn ca thy Hunh B Diu, em ci t thnh cng game Flappy Bird trn
hiu hnh Android, chy thtrn thit bSamSung SGH-T679 v my o Android
trn my tnh, chy thgame trn my tnh cng n nh. Em cng nm c c sl
thuyt vhiu hnh Android v LibGdx Engine, c thm kinh nghim trong vic p
dng kin thc hc vo thc tv hc hi cng nghmi. n sto tin cho
vic nghin cu pht trin cc game a nn tng sau ny. Sn phm c tha vo
thc t ddng, qua thy c tnh thc t ca ti v mu cho cc hng
nghin cu sdng cng nghmi cho sinh vin vsau.
2. Hng m rng
Game c lm bng nn tng ha 2D c bn, n thun vcc nh c sn ln
mn hnh, ha tt hn nn chuyn qua nn tng OpenGL, c chiu su hnh nh
v chuyn nghip hn, hay c dng pht trin game trong thc t. Khi mrng,
c th thm cc item tng im, to kh cho tr chi, thit kng i phc tp
hn, thit ksinh ng hn.
n c thmrng thm cc chi tit, trau chut li hnh nh tham gia cc
store Android, ngi chi ddng ti vv sdng
3. Hn ch
Hn chln nht l ha game v cc hiu ng chuyn ng cn th s, chuyn
ng con chim cha ging thc t. Thi gian pht trin ngn nn thit kgame cha
c phong ph, mt scode cha ti u tc chy game.