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

Báo cáo môn học: Xây dựng ứng dụng game Fun Math trên android

35 226 0

Đ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 35
Dung lượng 1,4 MB

Nội dung

Mục tiêu chính của Báo cáo Xây dựng ứng dụng game Fun Math trên android là việc xây dựng game Funsmath sẽ giúp trẻ ôn tập những phép toán, cải thiện bộ nhớ, phát triển tư duy logic, phát triển tư duy kết hợp.

Trang 2

H i D ả ươ ng, tháng 09/2017

Trang 3

L I M  Đ U Ờ Ở Ầ

Hi n nay, toán h c đệ ọ ược coi là n n t ng c a s  phát tri n. Hàng tri u ngề ả ủ ự ể ệ ườ  i

t  các n n văn hóa khác nhau đ u n  l c trong môn h c này.   Vi t Nam toán h cừ ề ề ỗ ự ọ Ở ệ ọ  cũng đã th  hi n để ệ ược v  trí quan tr ng k  t  khi đ t nị ọ ể ừ ấ ước b t đ u phát tri n. T tắ ầ ể ấ  

c  m i lĩnh v c đ u c n có trình đ  toán. Vì đó toán h c là m t môn r t quan tr ngả ọ ự ề ầ ộ ọ ộ ấ ọ  

mà chúng ta nên h c và rèn luy n hàng ngày đ c bi t là tr  nhọ ệ ặ ệ ẻ ỏ. Khi còn nh , tr  sỏ ẻ ẽ 

d  dàng ti p thu toán nhanh nh t đ  thúc đ y s  suy t  c a tr  thay vì h c thễ ế ấ ể ẩ ự ư ủ ẻ ọ ụ 

đ ng nh  khi trộ ư ưởng thành. Đ  tu i này các em có kh  năng t  mình tìm ra các quyộ ổ ả ự  

t c riêng cho b n thân theo m t cách hoàn toàn b n năng. Nh  đó, tr  s  h c nhanhắ ả ộ ả ờ ẻ ẽ ọ  

và d  dàng ti p thu ki n th c mà giáo viên truy n đ t.ễ ế ế ứ ề ạ  

Cùng v i đó s  phát tri n c a công ngh  di đ ng đã bùng n  trong vài nămớ ự ể ủ ệ ộ ổ  qua. Các thi t b  c m tay đã tr  nên r t m nh m  và ph  bi n. Trong vài năm tr  l iế ị ầ ở ấ ạ ẽ ổ ế ở ạ  đây, h  đi u hành Android ra đ i và tr  thành n n t ng đi n tho i thông minh phệ ề ờ ở ề ả ệ ạ ổ 

bi n nh t th  gi i. Nh ng  u đi m d  th y nh t c a Android chính là kh  năng tùyế ấ ế ớ ữ ư ể ễ ấ ấ ủ ả  

bi n nhanh chóng, d  làm quen,  ng d ng h  tr  phong phú, tế ễ ứ ụ ỗ ợ ương thích v i đa c uớ ấ  hình ph n c ng c a các nhà s n xu t. H u nh  t t c  nh ng smartphone s  d ngầ ứ ủ ả ấ ầ ư ấ ả ữ ử ụ  

h  đi u hành Android đ u d  s  d ng, đ n gi n tùy bi n theo s  thích cá nhân. ệ ề ề ễ ử ụ ơ ả ế ở V iớ  

s  phát tri n m nh m  nh  v y c a Android, và l p trình game trên Android, c  h iự ể ạ ẽ ư ậ ủ ậ ơ ộ  cho l p trình viên là r t l n. Vì v y, nhóm đã ch n đ  tài “ậ ấ ớ ậ ọ ề L p trình  ng d ng ậ ứ ụ   game Fun Math  trên Android”. Trong đ  tài này, nhóm s  trình bày cái nhìn c  b nề ẽ ơ ả  

v  l p trình game trên Android và demo  ng d ng game trong đó. ề ậ ứ ụ

Trang 4

               9  1.1.1.T ng h t nhân Linuxầ ạ

               9  1.1.2.T ng Libraryầ

              10   1.1.3. Ph n Android runtimeầ

              10   1.1.4. T ng Application Frameworkầ

               10   1.1.5. T ng Applicationầ

              11   1.2. T ng quan v  Game ENGINEổ ề

              11   1.2.1.Khái ni mệ

              11   1.2.2.M c đíchụ

              12   1.2.3 o hóa ph n c ng (Hardware Abstraction)Ả ầ ứ

               12   1.2.4.Ph n m m trung gianầ ề

              13   1.2.5.Ki n trúc t ng quanế ổ

               13   1.3.T ng quan v  Unityổ ề

               15   1.3.1.T ng quan v  Unityổ ề

               15   1.3.2.Các thành ph n trong Unityầ

               15   

