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

tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động

91 650 3

Đ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 91
Dung lượng 2,99 MB

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

Nội dung

Khi vào màn chơi thì từng màn có các chức năng: tạo nét cắt, tạo dây treo đối tượng khác, các chú nhện chụp lấy những quả bóng cùng màu, ném các vật khác bóng khác màu,… , lò xo giúp bắn

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGÀNH KỸ THUẬT PHẦN MỀM

Đề tài

ỨNG DỤNG PHÁT TRIỂN GAME TRÊN THIẾT BỊ DI ĐỘNG

Sinh viên: Hồ Hữu Nhân

Mã số: 1111321 Khóa: K37

Cần Thơ, 05/2015

Trang 2

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

Người hướng dẫn Sinh viên thực hiện ThS Phan Phương Lan Hồ Hữu Nhân

Mã số: 1111321 Khóa: K37

Cần Thơ, 05/2015

Trang 3

LỜI CẢM ƠN

Trước hết, tôi xin gởi lời cảm ơn chân thành và sự tri ân sâu sắc đến các thầy

cô của trường Đại học Cần Thơ Đặc biệt là các thầy cô khoa Công Nghệ Thông Tin và Truyền Thông đã tạo điệu kiện cho tôi học tập và hoàn thành khóa học, cũng như luận văn tốt nghiệp này

Đồng thời tôi cũng xin chân thành cảm ơn cô Phan Phương Lan đã nhiệt tình hướng dẫn tôi hoàn thành luận văn tốt nghiệp trong suốt thời gian qua

Bên cạnh đó, tôi cảm ơn tất cả người thân, bạn bè đã tạo điều kiện và động viên tôi hoàn thành tốt luận văn này Đặc biệt, tôi muốn gửi lời cảm chân chân thành đến anh Nguyễn Thanh Hoài, cảm ơn anh đã nhiệt tình giúp đỡ, giải đáp thắc mắc cho tôi trong suốt quá trình làm luận văn

Trong quá trình học tập, cũng như là trong quá trình làm luận văn, mặc dù

đã cố gắng hết sức nhưng vẫn khó tránh khỏi sai sót, vì vậy rất mong nhận được ý kiến đóng góp quý báu của quý Thầy Cô và các bạn

Tôi xin chân thành cảm ơn!

Cần thơ, ngày 3 tháng 5 năm 2014

Sinh viên

Hồ Hữu Nhân

Trang 4

MỤC LỤC

Lời cảm ơn 3

Mục lục 4

Danh mục bảng 6

Danh mục hình 7

Tóm tắt 9

Abstract 10

Giới thiệu 11

 Đặt vấn đề 11

 Tóm tắt lịch sử giải quyết vấn đề 11

 Mục tiêu đề tài 12

 Đối tượng và phạm vi nghiên cứu 12

 Nội dung nghiên cứu 12

 Những đóng góp chính của đề tài 13

 Bố cục của quyển luận văn 13

Chương 1 - Mô tả bài toán 14

1.1 Mô tả chi tiết bài toán 14

1.2 Phân tích đánh giá các giải pháp/ có liên quan đến bài toán 15

1.3 Tiếp cận giải quyết vấn đề 16

Chương 2 - Thiết kế và cài đặt giải pháp 30

2.1 Thiết kế 30

2.1.1 Thiết kế kiến trúc 30

2.1.2 Thiết kế dữ liệu 31

2.1.3 Thiết kế giao diện 37

2.1.4 Thiết kế thuật toán 51

Chương 3 - Kiểm thử và đánh giá 58

3.1 Mục tiêu kiểm thử 58

3.2 Kịch bản kiểm thử 58

3.3 Kết quả kiểm thử 59

Kết luận 61

Trang 5

Hạn chế 61

Hướng phát triển 61

Tài liệu tham khảo 62

Phụ lục 63

1 Hướng dẫn cài đặt 63

1.1 Cài đặt Java Development Kit 63

1.2 Cài đặt Corona SDK 63

1.3 Cài đặt Corona Cards 63

2 Hướng dẫn phát triển 65

2.1 Tạo một project từ Corona SDK 65

2.2 Cách build project (xuất ra file apk) 66

2.3 Cách tạo một bodyType sử dụng công cụ Physics Editor 67

3 Sơ lược về ngôn ngữ Lua 73

3.1 Giới thiệu 73

3.2 Cú pháp 74

4 Sơ lược về Corona SDK 78

4.1 Các đối tượng hiển thị 78

4.2 Sự kiện trên các đối tượng hiển thị (multitouch, tap, touch) 80

4.3 Sự kiện vật lý cho các đối tượng (physics) 82

4.4 Chuyển trang 83

4.5 Đối tượng lớp widget 85

4.6 Đối tượng lớp native 86

4.7 Thao tác với File 86

4.8 Thao tác với database 89

4.9 Transition, Timer 90

Trang 6

DANH MỤC BẢNG

Bảng 1 1: Bảng diễn giải các đối tượng trong game 17

Bảng 1.2: Danh sách các sơ đồ tuần tự 18

Bảng 2.1: Danh sách các đối tượng trong game 31

Bảng 2.2: Bảng diễn giải các dữ liệu dùng trong game 36

Bảng 2.3: Bảng sanh sách tên các thuật toán 51

Bảng 3.1: Kết quả kiểm thử theo từng chức năng 59

Bảng 3.2: Kết quả các lần chơi xác định số điểm – sao 59

Trang 7

DANH MỤC HÌNH

Hình 1.1: Sơ đồ lớp 16

Hình 1.2: Sơ đồ tuần tự màn chơi thứ 1 19

Hình 1.3: Sơ đồ tuần tự màn chơi thứ 2 20

Hình 1.4: Sơ đồ tuần tự màn chơi thứ 3 20

Hình 1.5: Sơ đồ tuần tự màn chơi thứ 4 21

Hình 1.6: Sơ đồ tuần tự màn chơi thứ 5 21

Hình 1.7: Sơ đồ tuần tự màn chơi thứ 6 22

Hình 1.8: Sơ đồ tuần tự màn chơi thứ 7 23

Hình 1.9: Sơ đồ tuần tự màn chơi thứ 8 24

Hình 1.10: Sơ đồ tuần tự màn chơi thứ 9 24

Hình 1.11: Sơ đồ tuần tự màn chơi thứ 10 25

Hình 1.12: Sơ đồ tuần tự màn chơi thứ 11 25

