2. • 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
luongnv89@gmail.com 2
3. 1. CÁC KHÁI NIỆM ĐỒ
HỌA TRONG GAME 2D
luongnv89@gmail.com 3
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
4. Các khái niệm liên quan tới dữ liệu trong
game
luongnv89@gmail.com 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
5. Các khái niệm liên quan tới dữ liệu trong
game
luongnv89@gmail.com 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
6. Các khái niệm liên quan tới render
luongnv89@gmail.com 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
7. Các khái niệm liên quan tới render
luongnv89@gmail.com 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
8. Các khái niệm liên quan tới render
luongnv89@gmail.com 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
9. Các Mô hình của Game engine
luongnv89@gmail.com 9
Mô hình node
10. Các Mô hình của Game engine
luongnv89@gmail.com 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
11. Các Mô hình của Game engine
luongnv89@gmail.com 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
12. Các Mô hình của Game engine
luongnv89@gmail.com 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
14. Giới thiệu Andengine
luongnv89@gmail.com 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
15. Đặc điểm
luongnv89@gmail.com 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
16. 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
Thành
phần 1
Thành
phần 2
Thành
phần 3
Thành
phần 4
Thành
phần …
Chu trình Update
Của game
17. 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)
18. 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.
19. 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
20. 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
• …..
This template can be used as a starter file for presenting training materials in a group setting.SectionsRight-click on a slide to add sections. Sections can help to organize your slides or facilitate collaboration between multiple authors.NotesUse the Notes section for delivery notes or to provide additional details for the audience. View these notes in Presentation View during your presentation. Keep in mind the font size (important for accessibility, visibility, videotaping, and online production)Coordinated colors Pay particular attention to the graphs, charts, and text boxes.Consider that attendees will print in black and white or grayscale. Run a test print to make sure your colors work when printed in pure black and white and grayscale.Graphics, tables, and graphsKeep it simple: If possible, use consistent, non-distracting styles and colors.Label all graphs and tables.
This is another option for an Overview slide.
Use a section header for each of the topics, so there is a clear transition to the audience.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.
Use a section header for each of the topics, so there is a clear transition to the audience.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.
Add slides to each topic section as necessary, including slides with tables, graphs, and images. See next section for sampletable, graph, image, and video layouts.