CHƯƠNG 2. THI T K   NG D NG GAMEẾ Ế Ứ Ụ

              18   2.1.Thi t k   gameế ế

               18   2.1.1.T o và c u hình game 2Dạ ấ

               18   2.1.2. Load Back ground

               21   2.1.3.S  ki n th c hi n phép toánự ệ ự ệ

               22   2.1.4.S  ki n kích nút Buttonự ệ

               23   

Trang 5

2.1.5.Điêm s  và hi n thố ể ị

               24   2.1.6.Th i gian trong gameờ

               24   2.1.7.Âm thanh trong game

               25   2.2.Xây d ng game Fun Mathự

              27   2.2.1.Gi i thi u gameớ ệ

               27   2.2.2.Quy lu t ch iậ ơ

               28   2.2.3.Đi m sể ố

               28   2.2.4.Cách biên d ch ra file APK trong unityị

              34   2.2. Nhược đi mể

              34   

3. Hướng phát tri nể

              34   TÀI LI U THAM KH OỆ Ả

              35   

Trang 6

DANH M C  HÌNH

Hình 1.1.T ng quan ki n trúc Unityổ ế

              14   Hình 1.2.Khung Inspector

               16   Hình 1.3.Giao di n Prefabsệ

              17   Hình 2.1.T o project m iạ ớ

               18   Hình 2.2.Giao di n First lookệ

               19   Hình 2.3.Giao di n Ch n phép chi u vuông gócệ ọ ế

               20   Hình 2.4.Giao di n t o folderệ ạ

              21   Hình 2.8.Thông tin file âm thanh

              26   Hình 2.9.Thêm thành ph n Audio Sourceầ

              27   Hình 2.10.Thêm file âm thanh cho thành ph n AudioSourceầ

               27   Hình 2.11.Giao di n Menu gameệ

               28   Hình 2.12.Giao di n game Playệ

              28   Hình 2.13.Giao di n game Overệ

               29   Hình 2.14.Giao di n External Toolsệ

               30   Hình 2.15.Giao di n BuildSettingsệ

               30   Hình 2.16.Giao di n Inspectorệ

               31   Hình 2.17.Giao di n Resolution and presentationệ

              31   Hình 2.18.Giao di n Splash Imageệ

               32   Hình 2.19.Giao di n Other settingệ

              32   

Trang 7

MỞ Đ U Ầ

1. Lý do ch n đ  tàiọ ề

Hi n nay, toán h c đệ ọ ược coi là n n t ng c a s  phát tri n. Hàng tri u ngề ả ủ ự ể ệ ườ  i

t  các n n văn hóa khác nhau đ u n  l c trong môn h c này.   Vi t Nam toán h cừ ề ề ỗ ự ọ Ở ệ ọ  cũng đã th  hi n để ệ ược v  trí quan tr ng k  t  khi đ t nị ọ ể ừ ấ ước b t đ u phát tri n. T tắ ầ ể ấ  

c  m i lĩnh v c đ u c n có trình đ  toán. Vì đó toán h c là m t môn r t quan tr ngả ọ ự ề ầ ộ ọ ộ ấ ọ  

mà chúng ta nên h c và rèn luy n hàng ngày đ c bi t là tr  nhọ ệ ặ ệ ẻ ỏ. Khi còn nh , tr  sỏ ẻ ẽ 

d  dàng ti p thu toán nhanh nh t đ  thúc đ y s  suy t  c a tr  thay vì h c thễ ế ấ ể ẩ ự ư ủ ẻ ọ ụ 

đ ng nh  khi trộ ư ưởng thành. Đ  tu i này các em có kh  năng t  mình tìm ra các quyộ ổ ả ự  

t c riêng cho b n thân theo m t cách hoàn toàn b n năng. Nh  đó, tr  s  h c nhanhắ ả ộ ả ờ ẻ ẽ ọ  

và d  dàng ti p thu ki n th c mà giáo viên truy n đ t.ễ ế ế ứ ề ạ  

Nh n th y t m quan tr ng đó nhóm em quy t đ nh tìm hi u và th c hi n đậ ấ ầ ọ ế ị ể ự ệ ề tài: “L p trình  ng d ng game Funsmath trên Androidậ ứ ụ

2. M c đích nghiên c uụ ứ

  Vi c xây d ng game  ệ ự Funsmath  s  giúp tr  ôn t p nh ng phép toán , c iẽ ẻ ậ ữ ả  thi n b  nh , phát tri n t  duy logic, phát tri n t  duy k t h p.ệ ộ ớ ể ư ể ư ế ợ