Hình 1.13: Sơ đồ tuần tự màn chơi thứ 12 26

Hình 1.14: Sơ đồ tuần tự màn chơi thứ 13 27

Hình 1.15: Sơ đồ tuần tự màn chơi thứ 14 28

Hình 1.16: Sơ đồ tuần tự màn chơi thứ 15 29

Hình 2.1: Hệ thống phân cấp project cơ bản 30

Hình 2.2: Sơ đồ phân cấp các chức năng của phần mềm 31

Hình 2.3: Sơ đồ phân cấp dữ liệu dùng trong game 36

Hình 2.4: Loạt hình ảnh hình thành nên chú nhện 37

Hình 2.5: Sử dụng chức năng Place Insert Frame trong Corel 37

Hình 2.6: Chú nhện có màu quả bóng trắng 38

Hình 2.7: Mảng các ảnh động các chú nhện 38

Hình 2.8: Loạt hình ảnh hình thành nên lò xo 38

Hình 2.9: Lò xo có thêm các thanh đỡ 38

Hình 2.10: Mảng các ảnh động của lò xo 39

Hình 2.11: Loạt hình ảnh hình thành nên vật nặng 39

Hình 2.12: Mảng các ảnh động vật nặng 40

Hình 2.13: Giao diện loading 41

Hình 2.14: Giao diện menu 41

Hình 2.15: Giao diện menu (có các nút bật/tắt âm thanh) 42

Hình 2.16: Giao diện hướng dẫn 1 42

Hình 2.17: Giao diện hướng dẫn 2 43

Hình 2.18: Giao diện chọn màn chơi 43

Hình 2.19: Giao diện màn 1 44

Hình 2.20: Giao diện màn 2 44

Hình 2.21: Giao diện màn 3 45

Hình 2.22: Giao diện màn 4 45

Hình 2.23: Giao diện màn 5 46

Trang 8

Hình 2.25: Giao diện màn 7 47

Hình 2.26: Giao diện màn 8 47

Hình 2.27: Giao diện màn 9 48

Hình 2.28: Giao diện màn 10 48

Hình 2.29: Giao diện màn 11 49

Hình 2.30: Giao diện màn 12 49

Hình 2.31: Giao diện màn 13 50

Hình 2.32: Giao diện màn 14 50

Hình 2.33: Giao diện màn 15 51

Hình 2.34: Thuật toán kiểm tra chiến thắng cho 1 màn chơi 52

Hình 2.35: Thuật toán nhện chụp lấy bóng cùng màu, ném đối tượng khác 53

Hình 2.36: Thuật toán tạo nét cắt 54

Hình 2.37: Thuật toán tạo sợi dây treo vật thể 55

Hình 2.38: Thuật toán tạo các đối tượng – cách xách định từng va chạm 56

Hình 2.39: Thuật toán tính lực va chạm 57

Trang 9

TÓM TẮT

Sự bùng nổ của các thiết bị thông minh trong vài năm qua đã dẫn đến sự ra đời của một thị trường tiềm năng - thị trường ứng dụng di động Thị trường này có tốc độ phát triển nhanh chóng và mạnh mẽ, đặc biệt trong lĩnh vực lập trình game trên di động, đó là vùng đất hứa cho các lập trình viên đam mê về game trên di động Luận văn tốt nghiệp là công trình nghiên cứu về game engine – bộ công cụ cung cấp môi trường phát triển tích hợp được đơn giản hóa, đặc biệt là công cụ Corona SDK, 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ó Sản phẩm của luận văn là một game (Spider Ball) chạy được trên các thiết bị di động, máy tính bảng chạy hệ điều hành Android Game được phát triển trên ngôn ngữ Lua và công cụ phát triển trò chơi Corona SDK, theo cách lập trình hướng dữ liệu game tạo ra 15 màn chơi được sắp xếp từ mức độ dễ đến khó, giao diện thân thiện, đối tượng đồ họa sinh động, âm thanh trực quan lôi cuốn người chơi Tuy game chỉ chạy được trên nền tảng Android, nhưng trong tương lai game sẽ tiếp tục phát triển và có mặt trên cả 3 nền tảng thông dụng hiện nay (Android, iOS và Window phone)

Trang 10

ABSTRACT

The explosion of smart devices in the past few years led to the birth of a potential market - the mobile application market Market is able to grow strong and fast, especially in the moblie game programming, the promised land which gives software developer enthuse for games on mobile Thesis researchs for the game engine - tools are generally provided in an integrated development environment to enable simplified, especially Corona SDK tools, they provide a flexible and reusable software platform which provides all the core functionality needed Product of the thesis (Spider Ball) runing on mobile devices, tablets running the Android operating system The game has developed on Lua language and Corona SDK, follow programming in a data-driven manner, game have 15 levels from easy

to difficult, user-friendly interface, vivid graphic objects, visual audio appeal players However, the game only runs on the Android platform, but the game will continue to develop in the future and be present on all 3 platforms currently used (Android, iOS and Windows Phone)

Trang 11

GIỚI THIỆU

 ĐẶT VẤN ĐỀ

Xuất phát từ ý tưởng của game Cut the Rope (Cắt dây thừng) là một trò chơi điện tử thể loại giải đố dựa trên vật lý nhiều phần của nhà phát triển Nga ZeptoLab thiết kế cho nhiều dạng máy và thiết bị chơi Mục tiêu của trò chơi là đưa viên kẹo vào miệng của Om Nom, một quái vật nhỏ xíu màu xanh lá, trong khi phải thu thập càng nhiều sao càng tốt Dựa trên ý tưởng của game Cut the Rope, một ý tưởng về trò chơi mới được hình thành Trong trò chơi mới này, 1 cặp viên kẹo – Om Nom của game Cut the Rope sẽ trở thành 2 cặp bóng – nhện, viên kẹo sẽ trở thành các quả bóng, Om Nom sẽ trở thành các chú nhện sinh động, các quả bóng có nhiều màu sắc hơn, ngoài ra còn có các đối tượng khác (lò xo, vật nặng, vật cản, …) để làm cho trò chơi hấp dẫn hơn

Để phát triển game đa nền tảng, Corona SDK thường được sử dụng vì giúp phát triển ứng dụng nhanh hơn gấp nhiều lần Ngoài ra, nó còn cung cấp hệ thống thư viện hỗ trợ phong phú và được thiết kế rất tốt do đó nhà phát triển phần mềm có thể dễ dàng xây dựng các thao tác (hành động) trong game chỉ với một vài dòng code Với công cụ Corona SDK, chúng ta chỉ cần phát triển game một lần, sau đó

