3-2 Hiển thị ảnh

3-2 Hiển thị ảnh

Từ đây tôi sẽ giới thiệu phương pháp nhập âm thanh và biểu đồ. Nói về nói đến nhập biểu đồ thì mọi người sẽ nghĩ đây là một thao tác rất khó nhưng về lo lắng là không cần thiết. Tại chương này tôi sẽ giới thiệu phương pháp hiển thị ảnh BMP sử dụng window

Tạo window

Đầu tiên, tôi sẽ giới thiệu phương pháp tạo window để chạy game. Hãy xem chương trình dưới đây.

renderimage00.rb

require 'mygame/boot'

Đây chỉ là một chương trình với một dòng thôi nhưng nếu chúng ta chạy chương trình này thì có nghĩa chúng ta đã hoàn thành thao tác chuẩn bị để sử dụng thư viện MyGame. Đồng thời một window mới cũng được tạo ra như dưới đây. 1.PNG

Từ một màn hình đen sì thế này chúng ta sẽ tạo nên cả một thế giới game.

Để đóng lại cửa sổ này chúng ta có thể nhấn phím [X] ở góc trên bên phải cửa sổ, hoặc có thể ấn phím Esc trong khi cửa số đang trong trạng thái active. Khi ta đóng cửa sổ thì chương trình sẽ kết thúc. Khi chúng ta viết [require 'mygame/boot'] trên đầu của chương trình thì sẽ xảy ra những bước sau đây.


  • Load thư viện MyGame
  • Chuẩn bị để sử dụng những tính năng nhập âm thanh và biểu đồ
  • Lập một window
  • Nếu không có một chuỗi lập trình nào được viết thì có nghĩa đây là một chương trình với chuỗi kết quả vô hạn.

Đến đây thì trông có vẻ đã có rất nhiều xử lý được diễn ra rồi đúng không? Tuy nhiên đây vẫn chỉ là những bước chuẩn bị cho việc lập trình một game trên máy tính một cách dễ dàng hơn. Tại đây các bạn không phải suy nghĩ gì nhiều mà chỉ cần nghĩ đây là một loại chuẩn bị trước khi lập trình game và không cần để ý quá.

Vẽ tranh

Dưới đây là chương trình hiển thị ảnh đuổi BMP [sample.bmp] trong cửa sổ.

renderimage01.rb

require 'mygame/boot'
image.render "sample.bmp"

Để chạy được thì chúng ta cần đặt [sample.bmp] cùng vào file nguồn và directory. Nếu thực hiện như vậy thì chúng ta sẽ được cửa sổ dưới đây.

Hình 3-4 Màn hình được hiển thị

3.PNG

Việc làm hiển thị hình ảnh lên cửa sổ người ta gọi là sẽ lên màn hình. [image.render] là lệnh để vẽ hình ảnh lên màn hình.

image.render Tên hình ảnh, là tên giản lược nhất có thể

Argument của [image.render] là nhận file ảnh từ folder.Đuôi ảnh có thể nhận được là [BMP]; [JPEG]; [PNG].

Chỉ định địa điểm vẽ hình ảnh

Với chương trình dưới đây thì ta có thể vẽ hình ảnh tại địa điểm chỉ định (100,50)

renderimage02.rb

require 'mygame/boot'
image.render "sample.bmp", :x => 100, :y =>50

Để chỉ định vị trí của hình ảnh thì tiếp theo của tên hình ảnh chúng ta phải cho thêm tọa độ (x,y) và argument. Tọa độ ở đây nghĩa là tọa độ của cửa sổ.

3-5 Chỉ định vị trí của hình ảnh được vẽ

4.PNG

Ví dụ tọa độ (100,50) có nghĩa là từ bên trái màn hình 100 pixcel, từ bên trên màn hình là 50 pixcel. Bức ảnh được vẽ sẽ có tọa độ (100,50) so với bên trái và phía trên màn hình như vậy. Hiện nay, kích thước màn hình mặc định là [640x480]pixcel

Vẽ nhiều bức ảnh trên màn hình

Chương trình dưới đây sẽ vẽ 3 bức ảnh lên cửa sổ ở những vị trí khác nhau.

renderimage03.rb

require 'mygame/boot'
Image.render "sample.bmp", :x =>  50, :y => 50
Image.render "sample.bmp", :x => 200, :y =>100
Image.render "sample.bmp", :x => 400, :y =>200

####### Hình 3-7 Hình ảnh được hiển thị

5.PNG

Tại chương trình ví fuj thì không viết cá gì nhưng nếu chạy thử [require 'mygame/boot'] thì cuối chương trình chương trình sẽ tự động xử lý. Chương trình sẽ không ngừng chạy cho đến khi cửa sổ được đóng lại. Về phương pháp để tự mình viết được xử lý chuỗi lệnh nguồn cho game thì tôi sẽ giới thiệu phía sau.

Require

[require] là lệnh load thư viện trong ruby.

require 'cgi' # load thư viện cgi
require 'erb' # load thư viện erb

Tại ruby thì chúng ta chỉ cần dùng lệnh [require] để load thư viện, tại đây có rất nhiều thư viện khác nhau được đính kèm. Về các thư viện được đính kèm, các bạn hãy tham khảo tại khu vực hướng dẫn sử dụng Ruby.

Khi sử dụng [require], thì chúng ta vẫn có thể load được file [.rb] mà chúng ta tự tạo. tạo [test.rb], để ở folder thực hiện thì chúng ta có thể load như lệnh dưới đây.

require 'test.rb'

Như vậy thì có thể load được [test.rb]