3. Đ i tố ượng c a đ  tàiủ ề

 Trò ch i phù h p cho ơ ợ h c sinh ọ ti u h c.ể ọ

4. Ph m vi nhiên c uạ ứ

­ Tìm hi u kĩ thu t l p trình b ng ể ậ ậ ằ Unity

­ Các phép toán trong b ng c u chả ử ương

5. Phương pháp nghiên c u

­ Nghiên c u l  thuy tứ ỹ ế

­ Kh o sát th c tả ự ế

­ Xây d ng chự ương trình theo m c tiêu đã đ t raụ ặ

­ Phân tích, thi t k  h  th ng chế ế ệ ố ương trình sao cho phù h pợ

Trang 8

TÀI LI U THAM KH OỆ Ả

Trang 9

CH ƯƠ NG 1. C  S  LÝ THUY T Ơ Ở Ế

1.1.T ng quan v  ổ ềAndroid 

Android là m t h  đi u hành d a trên n n t ng Linux ,đ c ch y trên cácộ ệ ề ự ề ả ượ ạ  thi t b  di đ ng có màn hình c m  ng nh  đi n tho i thông minh và máy tính b ng.ế ị ộ ả ứ ư ệ ạ ả  Ban đ u, đầ ược phát tri n b i T ng công ty Android, v i ngu n v n t  Google vàể ở ổ ớ ồ ố ừ  sau này được chính Google mua l i vào năm 2005.Năm 2007 android ra m t ạ ắ  cùng 

v i tuyên b  thành l p Liên minh thi t b  c m tay m : m t hi p h i g m các côngớ ố ậ ế ị ầ ở ộ ệ ộ ồ  

ty ph n m m, ph n c ng, và vi n thông v i m c tiêu đ y m nh các tiêu chu n choầ ề ầ ứ ễ ớ ụ ẩ ạ ẩ  các   thi t   b   di   đ ng     Tháng   10   năm   2008   chi c   đi n   tho i   đ u   tiênế ị ộ ế ệ ạ ầ  

ch yạ  Android được bán trên th  trị ường

Ki n trúc h  đi u hành Android có 4 t ng t  dế ệ ề ầ ừ ưới lên trên là t ng h t nhânầ ạ  Linux   (phiên   b n   2.6),   t ng   Libraries   &   Android   runtime,   t ng   Applicationả ầ ầ  Framework và trên cùng là t ng Application.ầ

1.1.1.T ng h t nhân Linuxầ ạ

H  đi u hành Android đệ ề ược phát tri n d a trên h t nhân Linux, c  th  là h tể ự ạ ụ ể ạ  nhân Linux phiên b n 2.6, đi u đó đả ề ược th  hi n   l p dể ệ ở ớ ưới cùng này. T t c  m iấ ả ọ  

ho t đ ng c a đi n tho i mu n thi hành đạ ộ ủ ệ ạ ố ược thì đ u th c hi n   m c c p th p.ề ự ệ ở ứ ấ ấ  

 l p này bao g m qu n lý b  nh  (memory management), giao ti p v i ph n c ng

(driver model), th c hi n b o m t (security), qu n lý ti n trình (process).ự ệ ả ậ ả ế

Tuy được phát tri n d a vào nhân Linux nh ng th c ra nhân Linux đã để ự ư ự ượ  cnâng c p và ch nh s a r t nhi u đ  phù h p v i tính ch t c a nh ng thi t b  c mấ ỉ ử ấ ề ể ợ ớ ấ ủ ữ ế ị ầ  tay, nh  h n ch  v  b  vi x  lý, dung lư ạ ế ề ộ ử ượng b  nh , kích thộ ớ ước màn hình, nhu c uầ  

k t n i m ng không dây.ế ố ạ

T ng này có các thành ph n ch  y u:ầ ầ ủ ế

­ Display Driver: Đi u khi n vi c hi n th  lên màn hình cũng nh  thu nh nề ể ệ ể ị ư ậ  

nh ng đi u khi n c a ngữ ề ể ủ ười dùng trên màn hình (di chuy n, c m  ng…).ể ả ứ

­ Camera Driver: Đi u khi n ho t đ ng c a camera, nh n lu ng d  li u tề ể ạ ộ ủ ậ ồ ữ ệ ừ camera tr  v ả ề

­ Bluetooth Driver: Đi u khi n thi t b  thu và phát sóng Bluetooth.ề ể ế ị

­ USB driver: Qu n lý ho t đ ng c a các c ng giao ti p USB.ả ạ ộ ủ ổ ế

