tÓm tẮt ossec

Upload: tran-anh-tu

Post on 02-Jun-2018

228 views

Category:

Documents


0 download

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.