1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu engine đa nền tảng Cocos2D-X và phát triển ứng dụng luyện thi Toeic trên thiết bị Smart phone.PDF

84 2,6K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Rieng trong linh voc cloy nghe, TOEIC Viet Nam phai hqp vai Ttmg coc Dor nghe ay dtmg thi diem lieu chain ye trinh dO sfr dung tieng Anh cho sinh vien nit nghiep hai nginh tin hoc va the

Trang 1

CHUDNG 1 GIOI THICU DV AN

1.1 VII net vi smartphone tai Viet Nam

Cac chuyen gia cola Google cho rang smartphone da trey thanh mOt plan Icheong the thieu trong cuOc song vi hien tai ding dam ra mOt "cuOc cach mpg smartphone" Theo khao sat cola Google, so ngubi dimg smartphone di chiem den 20% din s6 COB Viet Nam 6 thbi diem Ichio sat, tic quf I nam 2013 Nghien dm cola Google cho they 70% s6 ngubi duqc hOi tra lbi h9 si dung smartphone de truy cop Internet, 50% se kung bao gib reri khOi nhi mi khong ceo smartphone trong tay Dieu thy cho thay neu cac doanh nghiep hitt cic sir dung smartphone thich mOt phan cot lOi trong chi& Itrqc cis minh thi sa ket n6i vi tiep

cAn duqc vii ngubi tieu ding mei Simon Kahn, Tting giam d6c Marketing Google chau A Thii Binh Ducmg (Chief Marketing Officer, Asia Pacific) cho bi& smartphone di thay d6i hanh vi ngubi tieu dung Theo khao sat cis Google, ceo den 92% ngubi dimg smartphone

ce the lim nhieu viec cling lice Tai Dien din nap thi Truyen thong CMO Viet Nam nam

2013, doanh nhan cong nghe Bryan Pelz di khimg djnh, sox djch chuyen cia deri sting xi hOi vio Internet vi Mobile II tat yen

Nam 2014, ngubi Viet Nam bit du e6 nhing buoy tien hon trong cong nghe khi tS,