­ Keypad driver: Đi u khi n bàn phím.ề ể

­ Wifi driver: Ch u trách nhi m v  vi c thu phát sóng wifi.ị ệ ề ệ

­ Audio Driver: Đi u khi n các b  thu phát âm thanh, gi i mã các tín hi uề ể ộ ả ệ  

d ng audio thành tín hi u s  và ngạ ệ ố ượ ạc l i

Trang 10

­ Binder IPC Driver: Ch u trách nhi m v  vi c k t n i và liên l c v i m ngị ệ ề ệ ế ố ạ ớ ạ  

vô tuy n nh  CDMA, GSM, 3G, 4G, E đ  đ m b o nh ng ch c năng truy n thôngế ư ể ả ả ữ ứ ề  

­ Th  vi n h  th ng (System C library): th  vi n d a trên chu n C, đư ệ ệ ố ư ệ ự ẩ ượ ử c s

d ng ch  b i h  đi u hành.ụ ỉ ở ệ ề

­ Th  vi n Media (Media Libraries): Có nhi u codec đ  h  tr  vi c phát vàư ệ ề ể ỗ ợ ệ  ghi các lo i đ nh d ng âm thanh, hình  nh, video thông d ng.ạ ị ạ ả ụ

­ Th  vi n web (LibWebCore): đây là thành ph n đ  xem n i dung trên web,ư ệ ầ ể ộ  

được s  d ng đ  xây d ng ph n m m duy t web (Android Browse) cũng nh  đử ụ ể ự ầ ề ệ ư ể các  ng d ng khác có th  nhúng vào. Nó c c k  m nh, h  tr  đứ ụ ể ự ỳ ạ ỗ ợ ược nhi u côngề  ngh  m nh m  nh  HTML5, JavaScript, CSS, DOM, AJAX…ệ ạ ẽ ư

­ Th  vi n SQLite: H  c  s  d  li u đ  các  ng d ng có th  s  d ngư ệ ệ ơ ở ữ ệ ể ứ ụ ể ử ụ

1.1.3. Ph n Android runtime

Ph n này ch a các th  vi n mà m t chầ ứ ư ệ ộ ương trình vi t b ng ngôn ng  Javaế ằ ữ  

có th  ho t đ ng. Runtime có 2 b  ph n tể ạ ộ ộ ậ ương t  nh  mô hình ch y Java trên máyự ư ạ  tính thường. Th  nh t là các th  vi n lõi (Core Library), ch a các l p nh  Java IO,ứ ấ ư ệ ứ ớ ư  Collection, File Access. Th  hai là m t máy  o Java (Dalvik Virtual Machine). M cứ ộ ả ặ  

dù cũng được vi t t  ngôn ng  Java nh ng m t  ng d ng Java c a Android khôngế ừ ữ ư ộ ứ ụ ủ  

được ch y trên JRE c a Sun mà là ch y b ng máy  o Dalvik do Google phát tri n.ạ ủ ạ ằ ả ể1.1.4. T ng Application Framework

T ng này xây d ng b  công c  – các ph n t    m c cao đ  các l p trình viênầ ự ộ ụ ầ ử ở ứ ể ậ  

có th  nhanh chóng xây d ng  ng d ng. Nó để ự ứ ụ ược vi t b ng Java, có kh  năng sế ằ ả ử 

d ng chung đ  ti t ki m tài nguyên.ụ ể ế ệ

Đây là m t n n t ng m , đi u đó có 2 đi u l i:ộ ề ả ở ề ề ợ

­ V i các hãng đi n tho i: Có th  tùy bi n đ  phù h p v i c u hình đi nớ ệ ạ ể ế ể ợ ớ ấ ệ  tho i mà h  s n xu t cũng nh  đ  có th  có nhi u m u mã, style h p th  hi uạ ọ ả ấ ư ể ể ề ẫ ợ ị ế  

người dùng. Vì th  nên tuy cùng chung n n t ng Android mà đi n tho i c a Googleế ề ả ệ ạ ủ  

có th  khác v i Motorola, HTC, T­Mobile, Samsung…ể ớ

Trang 11

V i l p trình viên: Cho phép l p trình viên có th  s  d ng các API   t ng ớ ậ ậ ể ử ụ ở ầtrên mà không c n ph i hi u rõ c u trúc bên dầ ả ể ấ ướ ại, t o đi u ki n cho l p trình viên ề ệ ậ

t  do sáng t o b i vì ch  c n quan tâm đ n n i dung mà  ng d ng h  làm vi c. M tự ạ ở ỉ ầ ế ộ ứ ụ ọ ệ ộ  