có thể dễ dàng biên dịch ứng dụng sang các nền tảng khác như Andriod, iOS, Kindle Fire, Nook và Windows Phone một cách dễ dàng Không những vậy Corona SDK còn cho hỗ trợ chuyển đổi với những thiết bị có kích cỡ và độ phân giải khác nhau một cách dễ dàng

Từ những nội dung trên, tác giả đề xuất đề tài “TÌM HIỂU CORONA SDK VÀ LUA, ỨNG DỤNG PHÁT TRIỂN GAME TRÊN THIẾT BỊ DI ĐỘNG” Game

cụ thể được phát triển dựa trên ý tưởng được trình bày ở trên (nhện bắt bóng) có tên là “Spider Ball”

 TÓM TẮT LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

Việc phát triển game chạy đa nền tảng là một vấn đề không mới, vì hiện tại có rất nhiều game sử dụng nhiều công cụ khác nhau (Unity, Marmalade, V-Play, Cocos2D JS…) được đưa lên hằng ngày trên các chợ Google Play hay App store Trong đó có game Cut the Rope, một dạng game giải đố với ý tưởng đưa một viên kẹo vào miệng của một con quái vật Game này không cung cấp mã nguồn, cũng không cho biết các công nghệ để làm ra sản phẩm này Vì vậy, tác giả không biết được thuật toán của game Cut the Rope và không tái sử dụng được bất cứ một thành phần nào của game này Mặc dù game “Spider Ball” dựa trên ý tưởng của game

Trang 12

trên nhưng áp dụng trên đối tượng khác nhau, số lượng đối tượng khác nhau, thuật toán do tác giả tự đề xuất Do đó, bài toán tự đề xuất này là hoàn toàn mới đối với tác giả và chưa từng được giải quyết trước đó

 MỤC TIÊU ĐỀ TÀI

Ứng dụng bộ công cụ phát triển ứng dụng Corona SDK và các thư viện sẵn có (OpenGL, OpenAL, Box2D, JSON …) để xây dụng game “Spider Ball” với các vấn đề trọng tâm như

– Bố trí các màn chơi một cách logic và theo mức độ từ dễ đến khó hơn – Quản lý (bật/tắt) được âm thanh (hiệu ứng/nhạc nền) thông qua các nút trên giao diện menu

– Tạo được nét cắt để có thể đưa chính xác các quả bóng đến từng chú nhện

– Làm cho các chú nhện có thể chụp lấy bóng cùng màu, ném các bóng khác màu (vật thể khác)

– Tạo ra các đối tượng lò xo để bắn các vật thể khác (vật nặng, bóng), và bắn được nhiều lần

– Lưu các dữ liệu trong game sử dụng JSON

 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

Đối tượng được nghiên cứu là các đối tượng đồ họa và các thuật toán được sử dụng trong game Mặc dù công cụ được sử dụng để phát triển game hỗ trợ đa nền tảng (Android, iOS, Window phone), nhưng trong phạm vi luận văn này nghiên cứu chỉ tập trung vào nền tảng Android

 NỘI DUNG NGHIÊN CỨU

Tác giả sẽ tập trung nghiên cứu các nội dung chính như sau:

– Cách thức xây dựng trò chơi đa nền tảng sử dụng công cụ Corona SDK

và ngôn ngữ LUA

– Bộ thư viện thư viện vật lý trong Corona SDK (Physics), bộ thư viện vật

lý hỗ trợ trong quá trình phát triển game, cách tạo ra môi trường vật lý, cho đến cách xử lý các va chạm giữa các đối tượng đồ họa với nhau, tùy biến sản phẩm cuối cùng để có thể biên dịch chạy được trên đa nền tảng Hiểu được một cách tổng quan, sơ bộ về phương thức hoạt động của một số trò chơi đơn giản, những thành phần cơ bản có trong một trò chơi Tìm hiểu cách thêm, sửa, xóa, tạo mới các kết cấu, cấu tạo, xếp đặt màu sắc lên các đối tượng hiển thị có trong Corona SDK

Trang 13

– Ngôn ngữ LUA, ngôn ngữ lập trình thông dịch với đặc điểm nhỏ gọn, đa nền tảng Tìm hiểu cách lập trình, soạn thảo mã kịch bản cho chương trình, cách đặt ra quy luật trong trò chơi

– Tham khảo các flash game trên mạng, tìm kiếm ý tưởng để tạo ra các màn chơi

– Xây dụng game “Spider Ball” thông qua các bước phân tích, thiết kế, cài đặt và kiểm thử phần mềm

 NHỮNG ĐÓNG GÓP CHÍNH CỦA ĐỀ TÀI

Đề tài đã đóng góp thêm vào tài liệu nghiên cứu cho sinh viên khoa Công nghệ thông tin & Truyền thông, trong lĩnh vực lập trình game trên di động Ngoài ra, đề tài cũng là tài liệu tham khảo cho các sinh viên các khóa sau, khi nghiên cứu về Corona SDK và ngôn ngữ LUA, ứng dụng phát triển trò chơi đa nền tảng

Game “Spider Ball” bổ sung thêm vào kho trò chơi phong phú trên google play thuộc thể loại giải đố Game giúp người chơi rèn luyện tư duy logic, giải trí sau giờ làm việc mệt mỏi

 BỐ CỤC CỦA QUYỂN LUẬN VĂN

Quyển luận văn gồm 5 nội dung chính

Phần đầu gồm có: lời cảm ơn, mục lục, danh mục đồ thị, biểu bảng và hình ảnh, tóm tắt và abstract

Phần giới thiệu gồm: mô tả sơ lược về bài toán (đặt bóng vào hộp cùng màu), đưa ra vấn đề dựa trên bài toán đó, lợi ích và vì sao chọn Corona SDK; tóm tắt lịch

sử giải quyết vấn đề; nêu mục tiêu đề tài với những vấn đề trọng tâm cần giải quyết; nêu đối tượng và pham vi của đề tài; liệt kê toàn bộ nội dung mà đề tài nghiên cứu

và nêu những đóng góp chính của đề tài

