Tải bản đầy đủ (.pptx) (21 trang)

lập trình game android sử dụng andengine

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (433.94 KB, 21 trang )

Lập trình Game Android sử dụng Andengine
AGV Tearm

Các khái niệm đồ họa trong Game 2D1

Giới thiệu Game engine Andengine2
Nội dung trình bày

1. Các khái niệm đồ họa trong game
2D

1. Các khái niệm liên quan dữ liệu trong game
2. Các khái niệm liên quan đến Render và model
của game
Các khái niệm liên quan tới dữ liệu trong
game

4
Texture:
-
Một vùng nhớ đặc biệt, được sử dụng để lưu trữ các
ảnh bitmap – cái mà hệ thống render sẽ vẽ lên màn
hình
-
Được hỗ trợ trực tiếp trong các thư viện đồ họa như
OpenGL, DirectX
-
Tính chất đặc biệt: Kích thước chiều cao và rộng có
dạng 2^x
-
Chỉ có ý nghĩa cho hệ thống 2D


-
Được lưu trữ trong bộ nhớ trong của thiết bị đồ họa ->
tăng tốc độ truy xuất dữ liệu
Các khái niệm liên quan tới dữ liệu trong
game

5
TextureRegion:
-
Bản chất giống như 1 con trỏ, trỏ tới texture
-
Thông qua TextureRegion người dùng có thể truy xuất
toàn bộ hoặc từng phần của texture
-
TextureRegion được hỗ trợ trong các game engine
Các khái niệm liên quan tới render

6
Camera
-
Là một khung nhìn sẽ hiển thị một phần của thế giới
game
-
Có thể trượt trên toàn bộ vùng đồ họa
Các khái niệm liên quan tới render

7
Scene (sân khấu)
-
Là một thành phần được hiển thị trên thiết bị hiển thị

-
Giống như một màn hình ảo, cho phép vẽ các đối
tượng đồ họa lên đó
Layer (lớp)
-
Các lớp (tầng) của Scene nhằm phân định thứ tự hiển
thị của các đối tượng đồ họa vẽ lên Scene
Các khái niệm liên quan tới render

8
Sprite
-
Đối tượng đồ họa được vẽ lên các Scene, Layer
-
Chính là các hình ảnh về nhân vật Game
-
Hỗ trợ các tính năng:
-
Di chuyển các hình ảnh (move)
-
Hiệu ứng hoạt họa (animation)
-
Bắt va chạm (collision)
-
Thông qua sprite có thể mô phỏng các nhân vật
Các Mô hình của Game engine

9
Mô hình node
Các Mô hình của Game engine


10
Mô hình node
-
Là mô hình cây phân cấp:

Các nút là các thành phần đồ họa

Các nút có quan hệ logic liên quan tới phép chuyển hệ
trục

Quá trình vẽ và Update tiến hành theo phép duyệt cây
theo chiều sâu
-
Ưu điểm:

Do các nút quan hệ logic-> gần gũi thực tế, tránh nhầm
lẫn

Việc căn tọa độ tương đối sẽ được thực hiện tự động
-
Nhược điểm: khi độ sâu cây quá lớn, quá trình vẽ và
update chậm
Các Mô hình của Game engine

11
Mô hình Batch(lô)
-
Game engine sẽ cung cấp 1 danh sách chứa các thành phần
sẽ vẽ (Batch)

-
Tất cả các thành phần cần vẽ sẽ được đẩy vào Batch
-
Quá trình vẽ lần lượt với các thành phần trong Batch
Các Mô hình của Game engine

12
Mô hình Batch(lô)
-
Ưu điểm: Không phải duyệt cây -> hiệu năng cao
-
Nhược điểm: Các thành phần không quan hệ logic, nên để
mô phỏng các quan hệ giữa các thành phần, người dùng
cần phải tự tính toán, dễ nhầm lẫn
-
Engine: Libgdx, XNA
1. Andengine

Giới thiệu Andengine