t p h p API r t h u ích đậ ợ ấ ữ ược xây d ng s n nh  h  th ng đ nh v , các d ch v  ch yự ẵ ư ệ ố ị ị ị ụ ạ  

n n, liên l c gi a các  ng d ng, các thành ph n giao di n c p cao…ề ạ ữ ứ ụ ầ ệ ấ

1.1.5. T ng Application

Đây là t ng  ng d ng giao ti p v i ngầ ứ ụ ế ớ ườ ử ụi s  d ng, bao g m các  ng d ngồ ứ ụ  

nh :ư

­ Các  ng d ng c  b n, đứ ụ ơ ả ược cài đ t đi li n v i h  di u hành: g i di n,ặ ề ớ ệ ề ọ ệ  

qu n lý danh b , duy t web, nh n tin, l ch làm vi c, đ c email, quay phim ch pả ạ ệ ắ ị ệ ọ ụ  nh,…

­ Các  ng d ng cài thêm nh  các trò ch i, t  đi n, các ph n m m h c ti ngứ ụ ư ơ ừ ể ầ ề ọ ế  anh

Các chương trình có đ c đi m là:ặ ể

­ Vi t b ng Java có ph n m  r ng là apk.ế ằ ầ ở ộ

­ Khi m i  ng d ng đỗ ứ ụ ược ch y, nó có m t phiên b n Virtual Machine đạ ộ ả ượ  c

d ng lên đ  ph c v  cho nó.ự ể ụ ụ

­ Android là h  di u hành đa nhi m, đi u đó có nghĩa là trong cùng m t th iệ ề ệ ề ộ ờ  

đi m, có th  có nhi u chể ể ề ương trình ch y cùng m t lúc, tuy nhiên v i m i  ng d ngạ ộ ớ ỗ ứ ụ  thì có duy nh t m t th c th  (instance) đấ ộ ự ể ược phép ch y mà thôi. Đi u đó có tácạ ề  

d ng h n ch  s  l m d ng tài nguyên, giúp h  th ng ho t đ ng t t h n.ụ ạ ế ự ạ ụ ệ ố ạ ộ ố ơ

­ Các  ng d ng đứ ụ ược gán s  ID c a ngố ủ ườ ử ụi s  d ng nh m phân đ nh quy nằ ị ề  

h n khi s  d ng tài nguyên, c u hình ph n c ng và h  th ng.ạ ử ụ ấ ầ ứ ệ ố

­ Android là m t h  đi u hành có tính m , khác v i nhi u h  đi u hành diộ ệ ề ở ớ ề ệ ề  

đ ng khác, Android cho phép m t  ng d ng c a bên th  3 ch y n n. Các  ng d ngộ ộ ứ ụ ủ ứ ạ ề ứ ụ  

đó ch  có m t h n ch  là không đỉ ộ ạ ế ược phép s  d ng quá 5% công su t CPU. Đi u đóử ụ ấ ề  

nh m tránh đ c quy n trong s  d ng CPU.ằ ộ ề ử ụ

­  ng d ng không có đi m vào c  đ nh, không có phỨ ụ ể ố ị ương th c main đ  b tứ ể ắ  

đ u.ầ

1.2. T ng quan v  ổ ềGame ENGINE

1.2.1.Khái ni m

M t Game Engine (hay công c  t o Game / đ ng c  Game) là m t ph nộ ụ ạ ộ ơ ộ ầ  

m m đề ược vi t cho m c đích thi t k  và phát tri n video Game. Có r t nhi u lo iế ụ ế ế ể ấ ề ạ  Game Engine dùng đ  thi t k  Game cho các h  máy nh  h  Consoles hay máy tínhể ế ế ệ ư ệ  

Trang 12

cá nhân (PC). Ch c năng c t lõi c a Game Engine ph n l n n m trong công cứ ố ủ ầ ớ ằ ụ 

d ng hình (k t xu t đ  h a) cho các hình  nh 2 chi u (2D) hay 3 chi u (3D), côngự ế ấ ồ ọ ả ề ề  

c  v t lý (hay công c  tính toán và phát hi n va ch m), âm thanh, mã ngu n, hìnhụ ậ ụ ệ ạ ồ  

nh đ ng (Animation), trí tu  nhân t o, phân lu ng, t o dòng d  li u x  lý, qu n lý

b  nh , d ng  nh đ  th , và k t n i m ng. Quá trình phát tri n Game ti t ki mộ ớ ự ả ồ ị ế ố ạ ể ế ệ  

được r t nhi u th i gian và kinh phí vào vi c tái s  d ng và tái thích  ng m tấ ề ờ ệ ử ụ ứ ộ  Engine đ  t o nhi u Game khác nhau.ể ạ ề