Phần nội dung gồm: 3 chương Chương 1 - mô tả chi tiết bài toán, đặt ra các yêu cầu chức năng, yêu cầu phi chức năng, cách giải quyết; phân tích đánh giá các giải pháp có liên quan đến bài toán, đưa ra các hướng giải quyết và chọn lựa hướng giải quyết; tiếp cận giải quyết vấn đề đặt ra Chương 2 - trình bày các thiết kế kiến trúc; thiết kế dữ liệu; thiết kế đối tượng - giao diện; thiết kế thuật toán; trình bày cách cài đặt giải pháp dựa vào các thiết kế Chương 3 - Mô tả mục tiêu kiểm thử, kịch bản kiểm thử và kết quả kiểm thử

Phần kết luận trình bày về các kết quả đạt được, hạn chế và hướng phát triển của

đề tài

Phần cuối là các tài liệu tham khảo và phụ lục bao gồm: hướng dẫn cài đặt, hướng dẫn sử dụng

Trang 14

CHƯƠNG 1 - MÔ TẢ BÀI TOÁN

1.1 MÔ TẢ CHI TIẾT BÀI TOÁN

Vấn đề bài toán đặt ra là làm như thế nào để có thể đưa những quả bóng vào những chú nhện cùng màu Bài toán có 15 màn chơi trong từng màn chơi tùy mức

độ phức tạp mà người lập trình đặt ra số lượng nhện và bóng trong màn chơi là nhiều hay ít nhưng vẫn giữ đúng cặp (nhện – bóng) nhất định Cụ thể, nếu có 2 nhện thì số bóng tương ứng phải là 2 Ở đây ta có 1 nhện màu trắng, 1 nhện màu

đỏ, 1 bóng trắng, 1 bóng đỏ Đặc biệt, nếu ở màn chơi có nhiều hơn một quả bóng cùng màu xuất hiện, thì chú nhện có màu tương ứng đó phải chụp được nhiều lần Các chú nhện được đặt cố định ở một vị trí trong màn chơi, còn các quả bóng thì linh động hơn, có thể được treo, nằm trên vật thể khác Ngoài ra, còn có các khúc

gỗ làm vật cản, lò xo (bắn các vật thể khác), các dây treo treo đối tượng khác (vật nặng, khúc gỗ, …), vật nặng gây cản trở bóng đến các chú nhện

Các yêu cầu đặt ra với bài toán này được chia thành 2 nhóm: yêu cầu chức năng, yêu cầu phi chức năng

Các yêu cầu chức năng:

– Chọn màn chơi – cho phép người dùng lựa chọn màn để chơi Khi vào màn chơi thì từng màn có các chức năng: tạo nét cắt, tạo dây treo đối tượng khác, các chú nhện chụp lấy những quả bóng cùng màu, ném các vật khác (bóng khác màu,… ), lò xo giúp bắn các vật thể khác đi

– Hướng dẫn – giúp người dùng hiểu được luật chơi

– Bật/tắt âm thanh (hiệu ứng/nhạc nền)

– Chuyển đổi ngôn ngữ (tiếng Anh/tiếng Việt)

– Xem thông tin về sản phẩm

Các yêu cầu phi chức năng

– Giao diện

+ Đẹp, bắt mắt

+ Các tông màu phù hợp với các đối tượng

– Thời gian thực hiện

+ Thời gian trễ không quá 5s

+ Game vận hành mượt mà không có lỗi phát sinh

– Thiết bị hỗ trợ

+ Hệ điều hành Android 2.3.3 hoặc cao hơn (ARMv7) Ứng dụng được xây dựng trong phiên bản này sẽ không cài đặt được trên các thiết bị ARMv6

Trang 15

+ Bộ nhớ điện thoại trống 30M

+ Độ phân giải màn hình đề nghị 800x480 hoặc cao hơn

+ Ghi chú: hiện tại game chạy tốt trên nền tảng android, công việc chuyển đổi sang nên tảng Window Phone, iOS là không mất nhiều thời gian

1.2 PHÂN TÍCH ĐÁNH GIÁ CÁC GIẢI PHÁP/ CÓ LIÊN QUAN ĐẾN BÀI TOÁN

Vấn đề được tiếp nhận và có nhiều hướng giải quyết, bên dưới là các hướng giải quyết bài toán

Về công nghệ, CorelDRAW là một phần mềm biên tập đồ họa vector vì nó có các tính năng: tạo, xuất ảnh dưới dạng vector, dễ dàng chuyển đổi một bức ảnh sang dạng vector Vì vậy tác giả sử dụng phần mềm CorelDRAW để cài đặt các thiết kế đối tượng và giao diện trong game “Spider Ball”

Hướng giải quyết thứ 1 sử dụng công nghệ Corona SDK và ngôn ngữ LUA Hướng giải quyết thứ 2 sử dụng công nghệ Cocos2D JS sử dụng hoàn toàn

bằng JavaScript

Công nghệ Cocos2D JS có ưu điểm về hỗ trợ đa nền tảng, đa ngôn ngữ, tuy nhiên công nghệ này không cung cấp một cấu trúc tốt cho ứng dụng, API không chính thống do đa ngôn ngữ và hoàn toàn không theo một chuẩn nào Công nghệ Corona SDK và LUA có ưu điểm hơn công nghệ Cocos2D JS, máy ảo trong Corona SDK chạy khá nhanh, dễ dàng điều chỉnh các độ phân giải khác nhau của màn hình Đặc biệt CoronaSDK cho phép tạo âm thanh/yếu tố trực quan chỉ với một hoặc hai dòng code Lua được phát triển từ C và hệ thống các API theo hướng đơn giản hóa Cài đặt ngôn ngữ LUA, vì có các tính năng: nhỏ gọn, nhanh, kết hợp tốt, đa nền tảng Toàn bộ phần mềm thông dịch Lua cùng mã nguồn, tài liệu hướng dẩn và các

ví dụ chỉ gói gọn trong dung lượng 860 KB (phiên bản 5.1.4, không nén) Tốc độ của Lua thuộc vào loại nhanh nhất trong số các ngôn ngữ thông dịch Kết hợp tốt với các ngôn ngữ khác, chẳng hạn C Chạy trên Windows, Unix, Linux, Mac OS X cùng nhiều hệ điều hành khác Sử dụng ngôn ngữ Lua để cài đặt các thiết kiến trúc, thiết kế dữ liệu và thiết kế thuật toán trong game Nên tác giả chọn hướng giải quyết thứ 1

Về cách chơi, bài toán được giải quyết với nhiều luật chơi và bên dưới là các luật chơi được đề xuất

Hướng giải quyết thứ 1 sử dụng luật chơi như sau: người chơi dùng ngón

