Các phiên bản OpenGLES có thể sử dụng ND để tạo ra thư viện native

Một phần của tài liệu Xây dựng game 3D chém trái cây trên Windows và ĐTDĐ sử dụng HĐH Android. (Trang 41 - 44)

SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 42

CHƯƠNG 3 PHÂN TÍCH TRÒ CHƠI

3.1. Hệ thống và tính khả chuyển (portability):

3.1.1. C/C++ và thư viện

Để đạt được yêu cầu đặt ra của bài toán, là hệ thống có thể chạy được trên cả hai Hệ điều hành: Windows, Android . Và trong quá trình làm không cần mất nhiều thời gian, chúng ta cần phải phân tích kỹ lưỡng và đề xuất phương án phù hợp để tiến hành đề ra giải pháp và xây dựng bài toán.

Nhận xét:

Cả hai hệ điều hành đều cung cấp môi trường lập trình trên ngôn ngữ ANSI C/C++.

 Windows: Hổ trợ sẵn.

 Android: JNI từ Android 1.5, Native Activity từ Android 2.3.  Cả hai hệ điều hành đều cung cấp thư viện OpenGL ES 2.0.

 Android: Từ phiên bản 2.1.

 Windows: Thông qua bộ giả lập OpenGL ES 2.0 của PowerVR.

Môi trường C/C++ trên cả hai hệ điều hành tương đối giống nhau. Tuy nhiên số lượng các thư viện hổ trợ khác nhau, do đó chúng ta chỉ sử dụng các thư viện chuẩn mà cả hai đều hỗ trợ.

Có thể dễ dàng chuyển một thư viện C chuẩn lên cả hai hệ điều hành (trong trường hợp ứng dụng này, tôi đã chuyển thành công thư viện LIB PNG – hổ trợ đọc và xử lí tập tin hình ảnh PNG trong C/C++).

SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 43

 Do đó, trong quá trình lập trò chơi, chúng ta nên sử dụng hợp lí các công cụ, thư viện, mã nguồn và lập trình một cách tối ưu để có thể sử dụng lại trên cả hai nền tảng khác nhau này.

3.1.2. Phân tích tính khả chuyển (portability) của các thành phần trong trò chơi

Thông thường, trong một trò chơi (tức là một ứng dụng) sẽ có các thành phần như sau: - Vòng lặp trò chơi: là trung tâm của trò chơi, quản lí vòng đời, trạng thái của trò chơi. - Logic: là phần xử lí của trò chơi, xử lí thuật toán, trí thông minh nhân tạo, tương tác với người chơi.

- Đồ Họa: là phần thể hiện của trò chơi.

- Âm thanh: là phần không thể thiếu của trò chơi, giúp trò chơi trở nên sinh động hơn. - Nhập: đối với các thiết bị Android thì tương tác chủ yếu thông qua cảm ứng chạm (touch screen), giúp người dùng tương tác với trò chơi.

- Giao diện ứng dụng: là bộ khung tương tác với nền tảng của ứng dụng: cho phép ứng dụng khởi chạy, tạm ngưng, ngưng, và xử lí các sự kiện liên quan.

Đối với các thành phần trên, ta có bảng thực tế như sau:

Nền tảng / Yếu tố Windows Android Vònglặp trò chơi Có thể cài đặt giống nhau

trên cả hai hệ thống do đều viết bằng C/C++.

Có thể cài đặt giống nhau trên cả hai hệ thống do đều viết bằng C/C++.

Logic Tương tự, ta có thể cài đặt giống nhau trên cả ba hệ thống.

Tương tự, ta có thể cài đặt giống nhau trên cả ba hệ thống.

Đồ Họa - Direct X.

- OpenGL.

OpenGLES (thông qua bộ giả lập).

- OpenGL ES 1.1.

OpenGL ES 2.0. (C/C++: từ Android 2.1; Java: từ Android 2.2).

SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 44

Âm thanh Có thể sử dụng các bộ thư viện âm thanh.

- MediaPlayer. - SoundPool. - Open SL ES (Từ Android 2.2). Hổ trợ các định dạng: midi, wav, m4a, mp3 … Nhập Nhận thông điệp từ windows. Từ View – phương thức OnTouchEvent(). Không hổ trợ nhận sự kiện cảm ứng trực tiếp từ JNI.

Giao diện ứng dụng: main()  tạo cửa sổ và tương tác.

- Activity viết bằng Java. Native activity viết bằng C/C++. (từ Android 2.3). Xuất nhập tập tin Dùng thư viên <stdio.h>. Đọc tập tin từ res/raw qua

JNI.

Một phần của tài liệu Xây dựng game 3D chém trái cây trên Windows và ĐTDĐ sử dụng HĐH Android. (Trang 41 - 44)

Tải bản đầy đủ (PDF)

(83 trang)