1.2.2.M c đích

Game Engine cung c p m t b  các công c  phát tri n tr c quan và có th  táiấ ộ ộ ụ ể ự ể  

s  d ng t ng thành ph n trong đó. Nói chung các b  công c  này cung c p m t môiử ụ ừ ầ ộ ụ ấ ộ  

trường phát tri n tích h p để ợ ược đ n gi n hóa. Phát tri n  ng d ng nhanh (Rapidơ ả ể ứ ụ  Application Development) cho Game theo cách l p trình hậ ướng d  li u. Nh ngữ ệ ữ  Game Engine này đôi khi còn được g i là các "ph n m m trung gian cho Game"ọ ầ ề  (Game Middleware), nh  ý nghĩa c a thu t ng , chúng cung c p m t n n t ng ph nư ủ ậ ữ ấ ộ ề ả ầ  

m m linh ho t và d  dàng s  d ng l i v i m i ch c năng c t lõi c n thi t ngayề ạ ễ ử ụ ạ ớ ọ ứ ố ầ ế  trong nó đ  có th  phát tri n m t  ng d ng Game đ ng th i gi m giá thành, để ể ể ộ ứ ụ ồ ờ ả ộ 

ph c t p, và k p th i h n phát hành ­ t t c  các y u t  quan tr ng trong ngành côngứ ạ ị ờ ạ ấ ả ế ố ọ  nghi p Game đ y c nh tranh. Gi ng nh  các ph n m m trung gian khác, Gameệ ầ ạ ố ư ầ ề  Engine thường cung c p m t n n t ng tr u tấ ộ ề ả ừ ượng hóa, cho phép m t Game có thộ ể 

ch y trên nhi u h  máy bao g m các h  console ho c máy tính cá nhân v i m t vàiạ ề ệ ồ ệ ặ ớ ộ  thay đ i (n u c n) trong mã ngu n c a Game đó. Thông thổ ế ầ ồ ủ ường, ph n m m trungầ ề  gian cho Game được thi t k  v i m t n n t ng ki n trúc d a trên các thành ph nế ế ớ ộ ề ả ế ự ầ  khác, cho phép các h  th ng khác nhau trong Engine có th  thay th  ho c m  r ngệ ố ể ế ặ ở ộ  

v i các ph n m m trung gian khác chuyên bi t h n nh  là Havok cho h  th ng v tớ ầ ề ệ ơ ư ệ ố ậ  

lý trong Game, Miles Sound System cho âm thanh, hay Bink cho các đo n video. M tạ ộ  

s  Game Engine ch  cung c p kh  năng d ng hình (k t xu t) 3D th i gian th c hayố ỉ ấ ả ự ế ấ ờ ự  

m t kh  năng riêng bi t nào khác thay vì r t nhi u ch c năng trong ph m vi r ngộ ả ệ ấ ề ứ ạ ộ  

mà   Game   yêu   c u   Lo i   Engine   này   thầ ạ ường   được   g i   là:   "Graphics   Engine",ọ  

"Rendering Engine," hay "3D Engine" thay vì thu t ng  bao quát h n là "Gameậ ữ ơ  Engine”

1.2.3 o hóa ph n c ng (Hardware Abstraction)Ả ầ ứ

Thông thường, Engine 3D hay h  th ng k t xu t đ  h a trong Game Engineệ ố ế ấ ồ ọ  

thường được xây d ng trên m t n n t ng giao di n l p trình  ng d ng đ  h a nhự ộ ề ả ệ ậ ứ ụ ồ ọ ư Direct3D hay OpenGL cung c p s n m t h   o hóa cho GPU hay card đ  h a. Thấ ẵ ộ ệ ả ồ ọ ư 

Trang 13

vi n mã ngu n c p th p (c p c  b n) nh  DirectX, SDL, và OpenAL (th  vi n âmệ ồ ấ ấ ấ ơ ả ư ư ệ  thanh mã ngu n m ) cũng thồ ở ường được s  d ng trong các Game khi chúng cungử ụ  

c p kh  năng truy c p ph n c ng đ c l p.ấ ả ậ ầ ứ ộ ậ

1.2.4.Ph n m m trung gianầ ề

M t s  hãng hi n nay chuyên t p trung vào phát tri n các b  ph n m m g iộ ố ệ ậ ể ộ ầ ề ọ  