tay để tạo nét cắt, cắt các sợi dây treo các quả bóng hoặc các vật nặng sao cho hợp

lý nhất để các quả bóng rơi đúng vào các chú nhện cùng màu

Hướng giải quyết thứ 2 sử dụng luật chơi như sau: người chơi nắm, giữ và

bắn đi vật thể (chú nhện), thay vì dùng ngón tay cắt như luật chơi trên

Trang 16

Do thời gian làm luận văn bị giới hạn cùng với việc phải tìm hiểu về các công nghệ mới (Corona SDK, LUA), nên để phù hợp với năng lực và thời gian của tác giả trong việc làm đề tài vì thế tác giả chọn hướng giải quyết thứ 1 Tác giả cần phải nghiên cứu thêm bộ thư viện multitouch có độ phức tạp lớn hơn nếu chọn hướng giải quyết thứ 2

1.3 TIẾP CẬN GIẢI QUYẾT VẤN ĐỀ

Thông thường một hệ thống cần có biểu đồ lớp để mô tả toàn bộ bức tranh hệ thống Các biểu đồ lớp giúp người phát triển phần mềm quan sát và lập kế hoạch xây dựng hệ thống trước khi viết mã trình Nó được đảm bảo rằng hệ thống được thiết kế tốt ngay từ ban đầu Sau đây là sơ đồ lớp của hệ thống game “Spider Ball”

 Sơ đồ lớp

Hình 1.1: Sơ đồ lớp

Ball_Spider

TopRope_Rope Shoot_Steel

Ball x y Name

Spider x

y Name Dx_White Dy_White Dx_Red Dy_Red Dx_Blue Dy_Blue create() update() getObject() destroy() destroyAll() hide() show() onCollWhite() onCollRed() onCollBlue()

Line x y strokeWidth isSensor onCollLine() drawLine() destroy()

Background x

y

Rope x

y Name Num isSleepingAllowed rotation

create() destroy() hide() show()

Trang 17

Bảng 1 1: Bảng diễn giải các đối tượng trong game

isSleepingAllowed Cho phép đối tượng là ngũ hay không

là không

Trang 18

destroy() Hàm xóa bỏ từng đối tượng

rơi vào chú nhện xanh

rơi vào chú nhện đỏ

onCollSprings() Hàm xử lý các va chạm khi đối tượng khác

rơi vào lò xo

onCollSteel() Hàm xử lý các va chạm khi vật nặng rơi onCollWhite() Hàm xử lý các va chạm khi đối tượng khác

rơi vào chú nhện trắng

với mối nối

Người thiết kế và người phát triển phần mềm có thể xác định các lớp sẽ xây dựng, quan hệ giữa các lớp, thao tác và trách nhiệm của mỗi lớp thông qua sơ đồ lớp Nên biểu đồ tuần tự trở thành nền tảng cho các công việc còn lại của thiết kế Biểu đồ trình tự là trật tự theo thời gian của các thông điệp, nó có ích khi ai đó muốn quan sát luồng logic trong kịch bản

 Sơ đồ tuần tự

Bảng 1.2: Danh sách các sơ đồ tuần tự

1 Sơ đồ tuần tự màn chơi thứ 1 Màn 1

2 Sơ đồ tuần tự màn chơi thứ 2 Màn 2

3 Sơ đồ tuần tự màn chơi thứ 3 Màn 3

4 Sơ đồ tuần tự màn chơi thứ 4 Màn 4

5 Sơ đồ tuần tự màn chơi thứ 5 Màn 5

6 Sơ đồ tuần tự màn chơi thứ 6 Màn 6

7 Sơ đồ tuần tự màn chơi thứ 7 Màn 7

8 Sơ đồ tuần tự màn chơi thứ 8 Màn 8

9 Sơ đồ tuần tự màn chơi thứ 9 Màn 9

10 Sơ đồ tuần tự màn chơi thứ 10 Màn 10

11 Sơ đồ tuần tự màn chơi thứ 11 Màn 11

Trang 19

13 Sơ đồ tuần tự màn chơi thứ 13 Màn 13

14 Sơ đồ tuần tự màn chơi thứ 14 Màn 14

15 Sơ đồ tuần tự màn chơi thứ 15 Màn 15

– Màn 1: màn gồm một vật nặng màu vàng, 2 quả bóng màu đỏ và trắng, 2

chú nhện màu đỏ và trắng Người chơi cắt sợi dây treo vật nặng, làm rơi để va

chạm bóng đỏ và trắng, làm cho bóng đỏ rơi vào nhện đỏ, bóng trắng rơi vào

nhện trắng

Hình 1.2: Sơ đồ tuần tự màn chơi thứ 1

– Màn 2: màn gồm 2 quả bóng màu đỏ và trắng, 2 chú nhện màu đỏ và

trắng, và một số các khúc gỗ tạo thành hình cái bập bênh Quả bóng trắng được

đặt so le (chéo góc) với chú nhện trắng, tương tự với bóng đỏ, còn cái bập bênh

được đặt ở giữa Người chơi cố gắng đưa bóng trắng về phía nhện trắng và bóng

đỏ về phía nhện đỏ

Vẽ nét cắt Tạo nét cắt

Background

NguoiDung

Trang 20

Hình 1.3: Sơ đồ tuần tự màn chơi thứ 2

– Màn 3: ở màn chơi này xuất hiện thêm một bệ lò xo làm chức năng đẩy

vật thể khác khi người chơi chạm vào chúng Người chơi cố gắng cắt các sợi dây

sao cho vật nặng rơi vào bệ lò xo, người chơi chạm vào lò xo, bắn vật nặng va

chạm với 2 bóng, 2 bóng rơi về hai phía và rơi xuống bên dưới Bên dưới là các

chú nhện đang đón chờ các quả bóng rơi

Hình 1.4: Sơ đồ tuần tự màn chơi thứ 3

– Màn 4: trong màn các quả bóng được treo lơ lững bên phía trên cùng bên

Man 2

Mối nối Bóng

đỏ NguoiDung

Hủy liên kết

Va chạm

Vẽ nét cắt Tạo nét cắt

Bóng trắng

Nhện trắng

Khúc gỗ

Nhện đỏ

Đường thẳng Background

Chụp lấy bóng đỏ

Chụp lấy bóng trắng

Va chạm Lăn trên

Hủy liên kết

Va chạm

Vẽ nét cắt Tạo nét cắt

Va chạm Lăn trên

