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

Đồ án tốt nghiệp- game đua ô tô android

51 4,2K 27
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Đồ án tốt nghiệp- game đua ô tô android
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Khoa Học Máy Tính & Công Nghệ Thông Tin
Thể loại đồ án tốt nghiệp
Thành phố Hà Nội
Định dạng
Số trang 51
Dung lượng 6,2 MB

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

Nội dung

Game đua ô tô sử dụng 3d max tạo nhân vật và các chướng ngại vật, chạy trên hệ điều hành android

Trang 1

Mục Lục :

CHƯƠNG I : CƠ SỞ LÝ THUYẾT 3

1 GAME : 3

2 CÔNG NGHỆ : 3

3 CƠ SỞ LÝ THUYẾT : 3

3.1 Hệ điều hành Android : 3

3.2 Java : 8

3.3 Giới thiệu về công cụ lập trình Unity : 11

3.4 AutoDesk 3DS Max : Tạo và chỉnh sửa đối tượng 3D (ô tô) trong Game.29 CHƯƠNG II : ĐẶC TẢ CHO LẬP TRÌNH 30

1 MÔ TẢ BÀI TOÁN : 30

1.1 Giới thiệu 30

1.2 Mô tả chung : 30

1.3 Yêu cầu chi tiết 30

2 THIẾT KẾ : 34

2.1 Xác định tác nhân 34

2.2 Xác định các ca sử dụng của hệ thống 34

2.3.Đặc tả các ca sử dụng 35

2.4 Tìm lớp : 39

CHƯƠNG III : XÂY DỰNG TRÒ CHƠI ĐUA Ô TÔ 41

1 CODE : CÁC LỚP CHÍNH : 41

1.1 Lớp Player : 41

1.2 Lớp CarCamera : 42

1.3 Lớp Score : 43

2 THIẾT KẾ ĐỒ HỌA : 45

2.1 Các đối tượng trong trò chơi : 45

2.1.1 Xe đua : 45

2.1.2 Chướng ngại vật : 46

2.2 Giao điện bắt đầu trò chơi : 46

2.3 Giao diện chơi : 47

Trang 2

2.4 Giao diện khi tạm dừng trò chơi 47

2.5 Giao diện kết thúc trò chơi : 48

2.6 Bản đồ chơi : 49

2.7 Giao diện Infor : 49

CHƯƠNG IV : KẾT LUẬN : 50

Tài liệu tham khảo : 51

DANH MỤC HÌNH ẢNH Hình 1 : giao diện Unity 13

Hình 2 : Collider theo các hình tương ứng 15

Hình 3 : Giao diện Mono Developer 16

Hình 4 : giao diện terrain 17

Hình 5 : công cụ Raise and lower the terrain height 18

Hình 6 : Paint the terrain texture 19

Hình 7 : ảnh minh họa sử dụng công cụ Paint the terrain texture 20

Hình 8 : Place Trees 20

Hình 9 : ảnh kết quả thực hiện các bước trên 20

Hình 10 : giao diện công cụ Place plants, stones and other small foilage 21

Hình 11 : kết quả sử dụng Place plants, stones and other small foliage 21

Hình 12 : Setting for the terrain 22

Hình 13 : công cụ Translate 23

Hình 14 : công cụ Rotate 23

Hình 15: công cụ Scale 24

Hình 16 : Cửa sổ Scene 25

Hình 17 : Cửa sổ Game 25

Hình 18 : cửa sổ InSpetor 26

Hình 19 : cửa sổ Project 27

Hình 20 : Cửa sổ Hierarchy 27

Hình 21 : Các phím sự kiện trong Unity (InPut) 28

Hình 22 : Giao diện AutoDesk 3DS Max 29

Hình 23 : Biểu đồ ca sử dụng 35

Hình 24 : Xe đua 45

Hình 25 : Giao điện bắt đầu trò chơi 46

Hình 26 : Giao diện chơi 47

Hình 27 : Giao diện tạm dừng trò chơi 47

Hình 28 : Giao Diện Thua 48

Hình 29 : Giao Diện Thắng 48

Trang 3

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

1 GAME :

 Thể loại: Game tốc độ

 Nội dung: người chơi điều khiển xe hoàn thành 4 vòng đua trong thời gian

là 3 phút, trên vòng đua sẽ có một số chướng ngại vật như :

 +10 : cộng thêm 10 điểm vào số điểm hiện có

 -10 : Trừ 10 điểm từ số điểm hiện có

 Chướng ngại vật làm giảm tốc độ của xe trong thời gian 5s

 Chướng ngại vật làm đảo lộn điều khiển xe trong thời gian 5s

Kết thúc trò chơi : +) khi hết thời gian mà chưa hoàn thành xong 4vòng đua, không hiển thị điểm có thể chơi lại hoặc thoát

+) khi chưa hết thời gian mà hoàn thành xong 4vòng đua, hiển thị điểm của người chơi, có thể chơi lại hoặc thoát