là ph n m m trung gian (Middleware). Các nhà phát tri n Middleware c  g ng phátầ ề ể ố ắ  tri n m t b  ph n m m m nh m  bao g m h u h t các y u t  mà m t nhà phátể ộ ộ ầ ề ạ ẽ ồ ầ ế ế ố ộ  tri n Game c n đ n đ  xây d ng m t Game. Ph n l n các Middleware cung c p cácể ầ ế ể ự ộ ầ ớ ấ  

c  s  đ  phát tri n game m t cách d  dàng, nh  hình  nh, âm thanh, h  th ng v tơ ở ể ể ộ ễ ư ả ệ ố ậ  

lý và ch c năng AI. Gamebryo và RenderWare là hai ph n m m trung gian đứ ầ ề ượ ử c s

d ng khá r ng rãi. M t s  Middleware ch  làm m t ch c năng nh ng nó còn hi uụ ộ ộ ố ỉ ộ ứ ư ệ  

tr  h u h t các đ i tợ ầ ế ố ượng và các lo i thành ph n trongạ ầ   Unity.Trong m t sceneộ  

thường có nhi u đ i tề ố ượng game. M i đ i tỗ ố ượng này có th  có   ho c không cóể ặ  

đo n script nào g n lên đó. N u mu n g n script vào đ i tạ ắ ế ố ắ ố ượng, ta b t bu c ph iắ ộ ả  

k  th a class đó t  l p ế ừ ừ ớ MonoBehaviour c a UnityAPI và tên class  ph i trùng v iủ ả ớ  tên file script. M i script khi g n lên đ i tỗ ắ ố ượng game đ u đề ược đ i tố ượng game xem 

nh  m t thành ph n bên trong và đư ộ ầ ượ ấc c p phát vùng nh  khi ch y game.ớ ạ

Trang 14

Hình 1.1.T ng quan ki n trúc Unity ổ ế

Bên trong UnityAPI ch a r t nhi u l p h  tr  l p trình game, trong đó có m t sứ ấ ề ớ ỗ ợ ậ ộ ố 

l p quan tr ng nh  :ớ ọ ư

MonoBehaviour: t t c  các script mu n g n vào m t đ i t ng game b t bu cấ ả ố ắ ộ ố ượ ắ ộ  

ph i k  th a t  l p này.ả ế ừ ừ ớ

GameObject: l p cha c a t t c  các th c th  trong  scene.ớ ủ ấ ả ự ể

Component: l p cha c a t t c  các thành ph n có th  g n vào đ i t ng.ớ ủ ấ ả ầ ể ắ ố ượ

Transform: giúp thay đ i v  trí, xoay, bi n đ i t  l  mô hình.ổ ị ế ổ ỉ ệ

Input: h  tr  l p trình v i chu t, c m  ng đa đi m, c m bi n gia t c.ỗ ợ ậ ớ ộ ả ứ ể ả ế ố

Animation: ch y chuy n đ ng c a mô hình nhân v t.ạ ể ộ ủ ậ

Rigidbody: giúp t o hi u  ng v t lý liên quan đ n tr ng l c nh  bóng n y, lăn.ạ ệ ứ ậ ế ọ ự ư ẩCharacterController: giúp đi u khi n nhân v t di chuy n theo đ  cao đ a   hình.ề ể ậ ể ộ ịCollider: h  tr  l p trình va ch m gi a các v t th ỗ ợ ậ ạ ữ ậ ể

GUI: giúp l p trình giao di n ng i dùng trên Unity.ậ ệ ườ

Trang 15

­ Có phiên b n mi n phí có th  ch y đả ễ ể ạ ược trên Window và Mac OSX.

Unity3D hướng t i ngớ ườ ử ụi s  d ng chuyên nghi p và c  nghi p d , nên kháệ ả ệ ư  

d  đ  s  d ng. V i ngôn ng  l p trình b ng C#, JavaScript ho c BOO.ễ ể ử ụ ớ ữ ậ ằ ặ

Ngày nay r t nhi u nhà phát tri n game l a ch n Unity3D đ  phát tri n b iấ ề ể ự ọ ể ể ở  

kh   năng   h   tr   đa   n n   t ng   và   s   m nh   m   ti n   d ng   c a   Unity3D.ả ỗ ợ ề ả ự ạ ẽ ệ ụ ủ

Đ n v i Unity, các b n s  không c n ph i băng khoăn v  các v n đ  x  lý, cácế ớ ạ ẽ ầ ả ề ấ ề ử  khái ni m đ  ho  ph c t p  t t c  đ u tr  nên d  dàng và nhanh chóng v i Unity.ệ ồ ạ ứ ạ ấ ả ề ở ễ ớ

M t s  game độ ố ược phát tri n trên Unity nh  AngryBird, Elegy of War,…ể ư  