14
-
AndEngine: Game engine mã nguồn mở dựa trên
openGL ES, phát triển game cho Android
-
Xây dựng bởi Nicolas Glamlich - một lập trình viên
Android lâu năm
-
về cơ bản là một gói các lớp(class) của java được viết
sẵn và đóng gói

-
Tương thích với môi trường Eclipse
-
Để sử dụng, import andengine.jar vào thư viện
Đặc điểm

15
- Sử dụng mô hình Node
Ưu điểm
-
Dễ sử dụng
-
Hỗ trợ nhiều tiện ích khi xây dựng trò chơi: analog
-
Cộng đồng lập trình đông đảo
-
Nhiều lớp để chọn khi tạo PhysicBox2D:

MaxStepPhysicWorld: dùng cho các máy có bộ xử lý
yếu

PhysicWorld: Lớp mặc định tạp box vật lý có độ chính
xác cao

FixedStepPhysicWorld: khả năng xử lý trung bình
Nhược điểm: Performance không cao
Vòng đời của Game trong Andengine
OnLoadEngine OnLoadResources onLoadScene

Được gọi khi Engine

được khởi tạo

Khởi tạo Engine

Khởi tạo Camera

Được gọi khi game
lấy tài nguyên

Khởi tạo Texture

Khởi tạo Region

Âm thanh, font chữ…

Được gọi khi Engine
tạo các màn chơi

Khởi tạo màn chơi

Khởi tạo và vẽ các
Nhân vật …
OnLoadComplete
Được gọi khi các quá
trinh chuẩn bị đã hoàn tất.
Và chuẩn bị thực hiện các
chu trình update
Chu trình Update
Của game
Các thành phần mở rộng của Andengine

Ngoài các khái niệm cơ bản như trong game 2D , trên
Andengine còn cung cấp một số thành phần mở rộng
(Extension) như:
- Live-Wallpaper: cho phép tạo ra các hình nền động và có
khả năng tương tác
- .MOD-Player: cho phép chơi các file video định dạng -
.MOD dành cho trailer và introduce của game.
- Multiplayer: cho phép chơi multiplayer
- Multitouch: hỗ trợ cảm ứng đa điểm
- Physic Box2D: hỗ trợ mô phỏng vật lý thông qua engine
box2D (công nghệ được sử dụng trong game)
Box2D Physic Engine
- Là một free 2D game engine và open source.
- Điểm mạnh của nó là có khả năng mô phỏng vật lý và
có hiệu năng khá cao.
- Nó đã được porting sang nhiều ngôn ngữ (C#, Delphi,
Java, Python…) và được tích hợp vào nhiều game
engine dưới dạng các thư viện mở rộng.
Các khái niệm cơ bản trong Box2D

PhysicWorld: đây là thế giới vật lý cho cả game nó thiết đặt
một gia tốc trọng trường cho game.

Body: đây là thành phần về mô phỏng các vật thể chịu các
hiệu ứng vật lý.

PhysicConnector: đây là thành phần kết nối giữa hệ thống
render và hệ thống vật lý. Thực chất các Sprite trong
Andengine và Physic là hoàn toàn độc lập. Connector giúp
đảm bảo việc khi Body rơi trong PhysicWorld thì Sprite cũng

sẽ rơi theo quỹ đạo giống như Body

FixtureDef: đây là thành phần lưu trữ những thông số vật lý
như là Khối lượng riêng, Hệ số đàn hồi và Hệ số ma sát
Andengine hỗ trợ lập trình game Android

Cơ bản: Vẽ đường thẳng, hình chữ nhật, thao tác với sprite

Các xử lý về hoạt họa: EntityModifiers, PathModifiers,
EaseFunctions

Cảm ứng chạm: đa điểm, đơn điểm, hỗ trợ bàn phím analog ảo

Hỗ trợ nhiều người chơi

Các xử lý vật lý: Bắt va chạm,…

Các xử lý về text trong game: tickertext, customfont,…

Các xử lý về âm thanh: sound, music, .MOD

Các cài đặt hình nền cho game



21
THANKS

×