Các lớp trên sẽ thực thi giao diện đã đƣợc thiết kế bằng các API của Android, tại lớp Android Game, ta khởi tạo các đối tƣợng sau để phục vụ cho Game:
AndroidFastRenderView renderView; Graphics graphics; Audio audio; Input input; FileIO fileIO; Screen screen;
Điểm khởi đầu của một ứng dụng trong Android là phƣơng thức onCreate(). Tại đây các đối tƣợng đƣợc khởi tạo nhƣ sau:
renderView = new AndroidFastRenderView(this, frameBuffer); graphics = new AndroidGraphics(getAssets(), frameBuffer); fileIO = new AndroidFileIO(getAssets());
audio = new AndroidAudio(this);
input = new AndroidInput(this,renderView,scaleX,scaleY); screen = getStartScreen();
Nguyễn Bình Nguyên | CCLT03C Trang 38 Ở đây ta chú ý đến tỉ lệ màn hình, Game sẽ lấy tỉ lệ mặc định là 320x480. Với màn hình lớn hơn, khung hình cần vẽ đƣợc chia cho kích thƣớc thật của màn hình để tạo 1 tỉ lệ, giúp căn chỉnh khung hình vừa với màn hình.
Đối tƣợng cần vẽ lên màn hình đƣợc thực thi bởi lớp Canvas trong Android, lớp này thực hiện đơn giản là vẽ một hình ảnh lên màn hình, hình ảnh này đƣợc thiết lập bởi nhiều đối tƣợng và sự cập nhật, vẽ chính đối tƣợng riêng lẻ tạo nên. Sau khi các đối tƣợng cập nhật lại trạng thái, framebuffer sẽ vẽ nó lên 1 Bitmap và chờ để vẽ lên màn hình.
Khai báo một Bitmap cho lớp Canvas
Bitmap frameBuffer = Bitmap.createBitmap(frameBufferWidth,
frameBufferHeight, Config.RGB_565); Tỉ lệ khung hình trục X = độ rộng frameBuffer / độ rộng màn hình. Tỉ lệ khung hình trục Y = độ dài frameBuffer / độ dài màn hình.
Cuối cùng lớp này dùng phƣơng thức setContentView(renderView); để đặt đối tƣợng renderView bắt đầu vẽ hình ảnh của Game lên màn hình.
Sau khi đã có Framework và thực thi theo API của Android. Để dễ quản lý, ta đóng gói Framework và một gói (package), bộ thực thi vào 1 gói, và phần nội dung Game vào một gói, tên gói đƣợc đặt theo quy tắc của Android.