­ Scenes: là m t c nh ch i (ho c m t phân đo n) là nh ng màn ch i riêngộ ả ơ ặ ộ ạ ữ ơ  

bi t, m t khu v c trong game ho c thành ph n có trong n i dung c a trò ch i (cácệ ộ ự ặ ầ ộ ủ ơ  menu). Các thành ph n này đầ ược g i là Scene. B ng cách t o ra nhi u Scenes,ọ ằ ạ ề  chúng ta có th  phân ph i th i gian và t i  u tài nguyên, ki m tra các phân đo nể ố ờ ố ư ể ạ  trong game m t cách đ c l p.ộ ộ ậ

­ Game Objects: Khi Asset đ c s  d ng trong các Scene, Unity đ nh nghĩaượ ử ụ ị  

đó là Game Object. Đây là m t thu t ng  thông d ng, đ c bi t trong m ng l p trình.ộ ậ ữ ụ ặ ệ ả ậ  

T t c  các Game Object đ u ch a ít nh t m t thành ph n c  b n là Transform, l uấ ả ề ứ ấ ộ ầ ơ ả ư  

Trang 16

tr  thông tin v  v  trí, góc xoay và t  l  c a Game Object. Thành ph n Transform cóữ ề ị ỉ ệ ủ ầ  

th  để ược tu  bi n và ch nh s a trong quá trình l p trình.ỳ ế ỉ ử ậ

­ Components: Components là các thành ph n trong game, b  sung tính năngầ ổ  cho   các   Game   Object   M i   Component   có   ch c   năng   riêng   bi t   Đa   ph n   cácỗ ứ ệ ầ  Component ph  thu c vào Transform, vì nó l u tr  các thông s  c  b n c a Gameụ ộ ư ữ ố ơ ả ủ  Object. B n ch t c a Game Object là không có gì c , các đ c tính và kh  năng c aả ấ ủ ả ặ ả ủ  Game Object n m hoàn toàn trong các Component. Do đó chúng ta có th  xây d ngằ ể ự  nên b t k  Game Object nào trong game mà chúng ta có th  tấ ỳ ể ưởng tượng được

Hình 1.2.Khung Inspector

­ Scripts: Scripts đ c Unity xem nh  m t Component. Đây là thành ph nượ ư ộ ầ  thi t y u trong quá trình phát tri n game. B t k  m t game nào, dù đ n gi n nh tế ế ể ấ ỳ ộ ơ ả ấ  

đ u c n đ n Scripts đ  tề ầ ế ể ương tác v i các thao tác c a ngớ ủ ười ch i, ho c qu n lý cácơ ặ ả  

s  ki n đ  thay đ i chi u hự ệ ể ổ ề ướng c a game tủ ương  ng v i k ch b n game.ứ ớ ị ả

Unity cung c p cho l p trình viên kh  năng vi t Script b ng các ngôn ng :ấ ậ ả ế ằ ữ  JavaScript, C#. Unity không đòi h i l p trình viên ph i h c cách l p trình trongỏ ậ ả ọ ậ  Unity, nh ng trong nhi u tình hu ng, chúng ta c n s  d ng Script trong m i ph nư ề ố ầ ử ụ ỗ ầ  

c a k ch b n game.ủ ị ả

Đ  vi t Script, chúng ta có th  làm vi c v i m t trình biên t p Script đ c l pể ế ể ệ ớ ộ ậ ộ ậ  

c a Unity, ho c làm vi c trên Mono Developer đủ ặ ệ ược tích h p vào Unity trong nh ngợ ữ  phiên b n g n đây. Mono Developer là m t IDE khá t t, cung c p nhi u ch c năngả ầ ộ ố ấ ề ứ  

Trang 17

tương t  Visual Studio. Mã ngu n vi t trên Mono Developer s  đự ồ ế ẽ ươc c p nh t vàậ ậ  

l u tr  trong d  án trên Unity.ư ữ ự

­ Prefabs: Prefabs th c ch t là Game Object đ c l u tr  l i đ  tái s  d ng.ự ấ ượ ư ữ ạ ể ử ụ  Các Game Object được nhân b n t  m t prefab s  gi ng nhau hoàn toàn, ngo i trả ừ ộ ẽ ố ạ ừ thành ph n Transform đ  phân bi t và qu n lý đầ ể ệ ả ượ ố ơc t t h n

Đ  t o ra m t prefab, ta đ n gi n ch  c n kéo m t Game Object vào c a s  Project.ể ạ ộ ơ ả ỉ ầ ộ ử ổ

Hình 1.3 Giao di n Prefabs ệ

Ngày đăng: 15/01/2020, 04:45

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w