Bóng đỏ

Nhện trắng

Nhện đỏ

Đường thẳng Background

Va chạm Bắn

Va chạm Hủy liên kết

Va chạm Tạo nét cắt

Trang 21

khối gỗ lớn chặn lại nhưng có một lỗ được tạo ra giúp bóng rơi lọt xuống phía bên dưới, phía dưới cái lỗ này có treo một khúc gỗ dùng để dẫn banh đi đúng hướng Người chơi cố gắng đưa quả banh trắng rơi xuống nhện trắng trước, sau

đó cắt sợi dây treo khúc gỗ tạo đường đi cho bóng đỏ đến nhện đỏ sau

Hình 1.5: Sơ đồ tuần tự màn chơi thứ 4

– Màn 5: người chơi cố gắng cắt vật nặng vào bệ lò xo, bắn vật nặng va chạm với 2 quả bóng, lần lượt cắt các quả bóng trắng, đỏ lần lượt rơi vào các chú nhện trắng đỏ

Bóng trắng Mối nối

Va cham

Vẽ nét cắt Tạo nét cắt

Nhện trắng

Khúc gỗ

Nhện đỏ

Chụp lấy bóng đỏ

Va chạm Lăn trên

Va chạm

Va chạm

Vẽ nét cắt Tạo nét cắt

NguoiDung

Vật nặng 2

Vật

Bóng đỏ

Nhện đỏ

Va chạm Hủy liên kết

Va chạm Tạo nét cắt

Vật nặng Background Đường

Bóng trắng

Nhện trắng

Trang 22

– Màn 6: trong màn có 2 bóng trắng, 1 bóng đỏ, 2 chú nhện trắng - đỏ, 3

vật nặng Các quả bóng lần lượt được đặt ở phía trên các khúc gổ là trắng - đỏ -

trắng Ở phí trên các quả bóng là các vật nặng được treo thẳng đứng Ở giữa màn

là thanh gỗ chuyển động qua lại Bên dưới là các chú nhện, đỏ được đạt bên tay

trái, trắng nằm ở phía bên tay phải Người chơi cắt các vật nặng rơi, va chạm với

các quả bóng rơi vào các chú nhện

Hình 1.7: Sơ đồ tuần tự màn chơi thứ 6

– Màn 7: trong màn gồm có 2 quả bóng trắng - đỏ, 2 chú nhện trắng đỏ, 1

lò xo, 3 vật nặng, và một số khúc gỗ làm vật cản Người chơi cắt quả bóng trắng

để va chạm với vật nặng thứ 1 và thứ 2, rơi xuống bên dưới va chạm với lò xo

Lò xo bắn bóng trắng trúng vật nặng thứ 3 và rơi trúng nhện trắng Tiếp theo cắt

quả bóng đỏ rơi thẳng đứng và bên dưới là chú nhện đỏ

Va chạm

Vẽ nét cắt

Va chạm Hủy liên kết

Va chạm

Vẽ nét cắt

Vật nặng

Bóng trắng

Vật nặng

Thanh gỗ

di chuyển

Va cham Lăn trên

Va chạm Hủy liên kết

Va chạm

Vẽ nét cắt

Va cham Lăn trên

Va chạm Hủy liên kết

Va cham

Vẽ nét cắt

Tạo nét cắt

Vật nặng

Bóng trắng

Vật nặng

Bóng đỏ

Nhện đỏ Background Mối

nối

Đường thẳng

Nhện trắng

Trang 23

Hình 1.8: Sơ đồ tuần tự màn chơi thứ 7

– Màn 8: trong màn có 2 quả bóng trắng – đỏ, 2 chú nhện trắng đỏ, 3 vật

nặng và có 2 cái lò xo quay một góc 20 độ 2 quả bóng được treo phía bên trên

còn 2 lò xo được đặt bên dưới các quả bóng, nhưng bị lệch về phía bên tay trái

khoảng 100 pixel Các vật nặng thứ nhất treo sao cho khi cắt dây liên kết thì rới

trúng bóng trắng, làm đung đưa nó Cắt bóng trắng cho rơi để va chạm với vật

nắng thứ 2 và 3 Đồng thời bóng trắng rơi vào lò xo, bắn lên trúng nhện trắng

Vật nặng thứ 3 va chạm với lò xo thứ 2, bắn va chạm với bóng đỏ Làm đung

đưa bóng đỏ, cắt bóng đỏ sao cho rơi vào nhện đỏ

NguoiDung

Bóng xanh

Nhện xanh

Vật nặng 2

Vật

Đường thẳng

gỗ Man 7

Chụp lấy bóng trắng

Va cham Hủy liên kết

Va chạm

Vẽ nét cắt Tạo nét cắt

Hủy liên kết

Va chạm

Vẽ nét cắt Tạo nét cắt

Chụp lấy bóng đỏ

Va cham Hủy liên kết

Chụp lấy bóng xanh

Va chạm Hủy liên kết

Va cham

Vẽ nét cắt

Tạo nét cắt

Mối nối Bóng trắng Nhện trắng

Trang 24

Hình 1.9: Sơ đồ tuần tự màn chơi thứ 8

– Màn 9: tương tự như ở màn 2, ở màn này có thêm bóng xanh và nhện

xanh, mức độ khó của màn được tăng lên

Hình 1.10: Sơ đồ tuần tự màn chơi thứ 9

– Màn 10: ở màn này xuất hiện thêm một chú nhện thứ 3 (nhện xanh), dựa

vào vị trí các vật cản trong màn, người chơi cố gắng cắt các sợi dây một cách

logic nhất để đưa bóng vào đúng nhện

Man 8

NguoiDung

Chụp lấy bóng trắng

Va chạm Hủy liên kết

Va chạm

Vẽ nét cắt Tạo nét cắt

Chụp lấy vật va chạm

nặng

Vật nặng 2

Đường thẳng

trắng

Nhện trắng

Ném vật nặng đi

Va chạm Ném vật nặng đi

Chụp lấy vật va chạm

Va chạm

Va chạm Hủy liên kết

Va chạm Background

Va chạm

Bắn

Va chạm

Va chạm Hủy liên kết

Va cham

Vẽ nét cắt Tạo nét cắt

Đường thẳng Mối nối Lò xo

Vật nặng

Bóng trắng

Nhện trắng

Bóng đỏ

Nhện đỏ

Trang 25

Hình 1.11: Sơ đồ tuần tự màn chơi thứ 10