3.1.1 Khái niệm về Androi :

Android là hệ điều hành trên điện thoại di động (và hiện nay là cả trên một

số đầu phát HD, HD Player, TV) phát triển bởi Google và dựa trên nền tảng

Linux

Trước đây, Android được phát triển bởi công ty liên hợp Android ( sau đó

Trang 4

Android có một cộng đồng những nhà phát triển rất lớn viết các ứng dụng

cho hệ điều hành của mình.Hiện tại có khoảng 70,000 ứng dụng cho Android os

và vào khoảng 100,000 ứng dụng đã được đệ trình, điều này khiến Android trở

thành hệ điều hành di động có môi trường phát triển lớn thứ 2 Các nhà phát triển

viết ứng dụng cho Android dựa trên ngôn ngữ Java

Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành

lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng,

phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di

động trong tương lai

Google công bố hầu hết các mã nguồn của Android theo bản cấp phép

Apache Hệ điều hành Android bao gồm 12 triệu dòng mã; 3 triệu dòng XML,

2.8 triệu dòng mã C, 2.1 triệu mã Java và 1.75 triệu dòng mã C++

3.1.2 Lịch sử phát triển của Android:

Tháng 7 năm 2005, Google mua lại Android, Inc., một công ty nhỏ mới

thành lập có trụ sở ở Palo Alto, California, Mỹ Những nhà đồng sáng lập của

Android chuyển sang làm việc tại Google gồm có Andy Rubin (đồng sáng lập

công ty Danger), Rich Miner (đồng sáng lập công ty Wildfire Communications),

Nick Sears (từng là phó chủ tịch của T-Mobile), và Chris White (trưởng nhóm

thiết kế và phát triển giao diện tại WebTV) Khi đó, có rất ít thông tin về các

công việc của Android, ngoại trừ việc họ đang phát triển phần mềm cho điện

thoại di động Điều này tạo những tin đồn về việc Google có ý định bước vào thị

trường điện thoại di động

Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị

di động dựa trên hạt nhân Linux, được họ tiếp thị đến các nhà sản xuất thiết bị

cầm tay và các nhà mạng trên những tiền đề về việc cung cấp một hệ thống mềm

dẻo, có khả năng nâng cấp mở rộng cao.[cần dẫn nguồn] Một số nguồn tin cho

biết trước đó Google đã lên danh sách các thành phần phần cứng và các đối tác

phần mềm, đồng thời ra hiệu với các nhà mạng rằng họ sẵn sàng hợp tác ở nhiều

cấp độ khác nhau Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường

điện thoại di động xuất hiện trong tháng 12 năm 2006 Tin tức của BBC và Nhật

báo phố Wall chú thích rằng Google muốn đưa công nghệ tìm kiếm và các ứng

dụng của họ vào điện thoại di động và họ đang nỗ lực làm việc để thực hiện điều

này Các phương tiện truyền thông in và online cũng sớm có bài viết về những

tin đồn cho rằng Google đang phát triển một thiết bị cầm tay mang thương hiệu

Google Và lại càng có nhiều suy đoán sau bài viết về việc Google đang định

nghĩa các đặc tả công nghệ và trình diễn các mẫu thử với các nhà sản xuất điện

thoại

Trang 5

3.1.3 Đ c tính m c a Android : ặc tính mở của Android : ở của Android : ủa Android :

Android được xây dựng để cho phép các nhà phát triển để tạo ra các ứng

dụng di động hấp dẫn tận dụng tất cả một chiếc điện thoại đã cung cấp Nó được

xây dựng để được thực sự mở Ví dụ, một ứng dụng có thể kêu gọi bất kỳ chức

năng lõi của điện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc bằng

cách sử dụng máy ảnh, cho phép các nhà phát triển để tạo ra phong phú hơn và

nhiều hơn nữa những kinh nghiệm cố kết cho người dùng Android được xây

dựng trên mở Linux Kernel Hơn nữa, nó sử dụng một máy ảo tuỳ chỉnh được

thiết kế để tối ưu hóa bộ nhớ và tài nguyên phần cứng trong một môi trường di

động Android là mã nguồn mở, nó có thể được liberally mở rộng Nền tảng này

sẽ tiếp tục tiến triển như cộng đồng nhà phát triển công việc cùng nhau để xây

dựng các ứng dụng di động sáng tạo

3.1.4 Các phiên bản Android :

Hệ điều hành Android đã trải qua chặng đường năm năm phát triển,

hàng loạt phiên bản mang nhiều cải tiến ra mắt Sau đây là các tính năng

chủ chốt trong các phiên bản Android từ khi ra mắt đến nay.

Android 1.0 :

Ra mắt: ngày 23-11-2008

HTC Dream là dòng smartphone thương mại dùng Android đầu tiên với

kiểu dáng trượt kèm bàn phím vật lý Phiên bản Android 1.0 chưa được Google

định hình tên mã, dù trước đó tên gọi Astro Boy hay Bender được gán cho thế hệ

đầu tiên này

Android 1.0 rất nguyên sơ, tích hợp sẵn khả năng đồng bộ dữ liệu với các

dịch vụ trực tuyến của Google như Gmail, Google Calendar và Contacts, một

trình phát media, hỗ trợ Wi-Fi và Bluetooth, thanh trạng thái hiển thị các thông

báo ứng dụng và một ứng dụng chụp ảnh (camera) tuy chưa cho phép thay đổi độ

phân giải và chất lượng ảnh

Android 1.1 :

Ra mắt: ngày 9-2-2009

Bên cạnh con số, Google rục rịch đưa hệ thống tên gọi (tên mã) vào các

phiên bản Android Tuy chưa chính thức áp dụng nhưng Android 1.1 đã có tên

Petit Four Không bao gồm nhiều tính năng, phiên bản này bổ sung một số chức

năng mới cho Google Maps hiển thị chi tiết hơn, bàn phím ảo gọi điện thoại đã

có thể hiển thị hoặc ẩn khi gọi, chương trình SMS cho phép người dùng lưu tập

tin đính kèm Android 1.1 sửa một số lỗi trong Android 1.0

Android 1.5 : CupCake

Ra mắt: ngày 30-4-2009

Cupcake, tên mã đầu tiên áp dụng cho phiên bản Android Cupcake mang

Trang 6

ngữ do người dùng đặt ra, hỗ trợ widget trên giao diện chủ, quay phim và phát lại

video clip, lược sử thời gian cuộc gọi, chế độ tự động xoay màn hình theo hướng

sử dụng (screen rotation) Trình duyệt web trong Cupcake có thêm khả năng sao

chép/ dán (copy/paste)

Ngoài ra, phiên bản này cho phép người dùng hiển thị hình ảnh trong danh

bạ, một điểm thú vị mà hầu hết người dùng điện thoại di động muốn có Màn

hình chuyển đổi và hình ảnh khi khởi động máy được làm mới

Android 1.6 : Donut

Ra mắt: ngày 30-9-2009

Donut khắc phục các chức năng "lỏng lẻo" trong Cupcake, mở rộng chức

năng tìm kiếm bằng giọng nói và ký tự đến bookmark và danh bạ Android

Market trở thành "chợ đầu mối" để người dùng tìm kiếm và xem các ứng dụng

Android Ứng dụng chụp ảnh và quay phim trong Donut nhanh hơn Hệ điều

hành hỗ trợ màn hình có độ phân giải lớn hơn, hướng đến các thế hệ smartphone

màn hình lớn

Android 2.0 : Eclair1

Ra mắt: ngày 26-10-2009

Chỉ sau gần một tháng ra mắt Donut (Android 1.6), Google tung ra Eclair,

phiên bản được nhận định là "bước đi lớn" của hệ điều hành này

Eclair cải tiến rất nhiều, từ giao diện đến ứng dụng bên trong hệ thống

Ứng dụng chụp ảnh tăng cường thêm chức năng zoom số (phóng to), cân bằng

trắng, hỗ trợ đèn flash và các hiệu ứng màu sắc

Hệ thống hoạt động ổn định hơn, cải thiện khả năng xử lý, hỗ trợ kết nối

Bluetooth tốt hơn, đặc biệt tùy chọn đồng bộ nhiều tài khoản Một điểm thuận

tiện được đánh giá cao lúc bấy giờ là giao diện danh bạ cho phép nhấn chọn vào

một ảnh danh bạ để gọi, nhắn tin hay email đến họ Giao diện ứng dụng lịch biểu

(Calendar) cũng thay đổi

Eclair là phiên bản Android đầu tiên hỗ trợ ảnh nền động (live wallpaper)

dù tùy chọn này tiêu tốn khá nhiều pin

Android 2.2 : Froyo

Ra mắt: ngày 20-5-2010

Từ phiên bản 2.0 trở đi, Android dần hoàn thiện hơn Phiên bản 2.2

(Froyo) mang Adobe Flash đến Android, kéo theo hàng loạt ứng dụng và game

trên nền Flash Người dùng cũng có thể xem video clip nền Flash như YouTube

và "ra lệnh" thực hiện cuộc gọi qua Bluetooth

Trang 7

thiết bị phát sóng Wi-Fi từ kết nối 3G Tính năng này được sử dụng rất phổ

biến đến ngày nay

Lần đầu tiên Android cho phép cài đặt ứng dụng (app) lên thẻ nhớ SD

thay vì mặc định cài ngay vào bộ nhớ trong của thiết bị Điểm "đầu tiên" nữa

trong Froyo bao gồm mật khẩu đã hỗ trợ số và chữ số Thiết bị đầu tiên mang

nhãn Froyo ra mắt thị trường là HTC Nexus One

Android 2.3 : Gingerbread

Ra mắt ngày: 6-12-2010

Đến cuối năm 2012, Gingerbread vẫn đang "phủ sóng" trên rất nhiều thiết

bị dùng Android, chiếm đến hơn phân nửa (54%) Google hợp tác Samsung trình

làng dòng smartphone đầu tiên sử dụng Gingerbread mang tên Nexus S, hỗ trợ

công nghệ giao tiếp tầm gần NFC

Gingerbread đưa vào hệ thống một công cụ quản lý tải tập tin, cho phép

theo dõi và truy xuất đến các tập tin đã tải về máy Hệ thống này hỗ trợ nhiều

camera cho các thiết bị có camera mặt sau và trước, quản lý nguồn pin hiệu quả

hơn, tiết kiệm thời lượng pin Phiên bản này khắc phục khá nhiều lỗi từ Froyo,

kèm theo một số điều chỉnh trong giao diện người dùng

Android 3.0 : Honeycomb

Ra mắt: ngày 22-2-2011

Đây không chỉ là một phiên bản, mà có thể xem là một thế hệ Android đầu

tiên dành riêng cho máy tính bảng (tablet), ra mắt cùng tablet Motorola XOOM

Mang những tính năng từ thế hệ Android 2.x, Android 3.0 cải tiến giao diện phù

hợp với cách sử dụng máy tính bảng, bàn phím ảo thân thiện hơn, hỗ trợ xử lý đa

tác vụ (multi-tasking), cho phép chuyển đổi qua lại các ứng dụng đang cùng

chạy Không chỉ có bề mặt được trau chuốt, phần lõi hệ thống có các cải tiến

tương thích với phần cứng như hỗ trợ chip xử lý (CPU) đa lõi, tăng tốc phần

cứng

Android 3.0 đặt nền móng quan trọng cho thế hệ Android 4.x hợp nhất,

khắc phục sự phân mảng của Android (có các phiên bản riêng dành cho

smartphone và tablet)

Android 4.0 : Ice Cream Sandwich

Ra mắt: ngày 19-10-2011

"Bánh kem sandwich" (ICS) là thế hệ Android được mong đợi nhất đến

nay, ra đời cùng dòng smartphone "bom tấn" Samsung Galaxy Nexus, thế hệ

smartphone đầu tiên trang bị ICS

Android 4.0 đưa chức năng truy xuất nhanh các ứng dụng thường dùng vào phần

bên dưới giao diện chủ, tùy biến widget, dễ sắp xếp và duyệt danh sách ứng dụng

hơn Các ứng dụng đã có thể truy xuất nhanh từ màn hình khóa thiết bị (Lock

screen), hiện các hãng sản xuất thiết bị chỉ mới cho phép Camera có thể chọn

nhanh từ Lock screen

Ice Cream Sandwich hoạt động mượt mà, nhanh và đẹp hơn

Trang 8

Android 4.1 : Jelly Bean

Ra mắt: 9-7-2012

Máy tính bảng Nexus 7, sản phẩm hợp tác giữa Google và Asus, là thiết bị

dùng Jelly Bean đầu tiên ra mắt Android 4.1 nâng tầm hoạt động cho hệ điều

hành của Google, trở thành hệ điều hành cho thiết bị di động hàng đầu hiện nay

Khả năng sắp xếp giao diện chủ và widget trong Jelly Bean rất tùy biến và

linh hoạt Hệ thống hỗ trợ dịch vụ ví điện tử Google Wallet, đặc biệt trình duyệt

web mặc định trong Android được thay thế bởi đại diện tên tuổi: Chrome, với

khả năng đồng bộ dữ liệu theo tài khoản với bản Chrome trên máy tính

Jelly Bean giới thiệu Google Now, dịch vụ trực tuyến mới hiện chỉ dành

cho Android, một phụ tá ảo đắc lực cho công việc sắp xếp lịch trình, tìm kiếm

thông tin, xác định vị trí Rất đa năng và được xem như lời đáp trả của Google

với "phụ tá ảo" Apple Siri trong iOS

Android 4.2 : Jelly Bean

Ra mắt: tháng 11-2012

Chỉ sau gần năm tháng ra mắt Android 4.1, Google tiếp tục ra mắt phiên

bản 4.2 và vẫn mang tên mã Jelly Bean

Android 4.2 tiếp tục mang đến những cải tiến hấp dẫn cho ứng dụng chụp

ảnh (Camera) như HDR, Photo Sphere, hiệu ứng ảnh, Google Now, đưa tính

năng lướt chọn từ rất hay trong bàn phím ảo Chức năng "bom tấn" hỗ trợ nhiều

tài khoản người dùng (multi-user profile) lần đầu tiên được áp dụng trong

Android 4.2 nhưng chỉ có người dùng máy tính bảng thừa hưởng chức năng này

Tương lai Android X

Nhiều dự đoán cho rằng thế hệ Android 5.0 kế tiếp sẽ có tên mã "Key Lime

Pie" và thế hệ thiết bị Nexus mới của Google sẽ một lần nữa trở thành "đại diện

đầu tiên" sở hữu nền tảng mới này Android sẽ dần xóa nhòa lằn ranh giữa hệ

điều hành cho thiết bị di động và hệ điều hành cho máy tính cá nhân, giảm khác

biệt phân mảnh, đem đến những chức năng hơn nữa

3.2 Java :

3.2.1 Lịch sử java :

Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệuvào tháng 6 năm 1995 Từ đó, nó đã trở thành một công cụ lập trình của

các lập trình viên chuyên nghiệp Java được xây dựng trên nền tảng của C

và C++ Do vậy nó sử dụng các cú pháp của C và các đặc trưng hướng đối

tượng của C++ Ban đầu Java được thiết kế để làm ngôn ngữ viết chương

trình cho các sản phẩm điện tử dân dụng như đầu video, tivi, điện thoại,

máy nhắn tin…

Trang 9

3.2.2 đặc trưng của java

Đơn giản :

Những người thiết kế mong muốn phát triển một ngôn ngữ dễ học

và quen thuộc với đa số người lập trình Java tựa như C++, nhưng đã lược

bỏ đi các đặc trưng phức tạp, không cần thiết của C và C++ như: thao tác

con trỏ, thao tác định nghĩa chồng toán tử (operator overloading),… Java

không sử dụng lệnh “goto” cũng như file header (.h) Cấu trúc “struct” và

“union” cũng được loại bỏ khỏi Java

Hướng đối tượng

Có thể nói java là ngôn ngữ lập trình hoàn toàn hướng đối tượng,tất cả trong java đều là sự vật, đâu đâu cũng là sự vật

Độc lập với hệ nền:

Mục tiêu chính của các nhà thiết kế java là độc lập với hệ nền haycòn gọi là độc lập phần cứng và hệ điều hành Đây là khả năng một

chương trình được viết tại một máy nhưng có thể chạy được bất kỳ

đâu Các chương trình viết bằng java có thể chạy trên hầu hết các hệ nền

mà không cần phải thay đổi gì, điều này đã được những người lập trình

đặt cho nó một khẩu hiệu ‘viết một lần, chạy mọi nơi’, điều này là không

thể có với các ngôn ngữ lập trình khác.

Hỗ trợ lập trình đa tuyến

Đây là tính năng cho phép viết một chương trình có nhiều đoạn mãlệnh được chạy song song với nhau Với java ta có thể viết các chương

trình có khả năng chạy song song một cách dễ dàng, hơn thế nữa việc

đồng bộ tài nguyên dùng chung trong Java cũng rất đơng giản Điều này là

không thể có đối với một số ngôn ngữ lập trình khác như C/C++, pascal

Phân tán

Java hỗ trợ đầy đủ các mô hình tính toán phân tán: mô hìnhclient/server, gọi thủ tục từ xa…

Trang 10

Mục tiêu quan trọng của các nhà thiết kế java là tạo điều kiện chocác nhà phát triển ứng dụng có thể viết các chương trình ứng dụng internet

và web một cách dễ dàng, với java ta có thể viết các chương trình sử dụng

các giao thức TCP, UDP một cách dễ dàng, về lập trình web phía máy

khách java có công nghệ java applet, về lập trình web phía máy khách

java có công nghệ servlet/JSP, về lập trình phân tán java có công nghệ

RMI, CORBA, EJB, Web Service

Thông dịch

Các chương trình java cần được thông dịch trước khi chạy, mộtchương trình java được biên dịch thành mã byte code mã độc lập với hệ

nền, chương trình thông dịch java sẽ ánh xạ mã byte code này lên mỗi nền

cụ thể, điều này khiến java chậm chạp đi phần nào

3.2.3 Các kiểu ứng dụng Java

Ứng dụng Applets

Applet là chương trình Java được tạo ra để sử dụng trên Internetthông qua các trình duyệt hỗ trợ Java như IE hay Netscape Applet được

nhúng bên trong trang Web Khi trang Web hiển thị trong trình duyệt,

Applet sẽ được tải về và thực thi tại trình duyệt

Java thích hợp để phát triển ứng dụng nhiều lớp Applet là chương

trình đồ họa chạy trên trình duyệt tại máy trạm Ở các ứng dụng Web, máy

trạm gửi yêu cầu tới máy chủ Máy chủ xử lý và gửi kết quả trở lại máy

trạm Các Java API chạy trên máy chủ chịu trách nhiệm xử lý tại máy chủ

và trả lời các yêu cầu của máy trạm Các Java API chạy trên máy chủ này

Trang 11

Form của HTML là cách sử dụng đơn giản nhất của JSP/Servlet Chúng

còn có thể được dùng để xử lý dữ liệu, thực thi các giao dịch và thường

được thực thi thông qua máy chủ Web

Ứng dụng cơ sở dữ liệu

Các ứng dụng này sử dụng JDBC API để kết nối tới cơ sở dữ liệu

Chúng có thể là Applet hay ứng dụng, nhưng Applet bị giới hạn bởi tính

ứng dụng chạy trên các thiết bị di động này Đây là một kiểu ứng dụng

khá hấp dãn, bởi vì các thiết bị di động này ngày càng phổ biến và nhu cầu

có các ứng dụng chạy trên đó, đặc biệt là các ứng dụng mang tính chất giải

trí như game…

3.3 Giới thiệu về công cụ lập trình Unity :

3.3.1 Giới thiệu chung :

 Nhà phát triển: Unity Technologies

 Phiên bản mới nhất: Unity 4.0

 Được viết bởi ngôn ngữ: C++, C#

 Phát triển Game cho các hệ điều hành: Windows, Mac OS X (tạo

và đóng gói), Wii, iPhone/iPad, Xbox 360, Androi, PS3(chỉ đóng gói; cần giấy

phép bổ sung cho từng nền tảng)

 Giấy phép: Độc quyền

Trang 12

Unity là một 3D Game Engine, là một công cụ thiết kế Game dành cho

PC, Mac và nhiều hệ máy di động khác

Unity được sự hỗ trợ của Just-In-Time Compilation (JIT), sử dụng thư

viện mã nguồn mở C++ Mono Bằng việc sử dụng JIT, những Engine như

Unity có thể tận dụng lợi thế của tốc đọ biên dịch Những đoạn code do chúng

ta viết sẽ được Unity biên dịch ra Mono trước khi nó được thực thi Điều này

rất quan trọng cho Game để thực thi code vào những thời điểm cần thiết trong

suốt thời gian chạy (Runtime) Ngoài thư viện Mono, Unity cũng tận dụng

chức năng của những thư viện phần mềm khác vào chức năng của nó, như

Engine mô phỏng vật lý PhysicX của Nvidia, OpenGL và DirectX cho kết

xuất hinhf ảnh 3D, OpenAL cho âm thanh Tất cả các thư viện này được xây

dựng thành những tính năng tự động hoặc công cụ trực quan vào Unity, vì thế

chúng ta không cần phải lo lắng về việc phải học thế nào để sử dụng chúng

một cách riêng lẻ

Unity có một cộng đồng người dùng rất mạnh (rất lớn) luôn chia sẻ những

Plugins, công cụ của họ dưới hình thức gói phần mềm bổ sung

Có thể sản xuất các trò chơi theo tiêu chuẩn chuyên nghiệp, xuất bản 3D

cho cả Mac và PC cũng như sở hữu riêng biệt một Web Player của riêng

mình, Unity là một trong những Game Engine có tốc độ phát triển nhanh

nhất Unity cũng có phiên bản phát triển Game cho hệ máy Wii của Nintendo

va Iphone của Apple, có nghĩa là một khi chúng ta làm chủ được những vấn

đề cơ bản, không chỉ phát triển Game cho máy tính cá nhân mà chúng ta còn

có thể phát triển Game cho các hệ máy console và thiết bị di động

3.3.2 Giao diện Unity :

Trang 13

h 1 Hình 1 : giao diện Unity

3.3.3 Các thành phần trong Unity :

3.3.3.1 Assets:

Asset là những tài nguyên xây dựng nên một dự án Unity Từ những tập

tin hình ảnh, mô hình 3D đến các tập tin âm thanh Unity gọi các tập tin mà

chúng ta dùng để tạo nên trò chơi là tài sản (Asstets) Điều này lý giải tại sao tất

cả các tập tin, thư mục của các dự án Unity đều được lưu trữ trong một thư mục

có tên “Assets”

3.3.3.2 Scenes:

Trong Unity, chúng ta cần hiểu một cảnh (hay một phân đoạn) nghĩa là một màn

chơi riêng biệt hoặc một khu vực hay thành phần có trong nội dung của trò chơi

(ví dụ như Game menu) Bằng cách tạo nên nhiều Scene cho trò chơi, chúng ta

có thể phân phối thời gian tải hoặc kiểm tra các thành phần khác nhau của trò

chơi một cách riêng lẽ

Trang 14

3.3.3.3 Game Object:

Khi Assets được sử dụng trong Scene, chúng trở thành Game Object –

một thuật ngữ được sử dụng trong Unity (đặc biệt là 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 là Transform Transform là

thông tin về vị trí, góc xoay và tỉ lệ của đối tượng, tất cả được mô tả bởi bộ 3 số

X, Y, Z trong hệ trục tọa độ Thành phần này có thể được tùy biến lại trong quá

trình lập trình nhằm thay đổi vị trí, góc quay và tỉ lệ của đổi tượng (so với đối

tượng gốc) qua các đoạn mã Từ các thành phần cơ bản này, chúng ta sẽ tạo ra

Game Object, với các thành phần khác, bổ sung chức năng cần thiết để xây dựng

nên bất kỳ một thành phần nào trong kịch bản Game mà chúng ta đã thiết kế

Components:

Components có nhiều hình thức khác nhau Chúng có thể xác định hành vi, cách

xuất hiện, … hay ảnh hưởng đến các khía cạnh khác nhau trong chức năng của

Game Object trong trò chơi

Bằng cách “gắn” (attach) chúng vào trong Game Object, chúng ta có thể ngay lập

tức áp dụng tác động của chúng lên đối tượng Những Components phổ biến

trong quá trình phát triển trò chơi đều được Unity hỗ trợ sẵn Ví dụ như thành

phần Rigitbody và Collider : Rigidbody quy định khối lượng và áp dụng trọng

lực vào Object, nhưng không kiểm soát về sự va chạm của Object với vật khác

Thay đó đó Box Collider sẽ quyết định việc này Trong Unity Collider sẽ được

biểu thị bởi những đường kẻ màu xanh bao quanh vật, có rất nhiều loại Collider

với những hình dáng khác nhau từ hình hộp (Box Collider), hình viên nang

(Capsule Collider), hình tròn (Sphere Collider), theo hình dáng của Mesh (Mesh

Collider), … Các thành phần này khi gán vào đối tượng sẽ đảm nhận chức năng

phát hiện và xử va chạm cho đối tượng đó

Trang 15

h 2 Hình 2 : Collider theo các hình tương ứng

Collider không tự nhiên có, đối với những đối tượng cơ bản như Cube, Plant,

Sphere, Cylinder… là những đối tượng built-in của Unity, khi tạo ra, chúng được

Unity gán sẵn các Collider tương ứng, nhưng đối với một mô hình được nhập

(Import) từ bên ngoài, chúng ta phải tự gán cho chúng thông qua các lựa chọn ở

menu: Component -> Physics Tùy vào hình dáng, kích thước và vai trò của

Object trong game mà chúng ta có những lựa chọn hay kết hợp các lựa chọn sao

cho phù hợp Và không phải đối tượng nào cũng buộc phải có Collider, như đã đề

cập thì Colldier liên quan đến va chạm, liên quan đến vật lí, đây là những thành

phần sẽ ảnh hương rất nhiều đến FPS của game, cụ thể là càng có nhiều Collider

thì game sẽ càng nặng, nên chúng ta phải lưu ý chỉ nên attach Collider vào những

đối tượng mà chúng ta muốn chúng có thể tương tác, đồng thời nên hạn chế sử

dụng Mesh Collider – loại Collider dễ gây nặng game nhất

Để tạo nên các yếu tố tương tác trong trò chơi, chúng ta sẽ sử dụng Script (mã

kịch bản), chúng cũng được xem như là một Components trong Unity

Script:

Được Unity xem như một Component, Script là một thành phần thiết yếu

trong quá trình phát triển trò chơi và đáng đề cập như một khái niệm “chìa khóa”

Unity cung cấp cho chúng ta khả năng viết Script bằng cả 3 ngôn ngữ là

JavaScript, C# và Boo (một dẫn xuất của ngôn ngữ Python)

Unity không đòi hỏi chúng ta phải học làm thế nào để lập trình trong

Unity, nhưng hầu như chúng ta phải sử dụng Script tại mỗi thành phần trong kịch

bản mà chúng ta phát triển Unity đã xây dựng sẵn một tập hợp đa dạng các

Trang 16

Class, Function, … mà chúng ta hoàn toàn có thể ứng dụng trong quá trình lập

trình trò chơi của mình

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

của Unity, hoặc với chương trình Mono Developer được tích hợp và đồng bộ với

Unity trong những phiên bản mới nhất gần đây

Mono Developer là một IDE khá tốt để lập trình khi cung cấp đầy đủ các chức

năng của một IDE hoàn chỉnh 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 Unity

h 3 Hình 3 : Giao diện Mono Developer

Một số hàm sử dụng lập trình game cơ bản :

Start() : làm nhiệm vụ khởi tạo khi đối tượng vừa được đặt vào màn hình

UpDate() : làm nhiệp vụ cập nhật đối tượng liên tục trong vòng đời của

game

LateUpDate() : làm nhiệm vụ theo dõi các đối tượng đã được cập nhật ở

hàm Update() : ví dụ : theo dõi sự di chuyển của ô tô

FixedUpDate() : Làm nhiệm vụ cập nhật và sử lý các hoạt động vật lý của

đối tượng

Trang 17

OnCollisionEnter() : làm nhiệm vụ phát hiện sự va chạm giữa collider

của các đối tượng trong game và sử lý va chạm đó the va chạm vật lý

OnTriggerEnter () : làm nhiệm vụ phát hiện sự va chạm giữa collider

của các đối tượng trong game và cho phép đối tượng đi xuyên qua nhau

3.3.3.4 Prefabs:

Là một thành phần khá quan trọng, cho phép chúng ta tạo dựng các gói tài

nguyên mà có thể tận dụng lại ở mọi lúc mà chúng ta cần, Prefabs cho phép

chúng ta lưu trữ các đối tượng với những Components và những thiết đặt hoàn

chỉnh Có thể so sánh với khái niệm MovieClip trong Adobe Flash, Prefabs chỉ

đơn giản là một đối tượng chứa (Container) mà chúng ta có thể đưa bất kỳ một

đối tượng hay dữ liệu mẫu nào mà chúng ta muốn tái sử dụng về sau

3.3.3.5 Terrain :

Terrain còn gọi chung là địa hình bao gồm phần đất nền của môi trường

trong trò chơi cùng các đối tượng gắn liền như cây, cỏ, …

Unity cung cấp một công cụ hỗ trợ rất tốt khả năng này với tên gọi là

Terrains Tools cho phép chúng ta thiết kế địa hình với các công cụ vẽ dưới dạng

Brush có nhiều thông số tùy chỉnh để tạo hình và lát Texture cho địa hình Cùng

với Terrain Tools là Tree Creator, một công cụ mạnh mẽ cho phép chúng ta tạo

ra cây cối với hình dạng, kích thước và kiểu cách đa dạng

Giao diện : Hình 4 : giao diện terrain

Trang 18

 Các công cụ tạo địa hình trong Terrain :

 Raise and lower the terrain height : Công cụ tùy chỉnh độ cao cho địa

hình, nâng cao và hạ thấp địa hình theo ý muốn

h 4 Hình 5 : kết quả sử dụng Raise and lower the terrain height

Trang 19

 Set the terrain height : lấy độ cao địa hình.

 Smooths height : làm cho địa hình mịn hơn hoặc bằng phẳng tự

nhiên hơn

 Paint the terrain texture

h 5 Hình 6 : Paint the terrain texture

Trang 20

Dùng để tô mầu cho từng khu vực địa hình bằng cách chọn mẫu mầu như

như trong mục Textures, nhấn Edit Textures để thêm các mẫu mong muốn

h 6 Hình 6 : ảnh minh họa sử dụng công cụ Paint the terrain texture

 Place Trees :

h 7 Hình 7 : Place Trees

h 8 Hình 8 : ảnh kết quả thực hiện các bước trên

Trang 21

Cho phép ta thêm cây vào địa hình trên diện rộng, unity đã cung cấp sẵn một

số mẫu cây Hoặc ta có tự tạo cây hoặc thêm những mẫu cây bằng cách vào mục

Edit Trees

Ở mục settings : ta có thể tùy chỉnh độ rộng của tán lá, độ cao cây, … phù

hợp với yêu cầu

 Place plants, stones and other small foilage:

h 9 Hình 9 : giao diện công cụ Place plants, stones and other small foilage

Cũng tương tự như Place Trees nhưng với công cụ này ta có thể tạo được

các đối tượng nhỏ hơn, chi tiết hơn như các thảm cỏ, bãi cỏ, sỏi, …

h 10 ảnh kết quả sử dụng Place plants, stones and other small foliage

Trang 22

 Setting for the terrain:

h 11

Cho phép ta chỉnh các thông về mật độ của cây, tốc độ và độ rộng ảnh

hưởng của gió …

Trang 23

3.3.4 Thanh công cụ :

3.3.4.1. Công cụ bàn tay ( Phím tắt Q)Theo mặc định, công cụ cầm tay sẽ cho phép ta kéo thả và xem xung quanh

đối tượng

3.3.4.2. Công cụ Translate ( phím tắt W)Dùng để dịch chuyển các đối tượng theo các trục tọa độ

h 12 ảnh sử dụng công cụ Translate

3.3.4.3. Công cụ Rotate ( phím tắt : E)Xoay đối tượng theo các trục

h 13 ảnh sử dụng công cụ Rotate

Trang 24

3.3.4.4. Công cụ Scale ( phím tắt R )Điều chỉnh kích thước của đối tượng theo các trục tọa độ.

h 14 ảnh sử dụng công cụ Scale

3.3.4.5. Công cụ điều khiển :

Thứ tự các nút là : Chạy trò chơi, tạm dừng trò chơi, qua màn tiếp theo

(nếu có)

3.3.4.6. Công cụ Layers : Điều khiển các đối tượng được hiển thị ở cửa sổ Scene

Layout : Điều chỉnh sự sắp xếp của các cửa sổ trong giao diện chính

Ngày đăng: 20/01/2014, 16:05

HÌNH ẢNH LIÊN QUAN

H 3  Hình 3 :     Giao diện Mono Developer - Đồ án tốt nghiệp- game đua ô tô android
3 Hình 3 : Giao diện Mono Developer (Trang 16)

TỪ KHÓA LIÊN QUAN

w