3-9 Vẽ font
Bài đăng này đã không được cập nhật trong 3 năm
3-9 Vẽ font
Trên [MyGame], có chức năng hiện chữ nhờ font [TrueType]
Vẽ [Font]
Đây là chương trình để viết chữ, tạo font.
require 'mygame.boot'
Font.render "Hello"
Hình 3-22 Màn hình khi gọi chữ ra
![12.PNG](C:\Users\Administrator\Desktop\Image\Chapter 3\12.PNG)
Nếu đưa cho lệnh Font.render một dãy chữ thì trên màn hình sẽ hiện dãy chữ đó.
Font.render Dãy chữ
Lệnh [Font.render] cũng cùng loại như lệnh [Image.render].
require 'mygame/boot'
Font.render "Hello", :x => 100, :y => 100
Hình 3-23 Chỉ định vị trí cho dãy chữ
Font Object
Tạo tạo một font object mới chúng ta dùng lệnh [Font.new]. Vào argument chính là dãy chữ và vị trí ta muốn gọi ra.
Font.new(Dãy chữ, vị trí giản lược của dãy chữ)
Về cơ bản thì chúng ta tạo Object như ví dụ dưới đây.
fnt = Font.new("Hello", :x=>100, :y=>100)
Theo lệnh này có nghĩa là dãy chữ [Hello] sẽ được tạo ở vị trí tọa độ (x,y) là (100,100), lấy biến số là fnt để đặt cho dãy chữ.
Trong dãy chữ, nếu ta chỉ thị dãy rỗng là " " thì chương trình sẽ trở thành error.
Thao tác với font object
Về cơ bản thì chúng ta có những lệnh dưới đây có thể thực hiện với font object. Chúng ta lấy biến số là fnt để đặt cho font object.
Đưa ra màn hình
fnt.render
[Render] là lệnh đưa dãy chữ ra màn hình.
Xác lập vị trí
fnt.x => 100
fnt.y => 100
Sử dụng [x=, y=] để xác lập vị trí của hình.
Xác lập dãy chữ
fnt.string = "ABC"
Chúng ta sử dụng [string=] để tái xác lập lại dãy chữ hiện lên màn hình.
Xác lập màu
fnt.color = [255, 0, 0] # Xác lập màu của dãy chữ
Với lệnh [color=] thì chúng ta có thể xác lập màu của dãy chữ. Dãy chữ được hiện màu theo giá trị RGB. Mặc định màu trắng là [255, 255, 255].
Xác lập cỡ chữ
fnt.size = 40
Bằng lệnh [size = ] chúng ta có thể xác lập cỡ chữ.
Chỉ định TTF
fnt.ttf_path = "font/mikachan.ttf"
Bằng lệnh [ttf_path] để chỉ định font chữ của file TTF
Sử dụng font có bóng đằng sau
Trong font của [MyGame] có chức năng tạo font có hiển thị bóng đổ xuống đằng sau. Trong trường hợp đó, chúng ta sẽ sử dụng [ShadowFont].
require 'mygame/boot'
ShadowFont.render "Hello"
Trong trường hợp muốn sử dụng hình ảnh đằng sau dãy chữ thì chúng ta nên sử dụng ShadowFont thì chữ sé trở nên dễ nhìn hơn.
require 'mygame/boot'
Image.render "sample.bmp"
Font.render "Hello"
ShadowFont.render "Hello", :y=> 20
Nếu muốn sử dụng Object đối với ShadowFont thì chúng ta có thể dùng lệnh [ShadowFont.new].
require 'mygame/boot/
fnt = ShadowFont.new ("Hello")
fnt.render
Màu của font đằng sau sẽ mặc định là màu ghi tối [32,32,32] Để thay đổi màu font đằng sau chúng ta dùng lệnh [shawdow_color]
fnt = ShadowFont.new ("Hello")
fnt.shadow_color = [255,0,0]
Kích thướng của font mặc định
Kích thước của font mặc đinh tại đây là 16 pixels. Nhưng chúng ta cũng có thể thay đổi kích thước của font mặc định.
Font.default_size = 80
Như vậy font mặc định sẽ chuyển lên thành 80 pixels.
Hình 3-25 Biến đổi kích sỡ font
File TTF mặc định
Chúng ta có thể đổi file TTF mặc định.
Font.default_ttf_path = 'font/fontname.ttf'
Chúng ta cần phải chuẩn bị trước font chỉ định bằng file TTF.
All rights reserved