– Màn 11: trong màn gồm có 2 quả bóng trắng – xanh, 2 chú nhện trắng –

xanh Các khúc gỗ được đặt chia làm thành 2 bên trái và phải, trong đó có 2

thanh gỗ được di chuyển qua lại ở phía giữa tạo cầu nối cho 2 bên 2 cặp bóng

nhện được đặt so le nhau Người chơi cố gắng cắt vật nặng trước để va chạm với

một số vật nặng khác tạo khoảng trống để đưa bóng vào nhện Cần canh thời

gian để đưa bóng từ bên này qua bên kia, vì 2 thanh gỗ này di chuyển qua lại

Hình 1.12: Sơ đồ tuần tự màn chơi thứ 11

NguoiDung

Vật nặng

Vật nặng 2

Bóng xanh

Nhện xanh

Thanh gỗ di chuyển Man 10

Va chạm

Vẽ nét cắt Tạo nét cắt

Lăn trên Lăn trên

Chụp lấy bóng xanh

Va chạm Hủy liên kết

Va chạm

Vẽ nét cắt

Chụp lấy bóng trắng

Va cham Lăn trên

Va cham

Vẽ nét cắt Tạo nét cắt

Thanh gỗ di chuyển 2 Background Đường

thẳng Mối nối

Bóng trắng

Nhện trắng

Va chạm

Nhện trắng Mối nối

Bóng trắng

Khúc gỗ

Đường thẳng

nặng

Bóng đỏ

Nhện đỏ

Trang 26

– Màn 12: trong màn ngươi chơi cố gắng vượt màn bằng cách đưa 1 trong những chú nhện màu vàng (có kích thước lớn) vào bệ lò xo, bệ lò xo bắn chú nhện lên va chạm vào 2 quả bóng rơi về hai phía và rơi xuống bên dưới, hứng bên dưới là 2 chú nhện trắng và đỏ

Hình 1.13: Sơ đồ tuần tự màn chơi thứ 12

– Màn 13: trong màn gồm có 1 quả bóng trắng, 1 chú nhện, 2 vật nặng Quả bóng và vật nặng được treo phía trên bên trái, còn chú nhện được đặt phía dưới bên phải, ở giữa thì có 2 thanh gỗ di chuyển qua lại gâp khó khăn người chơi đưa bóng về phía nhện Ngoài ra, còn có 1 vật nặng nằm phía trên chú nhện nhằm không cho quả bóng rơi về phía chú nhện

Vật nặng 2

Vật nặng 3

trắng

Nhện trắng Background Đường

thẳng Mối nối

Bóng đỏ

Nhện đỏ

Va chạm

Va chạm

Va chạm

Trang 27

Hình 1.14: Sơ đồ tuần tự màn chơi thứ 13

– Màn 14: 2 quả bóng được treo phía bên trên, ở dưới nó là một dãy khúc

gỗ ngăn cách các chú nhện phía bên dưới, ở giữa dãy ngăn cách là một khúc gỗ

được treo căng bằng, làm vật cản ngăn chặn bóng rơi Ngươi chơi vượt ải bằng

cách cắt những sợi dây treo khúc gỗ này, làm nó rới xuống bên dưới tạo đường

đi Bên tay phải là một khúc gỗ được cố định 1 đầu, đầu còn lại được treo hờ bởi

một sợi dây Khi cắt sợi dây này, khúc gỗ sẽ đánh vào vật nặng, khiến vật nặng

văng ra xa va chạm với quả bóng từ trên rớt xuống, đẩy quả bóng về hướng chú

Va chạm

Va chạm Bắn

Va chạm Hủy liên kết

Va chạm

Vẽ nét cắt Tạo nét cắt

Bóng trắng

Nhện trắng

Đường thẳng

Hủy liên kết

Va chạm

Vẽ nét cắt Tạo nét cắt

Chụp lấy bóng trắng

Va chạm Hủy liên kết

Va chạm

Vẽ nét cắt Tạo nét cắt

Trang 28

Hình 1.15: Sơ đồ tuần tự màn chơi thứ 14

– Màn 15: trong màn gồm có 2 quả bóng được treo phía trên, 2 chú nhện

được đặt góc dưới bên phải, ngoài ra còn có 2 khúc gỗ được thiết kế giống với

một cái chong chóng, 1 được đặt bên trái quay ngược chiều kim đồng hồ, 1 được

đặt bên phải quay theo chiều kim đồng hồ và có thêm một khúc gỗ di chuyển

qua lại nằm phía bên trái Người chơi vượt màn bằng cách cắt bóng đỏ rơi xuống

bên dưới, va chạm với khúc gỗ quay ngược chiều kim đồng hồ làm bật quả bóng

đỏ sang bên đối diện, tiếp tục người chơi cắt quả bóng trắng rơi xuống bên dưới,

sao cho quả bóng vừa lọt vào chú nhện trắng đang nằm phía bên dưới

NguoiDung

Nhện đỏ

Chụp lấy bóng trắng 2

Va chạm

Bóng xanh

Nhện xanh

Man 14

Bóng trắng

Nhện trắng Background Đường

thẳng Mối nối

Khúc gỗ

Bóng

Vật nặng

Bóng đỏ

Tạo nét cắt

Chụp lấy bóng xanh

Va chạm Chụp lấy bóng trắng

Va cham

Va chạm Hủy liên kết

Va cham

Vẽ nét cắt Tạo nét cắt

Chụp lấy bóng đỏ

Va cham

Va chạm Bắn

Va chạm

Va chạm Lăn trên

Hủy liên kết

Va chạm

Vẽ nét cắt

Trang 29

Hình 1.16: Sơ đồ tuần tự màn chơi thứ 15

Man 15

NguoiDung

Chụp lấy bóng đỏ

Va chạm Hủy liên kết

Va chạm

Vẽ nét cắt Tạo nét cắt

Mối nối Bóng đỏ Bóng trắng chóng 1Chong chóng 2Chong Nhện đỏ

Đường thẳng

trắng

Chụp lấy bóng trắng

Va chạm Đẩy

Va chạm Hủy liên kết

Va chạm

Vẽ nét cắt Tạo nét cắt

Va chạm Đẩy

Trang 30

CHƯƠNG 2 - THIẾT KẾ VÀ CÀI ĐẶT GIẢI PHÁP

2.1 THIẾT KẾ

2.1.1 Thiết kế kiến trúc

Cấu trúc cho dự án (project) được phân cấp như sau

