intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Trang Trang | Ngày: | Loại File: DOC | Số trang:35

688
lượt xem
66
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  1. BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC SAO ĐỎ BÁO CÁO ĐỀ TÀI MÔN HỌC LẬP TRÌNH HỆ THỐNG NHÚNG Đề tài:  XÂY DỰNG ỨNG DỤNG GAME FUN MATH  TRÊN ANDROID Nhóm thực hiện: Sv. Nguyễn Thị Trang Sv. Vũ Thị Thủy Lớp: CNTT ­ DK04 1
  2. Hải Dương, tháng 09/2017 2
  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 đó.  3
  4. MỤC LỤC  LỜI MỞ ĐẦU                                                                                                                  ..............................................................................................................      3  MỤC LỤC                                                                                                                         .....................................................................................................................      4  DANH MỤC HÌNH                                                                                                           .......................................................................................................      6  MỞ ĐẦU                                                                                                                          ......................................................................................................................     7  1. Lý do chọn đề tài                                                                                                      ..................................................................................................     7  2. Mục đích nghiên cứu                                                                                                 .............................................................................................      7  3. Đối tượng của đề tài                                                                                                ............................................................................................     7  4. Phạm vi nhiên cứu                                                                                                    ................................................................................................     7  5. Phương pháp nghiên cứu                                                                                          ......................................................................................     7  6. Bố cục đề tài                                                                                                             .........................................................................................................      7  CHƯƠNG 1. CƠ SỞ LÝ THUYẾT                                                                                ............................................................................      9  1.1.Tổng quan về Android   .......................................................................................                                                                                          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 4
  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                                                           .......................................................       29  KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN                                                                         .....................................................................       34  1. Cài đặt                                                                                                                     ................................................................................................................       34  2. Kết quả                                                                                                                   ...............................................................................................................       34  2.1. Ưu điểm                                                                                                           .......................................................................................................      34  2.2. Nhược điểm                                                                                                     .................................................................................................       34  3. Hướng phát triển                                                                                                     .................................................................................................       34  TÀI LIỆU THAM KHẢO                                                                                               ...........................................................................................      35 5
  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 6
  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 6. Bố cục đề tài Nội dung đồ án gồm các thành phần sau: MỞ ĐẦU ­ Chương 1. Cơ sở lý thuyết  ­ Chương 2. Thiết kế ứng dụng  KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 7
  8. TÀI LIỆU THAM KHẢO 8
  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 đã được   nâ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. 9
  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   được thực hiện. ­ M­System Driver: Quản lý việc đọc ghi lên các thiết bị  như  thẻ  nhớ  SD,   flash ­ Power Management: Giám sát việc tiêu thụ điện năng. 1.1.2.Tầng Library Phần này có nhiều thư viện được viết bằng C/C++ để các phần mềm có thể  sử dụng, các thư viện đó được tập hợp thành một số nhóm như: ­ 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… 10
  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   11
  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ư  12
  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   quả hơn cả toàn bộ Engine.  Phân loại Game Engine theo mức độ chuyên biệt ­ Roll­your­own Game Engine ­ Mostly­ready Game Engine ­ Point­and­click Game Engine 1.2.5.Kiến trúc tổng quan Engine Unity hỗ trợ cho chúng ta UnityAPI để viết script game. UnityAPI là API lập   trình game trong Unity rất mạnh. UnityAPI chứa các đối tượng và phương thức  hỗ  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. 13
  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. Camera: giúp lập trình camera. Light: giúp tạo ánh sáng trong game. Projector: giúp chiếu texture lên bề mặt vật thể. ParticleEmitter: hỗ trợ tạo các hiệu ứng particle đẹp mắt. Audio: hỗ trợ lập trình với âm thanh. 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. 14
  15. 1.3.Tổng quan về Unity 1.3.1.Tổng quan về Unity ­ Unity3D là một môi trường phát triển tích hợp, mạnh mẽ, hỗ  trợ  thao tác  kéo thả, tuỳ biến giao diện nhanh chóng, trực quan. ­ Cung cấp các công cụ xử lý đồ hoạ, tích hợp sẵn thư viện vật lý, tính toán  va chạm... ­ Hỗ trợ phát triển cả game 2D và 3D. ­ Hỗ  trợ  nhiều nền tảng thông dụng như  OSX, Linux, Window, Web, iOS,   Window Phone 8, Android, PS3, BB… ­ Cộng đồng người dùng, hỗ trợ rộng lớn. ­ 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,…  1.3.2.Các thành phần trong Unity ­ Assets: Assets là tài nguyên xây dựng nên một dự  án trên Unity. Những tài  nguyên có thể  là hình  ảnh, âm thanh, mô hình 3D, chất liệu (material), texture,   …  hoặc cả một project hoàn chỉnh. Các asset do chính những nhà phát triển game tạo ra và có thể được download miễn  phí hoặc trả  phí trên Unity Asset Store. Đây là một trong những tính năng rất hay  của Unity. Các asset này sẽ giúp giảm thiểu rất nhiều thời gian cho việc thiết kế và  lập trình game. ­ 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  15
  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  16
  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 17
  18. CHƯƠNG 2. THIẾT KẾ ỨNG DỤNG GAME 2.1.Thiết kế  game Ý tưởng thiết kế game Đặc trưng của dòng game mà em đã xây dựng tại 1 thời điểm chỉ  có một  người chơi, trò chơi sẽ có 1 màn hình chơi, người chơi sẽ  chọn đúng hoặc sai thông  qua hai nút tên màn hình game. Nếu người chơi chọn sai  đán án thì     màn hình  GameOver sẽ xuất hiên thông báo cho người chơi số điểm. Màn hình sẽ có tính thời  gian, vì vậy  ta phải nhìn nhanh và tính kỹ  trước khi  ấn  chọn nút đáp án đúng để  nâng cao điểm số. 2.1.1.Tạo và cấu hình game 2D * Tạo dự án  ­ Bật Unity lên, vào menu File/New Project Hình 2.1.Tạo project mới Chọn loại project là 2D sau đó gõ tên project xong nhấn Create Project. Kết quả như  sau: 18
  19. Hình 2.2.Giao diện First look * Cấu hình dự án 2D  Sau khi tạo dự  án xong,  ở  Hierarchy sẽ  có một đối tượng là Main Camera. Chúng ta cần điều chỉnh kiểu hiển thị Scene là 2D . Ở cửa sổ Hierarchy chọn Main Camera. Ở cửa sổ Inspector sẽ hiển thị các thông số  của camera, ta sẽ  chọn lại giá trị  Projection hay phép chiếu là phép chiếu vuông  gócthay cho phép chiếu phối cảnh. 19
  20. Hình 2.3.Giao diện Chọn phép chiếu vuông góc Tiếp theo, ở cửa sổ Project, ta sẽ tạo sẵn các thư mục để chứa tất cả các tài nguyên  có sử  dụng trong game sau này lần lượt là: Animations, Prefabs, Scripts, Sprites,   Sounds, Scenes.R­Click vào thư  mục Assets  ở cửa sổ Project, ta chọn Create, chọn   Folder. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2