le sir dung smartphone gia tang &mg Ice TS , le din se sir dung smartphone toi Viet Nam di tang len Iron 36%, gin gap dei so yea 20% cilia nam 2013, trong de gi6i tre to 16-24 tu6i chiem hon phan nth (58%), nhOm tu6i trung nien 35-44 tang 14% so v6i nam ngoitili 17% Trong khi tSr le ding may tinh a bin (desktop PC) chi tang gin 5%, (fat 44% din so Una theo bing khao sat, Viet Nam dimg thit 2 tong khu Arc Thing Nam A ve t6c dO dip con tilling cong nghe mOi theo thj truing, chi sau Philippines Trong do, 59% ngubi Viet Nam chi ra ring cong nghe mOi mang den nhieu co hOi cho h9 hon rui ro Nhing con so tang throng lac quan nay den to nhieu yeu t6, trong d6 chi yeu li thai dO lac quan, thich nghi nhanh vii cong nghe mai vi dO phi rung cola smartphone Ben earth de gia thrInh smartphone new cang re Phan khuc smartphone binh din hien rat da clang, gii 2-3 trieu

&gig, um cc hOi cho m9i ngubi, bao gem h9c sinh sinh vier, ser hitu mOt chiec dien thotti thong minh tang mang t4i Viet Nam cG dO phi rOng [dip ngubi ding len inimg de ding Dien Din Hiep HOi Mobile Marketing toi Viet Nam 2014 ngiy 30 thing 10 nam 2014 di dua ra nhUng con s6 thong k8 An urgng vi smartphone tai Viet Nam Trong do: Viet Nam

li thi truing smartphone c6 tec go phat thin I6n thir 2 Chau A vi deng thbi ding la thj truing cry mirc dO ph6 bien smartphone I6n thin 2 6 khu we Bong Nam A;

Trang 2

Vietnam is the second most populated

Hinh 1.1: Mc do phat trien thi Irwin smartphone tai Viet Nam

Hinh 1.2: 7:9 le sti dung smartphone plan theo khu virc thanh thi vet ?Ong then tai Viet

Nam

48.6% smartphone dimg hg dieu hi nh Android vi 19.7% dung hg dieu hanh IOS

Trang 3

Hinh 1.3: Ty 1e smartphone phiin he cli& hanh tai Viet Nam

O mOi lira tu6i, tS/ I sir dung smartphone co str khac biet Ian Trong do cao nhAt la

nh6m tu6i tir 15 den 29 tu6i Co 56,5% ngtrai trong dO Mei 20 — 24 tu6i dang so hftu

Qua nhcmg con s6 va th6ng ke tren day, co the thAy thi traang smartphone tai Viet

Nam dang co stir tang truemg an Ming Nh(tng ngutri tre tu6i chiem cao nhat trong s6

Trang 4

nhOng ngtrai se hau smartphone Day cOng la Whom dal ttrqng c6 nhu c.Au 16n nhat lie hqc t#p va tich lily Icien that phoc vo cho cong viec, cho cic nhu au a nhan Doa tren nhttng

ca se d6, hoan toan c,6 tient &Mg de phit then de ling dung hqc top tren smartphone 1.2 Tim quan trong cost TOEIC

Trong nOi dung Inc tieng Anh ce the tom chia lim hai loci• Anh ngft hqc thu$t (dung

de xin hoc bang, du hqc ) va Anh net giao tikp (sir dung thtrimg ngay, phoc vo cho nhu

au tong viec ) NM ming hqc thutt la din truing cim hai loci chimg chi TOEFL (colt Vien Kiem djnh giio doc Hoa Kjr) va IELTS (cart DH Cambridge — Anh), thi ming giao

tiep chimg chi TOEIC dang dOc chiem so cOng thin cim tin throng sir (long lao dung the gi6i

TOEIC (cOng cart Vien Kiem djnh giio doc Hoa K5' cep) kh8ng yeu ciu qui cao lie cic kien thin, ma chi can ngutri hqc dat duce muc dick sir dung tiling Anh TOEIC da tra thanh *it trong nhttng chuong trinh kiem tra Anh net quick to duqc nhieu nguai biet din Han 70 tong cOng ty, c8ng ty, cic to chirc trong nuOc va nuOc ngoiti hoot &Ong t in Viet Nam di sir clung TOEIC nhu mOt lieu chart bat buOc trong cOng tic lieu chain hea vi tuyen dung cin 1)0 nhu: Samsung, LG, FPT, Nein hang Sii Gen Thuong tin, Vietnam Airlines Rieng trong linh voc cloy nghe, TOEIC Viet Nam phai hqp vai Ttmg coc Dor nghe )(ay dtmg thi diem lieu chain ye trinh dO sfr dung tieng Anh cho sinh vien nit nghiep hai nginh tin hoc va then dr 6 twang cao ding Icy thurit Ngorli ra, mOt do an turn to gifts TOEIC Viet Nam phei hqp voi BO GD-DT vi Tang clic Du ljch nhim dinh gii vi xly thing tieu chuin trinh dO sir dung tieng Anh thong qua chuong trinh chuttn TOEIC cling ducat trien khai

Diem TOEIC duqc tit ca cic ca quan nhi nuac, t6 chin queic te, doanh nghiep nuOc ngoai va cic Sp doin kinh to curt Viet Nam Gang nh#n nhim &nit gii trinh do ding Anh cim than so vai to cich la mOt thtrac do chain va ding tin coy nhat

1.3 GM thiln ling dung luyin thi TOEIC train smartphone

1.3.1 Gidi Mien an dyng

"Luyen thi TOEIC tren smartphone" II ling dung luyen thi ding Anh tren dies thooi c6 bao g6m day dit cic bai on tip vi de thi min theo ciu trac mOt de thi TOEIC tieu chat Ong cluing duqc thiet Ice veri lieu chi nho gcm, a sir dung

Ng clung duqc 18p trinh bang engine Cocos2d-X, li 1 engine ha trq lip trinh Game

da nen tang: Mobile (I05, ANDROID, Blackberry, TIZEN, WP) Window, MacOS, HTML5 la 1 engine duqc dinh gii khi moth, da phit triers nhieu Game nam TOP cart

Trang 5

Appstore, CHPlay Uu diem chi tiet ciut Cocos2d-X duqc trinh bay tai chuung 2 tea Ithea

14n

Cocos2d-X la m0 engine mien phi, von Cocos2d-X tic gia c6 the )(ay dyng mOt img dyng luyen thi TOEIC WA uu diem vuqt trOi:

—Dung lucmg thip (thip nhit c6 the la 1.5MB), khong drai hOi phien ban phin mem

di dOng qua cao Dieu nay se giep ngubi sir dyng c6 the cii at ung dyng ma thong can qua lo ling ve hi) nhe hay du hinh cea dien thoai

—Ong dung chay da nen tang, vier code mOt lin, chay duqc cho nhieu h'e thin khic nhau NM de, tac gia till kiem &gm thin gian, chi phi va tang hien qua sir dyng vi twang thich von nhieu he dieu hanh khic nhau, c6 the chay tren nhieu ding smartphone

Tir d6, tac gia mong muOn se dui ra sin phim luyen thi TOEIC tat nhit tren smartphone v6i chi phi va nguOn lyc thip nhit

L3.2 Lai tech cda sing dyng luyen thi TOEIC trim smartphone

Huang dao to thyc dyng nhu TOEIC c6 thin gian tnmg birth de c6 the thi lay chimg chi la khoitng 18 twin cho den 2 nilm, phi thuOc vac fling lyc ngubi lye, mac diem muc tieu vi 300400 diem di duqc xem la "pass — dat" cho den 990 diem Ong dung luyen thi TOEIC tren smartphone se la Ong cu hem fch cho ngubi hoc vi nheng uu diem sau day:

—De se' dung, tiet kiem then gian va chi phi

Vi qua tranh luyen thi duqc thyc hien qua dien thoai, nen tiet kiem duqc nhUng khans; thin gian ma ngubi hqc phii lieu ten khi di chuyen den trung Ulm va di vi Nhiiu ngubi can mat nhieu thin gian hcm de di den cac trtmg tam nim 6 xa Nguiri sir dung c6 the chit dOng sip xep hoc tranh the thing khoang thei gian ninh n6i trong ngiy de hqc t$p Ong dung

duqc cii chit tren dien thoai, lien dung va kherng did Uri qua nhieu ve mot khong gian vi thin gian deti von ngubi sir dyng

—Tinh ling dung va linh hot

Luyen thi TOEIC chi bao gem do ky Wing nghe hien vi dqc hieu, rat phi hqp tan khai tren smartphone Thyc to ngubi hoe thubng copy cite bai nghe Tieng Anh vac dien thoai de c6 the sir dung 6 mqi ncri, thong phi thuOc vito may tinh hay internet, sach v6 Vin (mg dyng luyen thi TOEIC, ngubi hqc holm town cit the chi can sir dung chiic dien thogi nhu mOt giao tranh he top hien qua

Trang 6

Ngoii ra, tinh img dung vi linh host con the hien 6 mi diem khi nguiri dung co the Wen thi ma khong can mang quit nhieu Si lieu theo nguei CM vii chiec dien thoai nhe gqn, ngtrei sir dung co the bit dill bid hgc 6 mgi dja diem vi thin gian, khong bj phu thuOc theo met then khoa bieu cg the Tinh linh hog con the hien 6 fir djnh hues% vi fir dieu chinh

— Txr djnh hueng vi dieu chinh

Trong qui trinh luyen tip, nimbi dung co the fir djnh huUng cho minh, Ming cich chgn khea bee ph4 hqp nhit d6i viii trinh dO, so thich, mix tieu cua bin than, dieu ray khic phuc dugc cic han the khi luyen thi 6 the lap hgc vi thing tam khi trinh dO hgc vien khong ding deu Nprei hgc cOng chi dOng fir dieu chinh nhjp dieu khea hgc cho minh, ngbia li co the hgc chin hay nhanh do thin gian minh ty sip xep hay do khi thing tiep thu Iden thirc ala mirth

Trang 7

CHUCING 2 COCOS2D-X ENGINE

2.1 Gild thilu ve Cocos2d-X

2.1.1 Sir ra 141 cda Cocos2d-X vd lick sir ph& trim

Thing 2 nlim 2008, tai thj tan "Los Cocos" gin Cordoba ar Argentina, Ricardo Quesada, met nha phit trien trO chai da tao ra met ding cu tr6 chai 2D cong vei nhom coa mInh Ho at ten cho no la "Los Cocos" MOt thing sau, thorn phit hanh phien ban 0.1 va dOi ten thanh "Cocos2d"

Thing 11 Sim 2010, mot nhOm nha phit trien tfr Trung ()MSc la Walzer Wang, Minggo Zhang, James Chen va cOng su tfr ChuKong Technologies da phit trien Cocos2d-

X din teen Cocos2d ChuKong Technologies la tong ty hang diu ve nen tang, giai tri di dOng, vOi dei ngii hon 800 nhan vien, ngculi tru sir chinh tai Bic Kinh, Chu Kong cling c6 van pheng tai Menlo Park (USA), Tokyo (Japan), Seoul (Korea), va Taipei (Taiwan) Cocos2d-X la mot cong cu ma nguen m6 theo gay pile') MIT MIT la loci gay ph6p sir dung cho ctic phtm mem, cic ma ngu6n mer dirqc phit trien dtra ten' met loci gitty phop

co ngtilin &tic tai Vien Ding nghe Massachusetts (Mn')

Minh 2.1: Mo hinh phdt trier Cocos2d - X

Trang 8

Cocos2d-X xuit xir to g6c li Cocos2d, engine game 2D viet tren Python, tuy nhien

da duqc vOn chuyen sang rat nhilu neon nip khk, thu het nhieu ngtrai sir dung tren the gi6i, nhieu nhit li ban Cocos2d-X danh cho iOS Cocos2d-X 11 ban port duqc vier bing C-FE, thay vi Objective-C nhu bin g6c, nut de ma nguei lop trinh c6 the xay dung game tren nhieu he may chi bling 1 lin code, cic he may bao gam Windows, Linux, Mac, iOS va Android Cocos2d-X di chiem duqc su ling hO 16n trong giai game developer to khi phat

hanh Cocos2d-X c6 the ducrc sir dung di xay dung the Ire chai, ling dung vi c.ac chuang trinh tuang tic dtra tren nen tang giao dies khic nhau Cocos2d-X la engine duqc se dung rung rai tren town the gi6i, v6i hart 400.000 nhi phit trien, bao gam cit cac nhit phat tan ctia the tr6 chai ding Top 10 ten the store 16n Whit the giai nhu AppStore, GooglePlay Store

Ngay nay, nhieu nguai Cocos2d-X trong cac tr6 chcri thong tri bang xep hang Top doanh thu eta AppStore vi Google Play, &lc biet la 6 Trung Quec, Han Quec vi Nhot Bin

Ck Icy su to Chukong, Google, Microsoft, ARM, Intel vi BlackBerry dang tich cue them gia xay dung along ding Cocos2d-X Nhitng ten Si 16n nhu Zynga, Wooga, Glu, IGG, Big Fish Games, Fingersoft, Gamevil, GREE, DeNA, Konami, CT E & M, MIN, LINE, Square Enix, a sir dung Cocos2d-X de phat trien tr6 chai cult hq

Tom tit Lich sty ph& thin cim Cocos2d-X:

—Nam 2010: Thing 7 nam 2010, du an Cocos2d-X duqc din ra vi den thing 11 duqc phit birth phien ban 0.7.0

—Nam 2011:

+ Thing 1 nam 2011, Cocos2d-X phien bin chinh thirc du tien duqc ph& hanh + Thing 2 nam 2011, tro chai FishingJoy duqc ported tren Android

+ Thing 10 nam 2011, thiet lop plan mem Coco, du to bOi Chukong

+ Thing 11 nam 2011, chiem vi tri thin 1 va thir 2 tr6 chai Appstore

—Nam 2012:

+ Thing 3 nam 2012, ra mit Cocos2d-html5

+ Thing 5 nam 2012, phat hanh v2.0 Cocos2d-X

+ Than 6 nam 2012, Ichai dung Cocos Studio

+ Than 9 nam 2012, Cocos2d-X chiem 6 trong se 10 tr6 chai hang dAu co doanh thu cao nhAt a Trung Quec

Trang 9

—Nim 2013:

+ Thing 1 nim 2013, Cocos2d-X chiem 7 trong s610 tr6 chai hang dau c6 doanh thu cao !that Trung Quec, 5 vi tri himg diu cho ci iPhone vi Wad

+ Thin 3 ram 2013, sich Cocos2d-X duct mat bin

+ Thing 4 nim 2013, game c6 doanh thu cao nhat tai Him Queic Google Play Store phit trier tir Cocos2d-X

+ Thing 10 nim 2013, tic gii cua Cocos2d-iphone gia nhop Chukong

+ Thing 11 nim 2013, Cocos2d-X chiem 9 tren 10 vi tri hang diu trip chai ce doanh thu cao nit& tai Hin Qua& Google Play Store

—Nim 2014:

+ Thing 3 nam 2014, Cocos2d-X chi& 4 trong 11 vi tri hang du trong de trip chai c6 doanh thu cao nhit WeChat

2.1.2 Tgi sao igi ding Cocos2d-X

2.1.2.1 Liu diim cua Cocos2d-X

—Cocos2d-X la mOt engine da nen tang

Day li mOt lqi the rat len cos Cocos2d-X khi mi game lim ra az.) the chay tren cic nen Ling !chic nhau nhu Linux, Mac, Windows 8, Android, iOS, Windows Phone 8, BlackBerry hay ci HTML5 biet, t$p trung vio ba nen tang di dOng ph6 bien da to nen sat hap din cua engine nay khi ma thi phin tic thiet bi di dOng dan dang chiem linh may tinh ci nhan

Hien tai, Cocos2d-X ha trq tic nhi phit trien game tren tic nem nga nhu C++, Javascript vi Lua tren tic Ong cu 1#p trinh ph6 Bien vi dy nhu Xcode, Visual Studio, ho#c Eclipse Deng thbi no cho phip tic nhi phit tan game tren tic he dieu hanh khic nhau

vi chuyin sang tic nen tang khic khOng may kW khan Chinh viec h6 trq the nen ting cho

PC phuc At qui trinh xiy citing game, vsl khi Wing build cho 3 nen ling di dOng ph6 bien 'that dA to nen sot hip din c6a Cocos2d-X

—Chi tiet cic nen tin h6 trq:

+ iOS 5.0 trh len cho tic trip chai iPhone / iPad

+ Android 2.3 tra len cho tic fro chai Android

+ Windows Phone 8 fro len cho tic fro chili WP

+ OS X v10.6 tra len cho tic trip chili Mac

Trang 10

+ Windows 7 tro len cho cac tr6 chai may tinh Windows

—La met enine ma nguan ma

Cocos2d-X hoan toan open source, ngutri sfr ding co the lam bit IcY dieu gi yeti code tha no, vi cling co the deng gop vao framework neu de giup Cocos2d-X phat trien hem Cocos2d-X dugc xay dung hoan town bai cong deng phat then game, hoan Wan mien phi, luen luon duce chinh sfra, phat trien, tom be ma nguan caa Cocos2d-X c6 the tai tren trang chu cita Cocos2d-X

—Cocos2d-X la met engine c6 hieu suit cao

Vai nen tang chit yeu huang den cac thiet bj di deng, day la yeu t6 hang dan ma met Engine di deng can phai dam boo, vi thiet bj di dOng co rat nhieu can hinh khac nhau Duce xay dung tren nen tang d6 hoa OpenGL va ngon ngft lap trinh Javascript, Lua, nen Cocos2d-X co hieu suit kha cao, chay dirge tren ca nhCmg thiet bj ciu hinh rat thap cua Android Dac biet dung lugng khi xuit file cai dot cho cac nen tang kha gen nhg so veri mat bang chung cua cac Engine khk Tren the nen tang di deng, Cocos2d-X td r3 lqi the cult minh von de ttrcmg thich cao cho: Android, iOs, Windows Phone 8 Val cac nen tang nay, game, ling dung yeti khoi hrgng a hoa don trung birth, chay tren ciu hinh di dOng tam trung hien nay, c6 the dot dirge 60FPS — met con se kha cao ma nhieu engine khic kh6 c6 the dot &we

—Da dirge kiem thing ben cOng dong

Tinh den thtri diem hien tai, co hang tram nghln game da dirge phat trien doa tren nen tang Cocos2d-X trong de c6 nhung game n6i bat nhu Diamond Dash, Fishing Joy 25% game 2D tren store ctia AppStore va Google Play Store sir dung Cocos2d-X Hien tai, Viet Nam, kha nhieu thong ty cling dang sir dung engine nay trong do c6 nhieu ding ty nhu GSN, Egame, Afoli

—Nhieu cong co h6 trq

+ Engine vat ly: hai Engine thuong sir ding trong Cocos2d-X de me pheng cac

quy the vat ly trong game la Chipmunk va Box2D Khi nhac den Box2D chung

to Idiong the nito kh8ng nhic den Angry Brids, Box2D cling deng thei cung cap cac ham vat IY lien quan den gia t6c, t6c dO, trcong loc coa tn& d6i tugng de ngtrei chai c6 cam giac giOng vii thus to nhit co the Con Chipmunk mac dit mei dirge phat trien Al day nhung ve tinh 'tang cling khong thua kern gi so voi Box2D

Trang 11

+ Texture Packer: c8ng co gifip gom nhieu Anti thanh min anti gOp phan lam tAng hieu nang cho game vi thief 131 khong an xir 19 nhieu anh

+ Sprite Helper: to cac animation (chuyen dOng) cho Sprite, tit dOng sinh code cluing to chi can lam viec tren giao dien troc quan

+ Titled Map Editor: Too ban do (man chap cho game

2.1.2.2 So sanh Cocos2d - X yeti cac engine khcic

CO nhieu engineer lap trinh game di (long thong dung nhu Cocos2d-X, Libgdx, Unity 3D, Andengine Ta co bang so sanh dac diem dm cac engine nhu sau:

STT Tlnh nang Cocos2d-X Libgda Unity 3D Andengine

2D, 3D 2D va 3D

nhung chi yeu la 3D

Javascript va Boo

Khong co thong tin

TM lieu h6

trt7

Day dit nhung khong co h6 trq

Rat day du v6i Javadoc

Day del, co video huang (fan, co litI trq

Kh8ng co tai lieu co the

Bang 2.1: So sanh gifra Cocos2d - X vet cac engine khcic

Trang 12

Dpa tren bang so sanh cho thay, Cocos2d-X kh8ng phai la cong cu duy [that va tot nhat, tuy nhien day la cong cp phi) hqp nhat veri dp an dm tac gia a thOri diem hien tai Cocos2d-X c6 lqi the ve chi phi, neon nga lip trinh, dung luqng xuat file thap va tang th&i

ho trq da nen tang Mac do khong c6 ho trq tir phia nha cung cap nhung nhiing thong tin ve Cocos2d-X duqc cong clang chia se kha day dir, c6 nhieu tai lieu tieng Anh de tham khao

Vi vay tac gia quyet dinh kra chqn Cocos2d-X la engine de thpc hien dp an

2.2 Kiel' frac tang quan vi m8i trterng lim vi4c

2.2.1 Ca cJu ti char this- mite

I jc cocos2dx 11/211/201.3 1011 File folder

CocosDenshion 11/28/2013 10:11 - File folder

document 11/28/2013 1011 File folder

k &tensions 11/28/2013 1012 File folder

k eternal 11/28/20131012 File folder

la licenses 11/28/20131012 File folder

ji Plu9in 11/28/20131012 File folder

ja samples 11/28/20131012 File folder

saiPtift9 11/28/20131012 File folder

5 template 11/28/2013 1012 File folder

5 tools 11/28/20131012 File folder

•Riciftre 9/26/7913 913 AM Text Document 3 KB

.gitmodules 9/26/2013 913 AM Ted Document 1KB

cocos2d•win32.vc2010.sln 9/26/20131041 AM Microsoft Visual S 13 KB

cocos2d-win32.vc2012.sln 9/26/201310:41 AM Microsoft Visual S 13 KB

cocos2d-wind.vc2012.sln 9/26/2013 913 AM Microsoft Visual S 18 KB

cocos2d-wp8.vc2012-sln 9/26/2013 9.13 AM Microsoft Visual S 16 KB

Hinh 2.2: NO1 dung tep tin IDE sau khi gidi nen

Trang 13

Chita cac dv an miu

A (a5 2 thirvien Vat l chtnh

-X la Box2d va Chipmunk), cac this

Bang 2.2: Co clu to chirc this myc trong Cocos2d-X

2.2.2 Kiln tree Cocos2d-X engine

Chose this Wen,

Hinh 2.3: Kiln frac Cocos2d-X

Cocos2d-X dirge chia thanh 3 tang chInh: Ting ting dung, tang this vien va tang he

dieu hAnh

a TAng img dung: la tang china cac (mg dung dirqc phat trien bed IAp trinh vien, cac nhi

phit trien phAn mem Ngoli met s6 (mg dung duqc Android tich hqp sin nhu email,

Trang 14

SMS, trinh duyet web, danh be thi ngutri dimg ci the a ding cli dat them cac 1mg

dung tit Google Play hay cac chq (mg dung khk

b Tang thu vien: Day la not chin cac 1)0 cac thu vien xay dung nen cac chile nAng chinh

cia Cocos2d-X Trong tang nay duqc chia thanh 4 nh6m chinh:

—Graphics: chin thu vin do hoa M6i mat khung hinh, Cocos2d-X se ve lai anh len

man hinh bang OpenGL (d6i v6i windows) hok OpenGLSurface — phien ban thu

nh6 cua OpenGL giip giam mirc dO tieu hao ning Itrong va tang hieu nang cho

thiat bi smartphone (tren thiet 1)1 smartphone)

—Audio: Thu vien ma rang ding de thuc thi cac rep tin am thanh c6 djnh clang *.mp3

—Physic: chin thu vien vat ly Cocos2d-X sir dung 2 thu vien vat ly chinh la

box2D(dtrot phat trim ben Erin Catto — Tien si Toan hoc IY thuyet vi img dung —

Dai hoc Cornell New York) va Chipmunk (duqc phat trim beri Scott Lembcke)

—Scripting: Thu vien ding de bien djch cac tap tin javascript

c Tang ha dieu hinh: la tang ducx viet rieng cho mai h0 dieu hanh nhu iOS, Android,

WindowPhone 8

2.2.3 Midi truing lam vile

i=br> WinS2 Application

'.exe Visual Studlo 2012

*.apk

tac

lOS Applicaiton '.ipa

Hinh 2.4: Moi twang lam viec

Trang 15

2.2.3.1 Ngon ngu lap trinh

Ng& nga lap trinh chinh thirc cua Cocos2d-X la Tuy nhien de chay dugc tren cac he dieu hanh khac nhau, lap trinh vien phai bien dich Lai ma ngut‘in ting yeti nen tang ttrcmg img Cu the nhu sau:

—De img dung c6 the chay dirge tren he dieu hinh Android, sau khi xay dung ma ngu6n lap trinh vien sir dung trinh bien dich G++ phien ban dac biet do Google phat trien dinh cho Android NDK (Android NDK la ding cu cho phdp Iap trinh vien phat trien mOt phan img dung cda minh th8ng qua native code) de bien dich chay rieng cho nen tang Android Do G++ bien dich ten mid twang nao se xay dung tap tin tucmg *fig cho nen tang dO, vay nen de xay dirng tep tin *.APK cho cac may chay Android lap trinh vien phai sir dung mid truerng Cywin gia lap Linux tren Window

—Doi vai cac thiet bi chay tren he dieu hanh LOS, sau !chi xay dung ma ngu6n, lap trinh vien sir dung mai trutmg phat trien Xcode tren MacOX bien dich sinh ra tap tin *.IPA cho may chay he dieu hanh IOS

2.2.3.2 Java Native Interface

a Dinh nghia: JNI (Java Native Interface) la mOt framework cho phip ggi cac Mm Java trong Java Virtural Machine (JVM) tir cac nem ngt1cAp thap nhu C, C++ hay assembly

Do Cocos2d-X sir dung C++, nen de ggi cac ham native dm Java (cu the la Android) to can phai gqi thong qua JNI

b Cach thirc host &Ong:

—Trong JNI, cac ham a tang native dugc djnh nghia trong tep tin *.c hoac*.cpp rieng

brat Dac biet, did tied nen ngt/ C++ thi JNI cung cap mOt giao dien Wang diM don

gian Khi may ao Java (NM) ggi ham, JNI se girl mOt con to JNIEnv va mOt d6i tugng jobject, va bAt ki doi so nio nhung phai theo chuAn cita Java Vi du:

JNIEXPORT void JNICALL Java ClassName MethodName

(JNIEnv *env, jobject obj)

/*Implement Native Method Here*/

+ Trong da ClassName vi MethodName la ten lap va ten phuong tittle ttrcmg img

dugc khai bac) a ten tin *.c ho4c *.cpp

Trang 16

+ Con tr6 *env li met con tr6 struct JNIEnv c6 china cac giao dien tai may ao Java (JVM) N6 bao gem cac chirc nang can thiet de tucmg tic vai JVM vi lim viec veri the dei hrgng trong Java Vi du nhu the ham truyen gia tri kieu mang trong Native sang gia trj kieu ming trong Java hoic truyen gia trj kieu chuoi, del Wang cling nhu thong bao the ngoai le (exceptions) ye ca bin Java co the thuc hien mei ma ngutm tin tang Native thong qua viec sir dung JNEnv

+ Doi se obj la met tham chieu den cac dei tueng trong Java ma da duce khai bio trong tang Native

+ Vi du truyen met gii trj kieu chulii (string) tir Java sang tang Native (C++)

//C++ code

extern "C"

JNIEXPORT void JNICALL Java ClassName MethodName

(JNIEnv *env, jobject obj, jstring javaString)

//Get the native string from javaString

const char *nativeString = env -> GetStringUTFChars(javaString, 0);

//Do something with the nativeString

//DON'T FORGET THIS LINE!!!

env->ReleaseStringUTFChars(javaString, nativeString);

— De bien dich ma nguen da viet bang C++ sang Java sinh ra file *.APK dung cho thief bj chay hg lieu hinh Android, lap trinh vien can viet lui duang dan tai cac tep

tin ma ngutm (*.h) trong tep tin "Android.mk" Sau do sir dung trinh bien djch

V* ten mei twang Linux de bien dich lai town be ma nguen co trong tep ten

"Android.mk"

Trang 17

c Anh xa kieu du Ru glita Java va Native

signed 32 bits

void

signed 8 bits qnsigned 16 bits

Bang 2.3 Bang anh xa kieu diet lieu eta Java va Native code

Ngoii ra, signature "L fully-qualified-class ;" c6 nghia cac 16p xac dinh duy nhAt bai ten dm 16p do Vi di: "Ljava/lang/String;" tham chieu trti lop java.lang.String amg

nhukY to "[" duqc ding de xac dinh cho kieu ming

Luu Anh xa kieu du lieu String vi ming trong Java sang kieu der lieu String vi ming trong Native code li khac nhau Neu nhu khong kiem soat tot, chuong With se bi 16i nghiem thing (CRASH)

2.2.4 Mit si lap dii tuvng thitang duvc mi dung

Trang 18

Tra ve kich that man hinh that id

Lay ra Scene mai cling trong stack

+ void pushScene(CCScene *scene):

flea mot Scene vao stack

+ void replaceScene(CCScene *scene):

Thay Scene hien tat bang mot Scene Vick

Dtra vao 3 phuong [hire tren: to c6 the giii quyet duqc bai town da man hinh tren ck thiet bj smartphone

Trang 19

catansmonFod•lt I Celtan bonFadeup

2.2.4.2 CCNode

Hinh 2.5: Ccic del tuvng duvc ke t thica tic CCNode

—Dinh nghia: CCNode la mOt d6i tucmg c6 cac yeu to chink Bet ke mot d6i ttnyng nao dirqc kheri tao deu c6 kieu di lieu la CCNode CCNode Muting la: CCScene, CCLayer, CCMenu, CCSprite, CCLabel

—Cac phucmg that chinh:

+ static CCNode * create(void);

nghia: Kheri tgo mot dal tuvng CCNode

+ virtual void addChild(CCNode* child);

Y nghia: them mot del tuvng CCNode Mute vim trong doi tuimg CCNode nay

+ virtual void removeChild(CCNode* child);

Y nghia: xon mat dal &Ting CCNode ni m trong CCNode nay

+ virtual void onEnter();

Trang 20

nghia: Ham nil)", en; kien khi no &cc addChild

+ virtual void onExit();

nghia: Ham nib', sit kien khi no hi removeChild

+ virtual CCNode * getChildByTag(int tag);

nghia: Trci ve mat CCNode có tag bcing vol tham so truyEn vao

+ virtual CCArray* getChildren();

nghia: Tra ve wan bo CCNode cluvc addChild tren CCNode nay

+ void schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay);

t nghra: Tao ra mot lich

o Tham selector: him xir ly lich

o Interval: thai gian 1Rp lai lich

o Repeat: s6 lan lop lich Sir dung kCCRepeatForever neu mulm lich chay mAi mai

o Delay: thbi gian tee

+ void unschedule(SEL_SCHEDULE selector);

nglita: Hay lich

2.2.4.3 CCScene

—Dinh nghia: La mOt doi tirang hoat dOng dOc trong chu trinh img dung MOt ang dung c6 the c6 ?At nhieu Scene nhung trong mOt thei diem nhit djnh chi c6 mOt Scene dugc hoat dOng MRc du la d6i tugng dirge ke thira tir CCNode thy nhien CCScene la mOt doi twang dRc biet CCScene chi nap cheing lai duy nhAt phuang thac create() ngoli ra kh8ng nap ching lai bit ke phucmg thirc nao

2.2.4.4 CCSprite

—Dinh nglaa: CCSprite trong Cocos2d-X cling gitmg nhu Sprite trong cac engine khac NO la mOt hinh anh 2D co the xoay, di chuyen, thay dOi kich thu6c, tao cac animation vi thuc hien cac phep Bien deti khac Do CCSprite dirge ke thira tir CCNode nen n6 dirqc thira huang toan b0 tinh chit ma CCNode cho phip nhu addChild, removeChild, scheduler

—Cac phucmg that chinh

Trang 21

nglaa: No co the khol tgo cling voi mOt hinh anh 2D hock 1 phan hinh chit nlgit

trong mot hinh anh ban &lit

+ virtual void setDisplayFratneWithAnimationName(const char animationName,

int framelndex);

nglifa: claw sit dung de tgo chugi anh ding animation

+ void setFlipX(bool bFlipX); va void setFlipX(bool bFlipX);

Y nghia: kit anh theo tryc X hoac tryc Y

+ virtual void setScale(float fScale);

Y nghta: keo gidn hinh anh theo mOt ti l'e ificale Hinh anh ban clau co ti le la 1

22.4.5 CCScale9Sprite

— Dinh nghia: CCScale9Sprite giting nhu viec tao mot hinh anh "Nine patch" tren

android VOy anh "Nine patch" la gi?

Anh "Nine patch" IA anh ma ce mot so yang duqc dinh nghia (defined) ce the keo

cang ra (stretchable) ma khong bi va hat Vimg dinh nghia limOt lueri (grid) c6 kich thuerc

3 x 3 de dam bao rang viec keo dan hinh anh khong bi ver

Hinh 2.6: Hinh anh mink hpa "Nine patch"

Wing (firth nghia c6 the keo can 11 mot du6ng bao mau den c6 dO day 1 px, nim

vien ngoai cling dm anh Le ben phai va day gqi IA Fill Area, c6 the bleu dieu nay nhu la

ban ce 1 sqi day chun, ban co dinh mOt dAu vi keo dan dAu con lai Le ben tren va ben trig

tty thuOc vao ban chAm ve diem den nhu the nao ma yang anh de se duqc kto dan

Trang 22

Vay tai sao can sir dung dan CCScale9Sprite?

Nhu da noi a ten, anh "Nine patch" co the keo dan ma khong bi vet hat Dieu nay glop giam dung lugng tai nguyen cling nhu dung lugng de tau trir hint' kill teen b() nha RAM

—Cac phucmg that chinh

+ virtual void setPreferredSize (CCSize size);

f nghia: Cal tat kich thwerc del ming can dat den Mdc dinh being kich think ban dau ctia /fifth anh

+ virtual void setCapinsets (CCRect value);

+ virtual void setInsetLeft (float value);

+ virtual void -setInsetTop (float value);

+ virtual void setInsetRight (float value);

+ virtual void setInsetBottom (float value);

k nghia: Nhu dd giai thief' a Men V'ung dinh nghia lit mOt hied c6 kich thy& 3x3 phtrang thav men gitip chang to quy dinh Wing can keo dein

2.2.4.6 CCLayer

—Dinh nghia: CCLayer la mOt d6i tugng dugc hieu nhu mOt CCNode Tuy ninon CCLayer cho phep zit ly cac sg kian touch cling nhu cam bin Accelerometer ten cac thiet bi smartphone

—Cac phucmg thac chinh:

+ virtual void setTouchEnabled(bool value);

Y nghia: Cal dat touch ca &tor sir dyng men layer nay hay khcing

+ virtual void setTouchMode(ccTouchesMode mode);

ngliTa: cal tett chez dO touch la clan touch hay da touch

+ virtual void setTouchPriority(int priority);

Y nghia: Cal dat mar dO touch uu lien Do mat Scene ca thi chira nhieu CCLayer, dieu nay ca thi gay anh Throng din viec khi to touch veto mOt doi tuemg thuOc Layer nay nhung cling ca thi no gay anh Song tai layer khcic Vic setTouchPriority la can thik de r

trcinh viec xung dqt do

+ virtual void setAccelerometerEnabled(bool value);

Trang 23

Y nglita: Chi d'at su dung Accelerometer

+ virtual void onEnter();

tnglaa: Nhu del not u tren, CCLayer &cc ki that: lei to CCNode viz co them mOt

so tinh ming mat nen phirang thac onEnter0 dirge ngp chOng lqi de cai *flat arc tinh ruing tren

+ virtual void onExit();

nglea: Cling nhir phuang thac onEnter0, phuvng thlic onExit duac nap cluing lgi di )(Oa bo cac cai tat cac tinh niing dQc biit

2.2.4.7 Label

—Dinh nghTa: Label la met kieu dU lieu dimg de kheri tao met doan van ban hien thi len man hinh CO hai kieu Label thubng dtrqc sir dung la CCLabeITTF va CCLabelBMFont

+ CCLabeITTF: Sir dung font *.ttf (TrueTypeFont)

o Uu diem: CO the toy chinh kich thirem ma khong sq ver anh

o Nhuqc diem: RAI chum khi gen vao chuyen deng

+ CCLabeIBMF ont: Sir dung file anh va file djnh dung *.fnt de the hien chn

o Liu diem: C6 tec de nhanh khi thuc hien cac animation, mau sic dep do duqc xuAt to file anh

o Nhuqc diem: CM c6 met kich thuerc theo file anh, viec pheing to thu the, c6 the gay vat anh

—Cac phircmg thirc chinh:

+ virtual void setString(const char *label);

nghia: thay doi n5i dung dogn van ban dil duTrc khiri 4w truac do being dogn van ban khac

+ virtual void setColor(const ccColor3B& color);

nghia: thay dei mau sac dogn van ban

+ virtual void setOpacity(GLubyte opacity) = 0;

Y nghia: thay dot dQ trong suit czia van ban

+ void setFontName(const char *fontName); vi void setFntFile(const char* fntFile);

Trang 24

Y nghia: thay dor font chit dang sir dung trong van ban

+ void setFontSize(float fontSize)

nghia: thay dot kich thwerc font chit trong van ban Chi c6 trong CCLabeITTF

+ void setDimensions(const CCSize &dim);

nghia: thay doi kich thwor khung Min tht van ban Chi c6 trong CCLabeITTF

+ virtual void setWidth(float width);

nghia: may dal do r Ong khung hien thi van ban Chi c6 trong CCLabellThifont

+ void setVerticalAligrunent(CCVerticalTextAlignment verticalAlignment);

k neat,: thay dOi can le theo chiiu dgc Chi c6 trong CCLabeITTF

+ void setHorizontalAlignment(CCTextAlignment alignment);

nghia.: thay dor can le theo chidu ngang

2.2.4.8 CCMenu

—Dinh nghia: CCMenu la mot doi ttrqng dimg a chfra cac button Button trong Cocos2d-X c6 kiln dU lieu la CCMenultem duqc k'e thira tit CCMenu CO 2 loai CCMenultem thuang dime sir citing la CCMenultemSprite va CCMenultemLabel

d CCMenultemSprite: duqc ke thira dr CCMenultem Day la met kieu button duqc the hien bang Sprite

e CCMenultemLabel: duqc ke Mira tir CCMenultem Day le kieu button duqc the hien bang down van ban

—Cac phucmg tittle chinh:

+ static CCMenuItetnLabel * create(CCNode*label, CCObject* target, SEL MenuHandler selector);

k nglifa: khol tgo button kiiu dogn van ban

o Label: la down van ban hien thj tren button

o Target: mvc tieu trO den cita dOi film

o Selector: ham xi: ly stir kin khi touch vio button

+ Static CCMenultemSprite *create(CCNode* normalSprite, CCNode* selectedSprite, CCNode* disabledSprite, CCObject* target, SEL_MenuHandler selector);

neat,: kh6i tgo button kilu hinh tinh

Trang 25

o normalSprite: Hinh anh a tong thai binh thirerng

o selectedSprite: hinh anti 6 tong thai khi dang touch

o disabledSprite: hinh anh a tong thai khi bi v8 hieu h6a

+ virtual void setEnabled(bool value);

t nghia: cho phip button hogt tong hoc bi vo hleu Ma

2.2.4.9 CCAction

— Dinh CCAction la lap ca ban cho cac doi ttrqng action Cac del turqng dimg

a Neu din hanh dengdeu duqc ke thira loi to CCAction MOt sii action thuArng duqc sir dung

a CCMoveTo: di chuyen din tuqng den met diem biet truerc v6i met khoang thin gian nhat dinh theo duArng thing

+ static CCMoveTo* create(float duration, const CCPoint& position);

b CCMoveBy: di chuyen den tucmg theo met huemg trong khoang th&i gian nhAt dinh Dich den la king vector hai chieu coa vi tri hien tai va vi tri truyen vio

+ static CCMoveBy* create(float duration, const CCPoint& position);

c CCRotateTo: Xoay den met gee biat truerc tai tam anchorpoint trong khoang thtri gian Wet tem

+ static CCRotateTo* create(float duration, float fDeltaAngle);

d CCRotateBy: Xoay them met g6c biat nu& tai tam anchorPoint tir gee hien tai ciut dei tirqng trong khoang thin gian Wet truck

+ static CCRotateTo* create(float duration, float fDeltaAngle);

e CCScaleTo: Keo dan kich aurae drii Wog n lan trong khoang thin gian nhAt dinh

+ static CCScaleTo* create(float duration, float fDeltaScale);

f CCScaleBy: Keo dan kich thu6c dei hum them n Ian tit de dun hien tai trong khoAng thai gian nhAt dinh

+ static CCScaleTo* create(float duration, float fDeltaScale);

g CCShow: Hien till tuqng

+ static CCShow* create();

h CCHide: An &Si ttnyng

+ static CCHide* create();

Trang 26

i CCFadeln: tang dO trong suOt dad tuqng len t& da trong khoang thai gian nhat djnh

+ static CCFadeIn* create(float d);

j CCFadeOut: giam dO trong sulk doi Wang va thip nhat trong Ichoang thai gian nhat djnh

+ static CCFadeOut* create(float d);

k CCFadeTo: tang dg trong sulk dai hrgng den mOt gia tri Wet truerc trong khoing than gian nhat djnh

+ static CCFadeTo* create(float duration, GLubyte opacity);

1 CCBezzierTo: Di chuyan din tuqng den mot diem Nat truem di qua 2 diem biet truerc trong khoing thai gian nhat djnh Doi Prang di chuyan qua cac diem theo hinh yang cung IChoang thai gian (Ian cac diem la bang nhau

+ static CCBezierBy* create(float t, const ccBezierConfig& c);

m.CCBezzierBy: Di chuyen d6i hum theo mOt huemg bier truck thong qua 2 huOng bitt truac trong Ichoang thai gian nhat djnh Dad tuqng di chuyan theo cac hugng theo hinh yang cung Khoing thai gian moi diem den 11 bang nhau Diem den moi not la tong vector dm vi tri hian tai so veri vi tri duqc nhap vao

+ static CCBezierBy* create(float t, const ccBezierConfig& c);

n CCSequene: Thac hian mOt chu6i hanh along c6 than ta

+ static CCSequence* create(CCFiniteTimeAction *pActionl, );

o CCSpawn: That hian d6ng thai mOt chuOi hinh dOng

+ static CCSpawn* create(CCFiniteTimeAction *pActionl, );

p CCRepeat: That hian mot ha/1h lap Ili mOt hanh dOng veri so Ian Wet truck

+ static CCRepeat* create(CCFiniteTimeAction *pAction, unsigned int times);

q CCRepeatForever: That hian Idp mOt hanh Ong va han

+ static CCRepeatForever* create(CCActionlnterval *pAction);

r CCCallFuntion: Thac hian mOt hanh dOng ggi den mOt phucmg thirc khac Harsh dOng nay thuang dirqc sir clang kat hqp vei CCSequence

+ static CCCallFunc * create(CCObject* pSelectorTarget, SEL_CallFunc selector);

s CCDelayTime: Thac hian mOt hanh dOng gay tre trong *it khoing thai gian nhat djnh Hanh dOng nay thuang duqc sir clang kat hqp vai CCSequence

Trang 27

+ static CCDelayTime* create(float d);

t CCAnimate: Thuc hien chuyen dOng mot chuoi hinh anh dOng caa 461 Wong van 40 tre moi khung hinh biet truck

+ static CCAnimate* create(CCAnimation *pAnimation);

u CCRemoveSelf: removeChild 461 tuong fir lop chfra no Hanh dOng nay thin:mg se clung ket hop vei CCSequence

+ static CCRemoveSelf * create(bool isNeedCleanUp = true);

—Cac phucmg thirc chinh:

+ virtual bool isDone(void);

Y nghia: Kam tra xem himh Ong chgy xong hay chug

+ inline void setTag(int nTag);

t nghia: gan mot the cho action di qudnij

+ inline float getDuration(void);

nghia: Loy theta gian thgc hien hanh tong Chi Op dung cho action thuac nhom CCFiniteTimeAction

+ virtual CCFiniteTimeAction* reverse(void);

nghia: Chgy himh Ong dtho nglrgr Iqi so vol hanh d6ng do

2.2.4.10 Kit not mgng th6ng qua HttpRequest

a CCHttpRequest

—Dinh nghia: CCHttpRequest la giao thee cho phdp gfri met yeu cAu tir smartphone len server thong qua dei tugng CCHttpClient vi nhOn gia tri tra ve fir Server th8ng qua dei Prong CCHttpResponse CCHttpRequest trong Cocos2d-X co 4 kieu ket

n6i tai Server II GET, POST, PUT, DELETE

—Cac phucmg thin chinh:

+ inline void setRequestType(HttpRequestType type)

Chgn kilu kit not

+ inline void setUrl(const char* url)

3'nghia: Cal ddt dia chi Server va cang giao flip

+ inline void setRequestData(const char* buffer, unsigned int len)

Trang 28

f nghia : Gan die lieu can truyen tai Server dai vai trvang hop sei dung kiiu kit not POST

+ inline void setResponseCallback(CCObject* pTarget, SEL_HttpResponse pSelector)

t nglita : Cai dpt mgc tieu va pheamg thew mu khi nhan phan hai tir Server

b CCHttpClient

—Djnh nghia: CCHttpClient IA met Singerton xir IS, viec d6ng bo hem you au tir Client ten Server Vai min mi?'t you au hall tat, no se goi tra lai phucmg that chinh

da duqc cung cap a tren (setResponseCallback)

—Cac phucmg thac chinh:

+ static CCHttpClient *getInstance();

f netts: tra ve Singerton CCHtpClient

+ static void destroyInstance();

nghia: Giai phong yang nher cho Singerton

+ void send(CCHttpRequest* request);

Y nghia: Thvc hien viec grii yeu cau len Server

+ inline void setTimeoutForConnect(int value);

V nghia: cal dat Timeout cho viec kit nal tai Server

+ inline void setTimeoutForRead(int value)

nghia: Cai tat Timeout cho viec tai die lieu tic Server

c HttpRespone

—Djnh nghia: HttpRespone IA del tuqng ma ngtrai dimg se nhan da lieu tra YE tir Server trong phtrong thIrc dtrqc ai dat 8 CCHttpRequest

—Cac phuoing that chinh:

+ inline std::vector<char>* getResponseData()

Y n edit: Lay dir lieu tra ve tic Server Dir lieu tra ve la die lieu dgng tho (RA09

+ inline std::vector<char>* getResponseHeader()

nglea: Lay phan header caa lieu tra ve Dit lieu header nay M dii lieu dgng tho

+ inline int getResponseCodeO

Trang 29

f near: Lay mil phem hal sau khi hoop tat yeu cau kit nal Ynghia mot so mar 200

- Kit nal thanh cong, 404 — Dia chi kit nal khang tan tot 405 — Kiiu kit not khang dupv phip

+ inline bool isSucceed()

Y tra xem yeu C I I at not ca thirnh cOng hay kh6ng Kit nal duce gpi

la thanh cang niu getResponseCode0 tra ve gi6 tri 200 hoc 2xx

Trang 30

CHUONG 3 PHAN Tin' YEU CAU NGHIEP VI)

3.1 Yen au nghiep vy

Sau khi khao sat nhu au ngutri sir dung (NSD), dac diem cac img dung luyen thi, va nham dim bao viec quan ly, yen img dung luyen thi TOEIC tren smartphone, tic gia da xac dinh nhftng yeu cau nghiep vtt can this& Tic gia tham khao, xay dung du lieu luyen thi bao gem hinh anh mirth hqa, am thanh, down van ban sau 46 nhap dtt lieu vao ca s6 der lieu MYSQL Tac gia sir dung ng6n ngft server PHP de pharse du lieu tir CSDL theo cau frac json vao tap tin alldata.json tren server (du lieu tir hat bang MCQ va TOPIC)

Doi vai NSD, sau khi cai (fat chuong trinh, 6 Fan sir dung dau tien, chuong trinh se

you eau ket not mang de tai du lieu Ve bin chat, khi NSD thuc hien thao tic tai du lieu, chuong trinh se to (Ong tai file alldata.json, phan tich va xir 15, dft lieu c6 trong file, tai them cac dfr lieu chua c6 trong bet nh6 ctia thiet bi, nhu vay dim bao dit lieu duqc cap nhat khOng thing lap CI nhiing ran sir dung tiep theo, chuong trinh duqc thiet lap to tieing kiem tra ket n6i mang Neu thiet bi c6 ket n6i mpg: chuang trinh to cap nhat da lieu; neu ;thong c6 kat not mang, ngutri sir dung vao chuang trinh va bat S luyen tap Nhu vay, yeu cau kiem tra ket n6i mang la can thiet de chucmg trinh hoot Ong duqc tat nhat

Ngoai ra, 461 vtri chirc nang Full test, de sir dung, NSD can dang Icy tai khoin trwc tuyen Mutm fruit hien bai thi, chuang trinh yeu cau user phai clang nhap vao he thling sau

46 he th6ng kh6i tao du lieu de thi, tao de bai va cau heti frac nghiem de NSD tin harth thi thin Neu thiet bi c6 ket n6i mang, khi NSD hoan thanh bai thi (het gi6) hoac xac Akin (submit), chuong trinh se tinh diem vi girl diem len he th6ng

136i vori chirc nang luyen tap, NSD chon cac chit de luyen tap theo nhu au sir dung Nhu vay, chimg to c6 cac yeu cau nghiep At chi tiet nhu sau:

—BR1: Kiem tra ket n6i mang: Chic nail nay duqc dimg de kiem tra xir ly ngoai cho cac chirc can kat n6i mpg gin') chuang trinh et) hieu nang Mt hon

—BR2: Quin 19 tai khoin ctia ngutri dimg: Ngu&i sir dung c6 the clang k9 tai khoin

Ngutri sir dung can c6 tai khoin m6i c6 the sir dung mOt s6 chirc nang ciut chuang trinh

—BR3: Cap nhat der lieu: Khi Ichoi chay 1mg dung, chuong trinh se kiem tra phien ban dft lieu de cap nhat mei der lieu lam cho ngan hang cau h6i phong phit

Trang 31

—BR4: Tao a hal va cau h6i frac nghiem: Chirc 'tang nay IA chirc nang nen tang de

ma reng cho cfic loai cau heti trac nghiem N6 dirge ap dung cho hai chile MIT chinh trong chuang trinh la chirc nang "Luyen tap" va chive nang "Thi the

—BR5: ChIre nimg luyen tap: Cho phep ngtalri dung co the luyen tap cac ki nang dugc phan theo cau true de thi Toeic hien nay, bao gtm:

+ Nghe to tranh

+ Nghe hei thoai

+ Nghe doan thOng tin

+ Nghe hen dap

+ Hoan thitnh cau

+ Hoin thanh doan van

+ Dgc hieu

—BR6: Chat nang thi Chuang trinh sinh ra met de thi niau nhien co eau true theo de thi Toeic hien nay veri thbi gian 120 phut Ngu&i dimg can clang nhap de sir dung clurc nang nay Chuang trinh tinh diem sau khi ngutri ding hoin thanh bid thi va luu lai thiuth tich tot nhat ngu?ri dOng dat dirge len server

3.2 So' 46 User-Case dm sing dung

Hinh 3.1: So do user-case ctia sing dung

Trang 32

3.3 Anh xa yen au nghiep vu sr* choir tang

BR2 MIT nhap vio N tho'ng UC #02

BR4 Tao de bai vi cau hal tic nghiem UC#05

Bang 3.1: Bang anh xa yeu cdu ng u va y vchuc Hang

3.4 Dae to chic fling he thong

3.4.1 UC#01: Kiim tra kit not Ewing

Chfnh Chat nang pi den ne

ph, Operation System Services

Tien dial' kien Can c6 quyen truy cap cac services Gila m6i he dieu hanh

Trang 33

Sa (16 Luang cong rife

Function Controller Services Program

' m ,

Operation Sysytem Services sit deu

Sa dd 3.1: Sc dii lu long cong viec

Phuang phip thyc hien

Chuang trinh xi It

Cong viec nay you cAu geri-nh4n ket qua Ur Services thong qua API dm he dieu hanh Cac cong viec chucmg trinh an thut hien:

— Girl you cau kiem tra ket not mpg den Services coa chtrcmg trinh

— Giri you au kiem tra ket n6i mpg den Operation System Services

— Nhan ket qua tra ve Ur Operation System Services

— Nh4n ket qua tra ve tir Operation System Services

— Thuc hien tiep chirc nAng Mr& d6

Cic yeu ciu dec biet khic

Trang 34

Ngutri dimg can phai (tang nhap meri c6 the sir dung cac chirc nang Idiac cila chuong frith

Scr dii luang cong vile

No

es

V

Hien tht man hInh ding nhep Bet deo

nhen

So do luang cong viec "flung nhap"

Sc' do 3.2:

Trang 35

Su di, trinh ty

3 :141ap thong tki j

10 :Thavibio ket qua()

Sa do 3.3: Sa do trinh t!r "Eking nhdp"

Hwang phip thyc hit'n

Nwrivi sir dyng

Chuang trinh se hien giao dien de ngutri dung nhap tai khoin va mat khan Sau khi hoan thanh thao tic nay, nguoi dung se barn vao nut "Hang nhap" hoac "Login" Luc nay ngutri dimg chi can chat chucmg trinh phan hei Iai Neu clang nhap thanh cling, chucmg trinh se cho phep nguai dung sir dung cac elite nang tiep theo dm he thong

Chuang trinh air it

Sau khi ngu?ri dung nhap thong tin can 1 thiet va bam nut Bang nhap, chuong trinh

se thuc hien cac cong viec sau:

— Lay ra gia tri ten (tang nhap va mat khau cCia ngueri &mg

— Ma boa mat khau bang ming barn mOt chieu M135

— Sir dung HTTP Request theo clang POST truyen goi dft lieu tren den Server

— Cher dqi server phan hoi va tra ket qui ve cho ngtari dung Neu clang nhap that bai chuong trinh se hien thi thong bao kern theo lei thy ra Neu clang nhap thanh cong chucmg trinh se chuyen den chirc nang tiep theo

Trang 36

Server

Server sE ling nghe you au tir phia client

— Sau khi ratan dien duqc menh lenh ding nhap dm client, server se thvc hien cong viec sau: Server se tien hanh truy cap vao CSDL va tim kiem xem co email

va mat khau trong CSDL c6 thing khop yen email va mat khau(da duqc ma Ma)

&we gin tir Client khong Neu c6 Server se giri thong bao xuang Client la Ding nhap thanh ding, chuong trinh se tu dOng chuyen sang eh& ning tiep theo nguqc lai Server se girl thong bao that bai xu6ng Client, chuong trinh hien thj thong bao toi va lam sach 0 mat khau trong trang ding nhap

— Ltru y: Mat khau duqc gfri tir Client len Server la mat khan di duqc ma boa bang ming barn molt chieu MD5, khong phai mat khan ngutri ding nhap vao Day la molt buck quan trong de dim bao an toan thong tin nguai dimg

Cie yeu au dtic biet khic

Can co kat mai mang khi thuc hien cac you au teoi Server

Trang 37

Giao dien minh has

You must login before exam

Hinh 3.2: Man hinh clang nhap

3.4.3 U0103: Bang 10 tai khoan

Mo ti

Chirc nang nay cho phop ngulyi dAng ding ky met tai khoan mai

de sir dung chucmg trinh Sau khi c6 tai khoan ngueri ding co the tien hanh ding nh#p va su dung cac chirc !tang khic dm he thting

Trang 38

Hiin thj man hinh Rang k9

Kit thtic Nhan nut 'Huy

Su dO tang cong viec

Sc (14 3.4: So da hciing cong viec "Dcing

Trang 39

4 : Nhan nut de dam Icy0

5 :Thor hien clang

: Tao dol telt

7: Gul thong doi

Luu vao CSClit

blhong bao ket casa()

10 :7bong bap ket q.aa)

F: hien It ket am &rya kV(

Sc clii 3.5: Sc coo trinh tz, "Dting Icy"

Phirang phip thyc hien

Nguiri mi dyng

Ngirtri clung se lien hanh nhap ck thong tin sau:

— Email

— Password

Sau khi dien day do ck thong tin, ngtkri dung se ham vao nut "DAng Icy" Mac

"Register" Neu clang 1c9 thanh ding, chtrang trinh se tit ve man hinh clang nhap Neu clang Icy kh8ng thanh Gong, chucmg frith se hien th8ng bao va nguiyi dimg se nhap thong tin tai lchoan khk

Neu muOn dimg viec clang k9 vi tra vi mini hinh clang nhap, nguai dimg se barn vao nut "Hit)," hoac "Cancel"

Chuang triith x* 1f

Sau khi ngtrai dimg nhap day di thong tin va barn nut clang 14, chuong trinh se lam nhfrng °Ong viec sau:

— Kiem tra ring bubc dr client(Dimg djnh dang email, password )

— Lay ra ck gia tri ngubi dimg da nhap vao

Trang 40

— MA hea mat khau bang ham bAm met chieu MD5

— Sir dung HTTP Request theo clang POST truyen goi du lieu tren den Server

— Nhan ket qua tra ve tir server

— Thuc hien phin Nil cho ngutri dung

Twang hqp clang 1(9 thinh cling, chucmg trinh se hien thong bao "Hang lcy thanh eating" deng th&i chuyen den man hinh clang nhap Neu server tra lei la clang nhap khong thanh ding, chucmg trinh se hien thong bao cho ngtrai dung va yeu cau ngtrei clang nhap lai thong tin

Server

Sau khi nhan duqc you cau Clang 1(9 tir client, server se tien hall cac cong viec sau:

— Phan tich you cau tir client vi lay ra cac gia tri:

+ Email

+ Password

— Kiem tra xem ten clang nhap da ten tai hay chua Neu ten clang nhap dA ten tai thi tra ve cho client ket qua clang k9 that bai

— Neu ten dAng nhap chua ten tai, Server lien birth them mod ban ghi vao ca se

dU lieu Cac bang User se duqc 4p nhat:

+ Email: Ten clang nhap cita nguei dung

+ Password: Mat khau clang nhap

+ RegAt: Thei diem hien tai tren server

+ Latest: Thiri diem hien tai lien server

+ HighScore: 0

— Sau khi them ban ghi thanh cong, server tien birth tra ket qua thong bao viec

Clang k9 thanh cong cho client

Cac yeu au dtc bi%t Idnic

Thiet hi can duqc ket not mang de tien hanh giao tier) voi Server

Ngày đăng: 05/05/2015, 17:17

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w