Hình 2.1: Hệ thống phân cấp project cơ bản

– Project_Folder/ (top-level)

+ images/ (folder): tập tin hình ảnh với phần mở rộng là png hay jpg

+ audio/ (folder): tập tin âm thanh (caf, mp3, ogg, vv )

+ videos/ (folder): các tập tin video ( avi, mp4, vv)

+ data/ (folder): tập tin dữ liệu chỉ đọc được sử dụng bởi ứng dụng của

chúng ta Chúng có thể được định dạng bất kỳ, nhưng thông thường nó chứa các tập tin như JSON và xml

+ scripts/ (folder): các tập tin Lua khác (ngoài main.lua)

+ main.lua: tập tin được chạy đầu tiên trong ứng dụng

+ config.lua: thiết lập cấu hình cho ứng dụng

+ build.settings: Để kiểm soát định hướng ứng dụng trên các thiết bị thực tế

Sơ đồ phân cấp chức năng của phần mềm

Trang 31

Hình 2.2: Sơ đồ phân cấp các chức năng của phần mềm

2.1.2 Thiết kế dữ liệu

Danh sách các đối tượng có trong game “Spider Ball” được mô tả trong bảng bên

dưới gồm có tên đối tượng, hình ảnh và vai trò của nó

Bảng 2.1: Danh sách các đối tượng trong game

vượt được ải

vượt được ải

vượt được ải

Màn 15

Hiển thị chiến thắng

Hiển thị điều hướng (đang chơi) Bật/tắt âm thanh Thay đổi ngôn ngữ Xem thông tin sản phẩm

Trang 32

5 Quả bóng đỏ Làm đối tượng tìm kiếm của chú

9 Mối nối Tạo nên các sợi dây treo vật thể

hình dạng giống như sao

16 Thanh nền bên

trái và phải

Làm các thanh giới hạn phong nền, tránh các vật thể vượt ra khỏi màn hình

Trang 33

21 Nút home Trở về trang menu

27 Nút xem thông

tin

Xem thông tin về người lập trình

Trang 34

Function onCollRed(self , event);

Function onCollBlue(self , event);

Function create( obj , dx , dy );

Function create(dx, dy, _rotation , _force );

Function onCollSprings(self, event);

Trang 35

Function create(dx , dy ,_friction ,_bounce , _density , _radius

,_linearDamping);

Function onCollSteel( self , event)

Fuction getObject( objname );

Funtion create( n , dx , dy ,ropeFirst , ropeFinal );

Function ropeCollision( event )

Ngoài ra, Game cần lưu lại các tùy chỉnh khi đang chơi trong game ( ngôn ngữ;

âm thanh, nhạc nền là bật hay tắt; số sao; màn chưa chơi; màn đã chơi, …) vì vậy cần một để bảng lưu lại các dữ liệu này

myData{

Number maxGroupLevels;

Number maxLevels;

String currentScene;

Trang 36

Sơ đồ phân cấp dữ liệu dùng trong game

Hình 2.3: Sơ đồ phân cấp dữ liệu dùng trong game Bảng 2.2: Bảng diễn giải các dữ liệu dùng trong game

myData

settings currentLevel Level hiện tại

myData

maxGroup

Levels maxLevels

current Scene settings

currentLevel unlocked

Levels

unlocked GroupLevels levels

startscorecount

musicOn soundOn language

Trang 37

unlockedLevels Mở được đến level unlockedGroup

2.1.3 Thiết kế giao diện

 Thiết kế hình ảnh chú nhện (nhân vật chính của game)

– Cách một chú nhện được tạo nên

Hình 2.4: Loạt hình ảnh hình thành nên chú nhện

– Đổi màu chú nhện Chọn đối tượng bóng Sử dụng chức năng Place Insert Frame trong Corel, để đổi màu cho chú nhện

Hình 2.5: Sử dụng chức năng Place Insert Frame trong Corel

– Kết quả là ta được một chú nhện có màu giống với quả bóng

Trang 38

Hình 2.8: Loạt hình ảnh hình thành nên lò xo

– Ta thêm một vài thanh đỡ giúp cố định vật cần bắn

Hình 2.9: Lò xo có thêm các thanh đỡ

Trang 40

– Tạo ra một mảng các kích thước tùy vào pixel để sử dụng

Ngày đăng: 12/01/2016, 19:34

HÌNH ẢNH LIÊN QUAN

Hình 1.3: Sơ đồ tuần tự màn chơi thứ 2. - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 1.3 Sơ đồ tuần tự màn chơi thứ 2 (Trang 20)
Hình 1.9: Sơ đồ tuần tự màn chơi thứ 8. - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 1.9 Sơ đồ tuần tự màn chơi thứ 8 (Trang 24)
Hình 1.14: Sơ đồ tuần tự màn chơi thứ 13. - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 1.14 Sơ đồ tuần tự màn chơi thứ 13 (Trang 27)
Hình 1.15: Sơ đồ tuần tự màn chơi thứ 14. - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 1.15 Sơ đồ tuần tự màn chơi thứ 14 (Trang 28)
Hình 1.16: Sơ đồ tuần tự màn chơi thứ 15. - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 1.16 Sơ đồ tuần tự màn chơi thứ 15 (Trang 29)
Hình 2.14: Giao diện menu - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 2.14 Giao diện menu (Trang 41)
Hình 2.15: Giao diện menu (có các nút bật/tắt âm thanh) - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 2.15 Giao diện menu (có các nút bật/tắt âm thanh) (Trang 42)
Hình 2.19: Giao diện màn 1 - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 2.19 Giao diện màn 1 (Trang 44)
Hình 2.21: Giao diện màn 3 - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 2.21 Giao diện màn 3 (Trang 45)
Hình 2.23: Giao diện màn 5 - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 2.23 Giao diện màn 5 (Trang 46)
Hình 2.25: Giao diện màn 7 - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 2.25 Giao diện màn 7 (Trang 47)
Hình 2.27: Giao diện màn 9 - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 2.27 Giao diện màn 9 (Trang 48)
Hình 2.29: Giao diện màn 11 - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 2.29 Giao diện màn 11 (Trang 49)
Hình 2.31: Giao diện màn 13 - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 2.31 Giao diện màn 13 (Trang 50)
Hình 2.33: Giao diện màn 15 - tìm hiểu corona sdk và lua, ứng dụng phát triển game trên thiết bị di động
Hình 2.33 Giao diện màn 15 (Trang 51)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w