[Hướng Dẫn Draw thanh máu đẹp.

tuanwwwtuanwww Posts: 22Registered
edited August 2019 in Game Maker: Studio
Nguyên liệu: 1 hình ảnh thanh máu:
Vào game, tạo object mới tên gì bạn tự đặt
bạn đặt các biến sau:
mau=100 //số máu
mau_max=100 // giá trị máu cao nhất 
bien_so_mau=0;
mau và mau_max bạn có thể gán cho giá trị bất kì, miễn mau<mau_max --> dĩ nhiên.
Event Draw
bien_so_mau+=(mau-bien_so_mau)/5; phép tính này sẽ lấy giá trị của bien_so_mau. Nó làm cho bien_so_mau không vượt quá biến mau mà tăng dần hoặc giảm dần cho đến khi= biến mau
draw_sprite_part_ext(spr_mau,-1,0,0,(bien_so_mau/mau_max)*96,9,x,y,1,1,c_white,1)
(mau_cc/mau_max)*96 : 96 là chiều dài của ảnh máu
9: là chiều rộng của ảnh máu.
(bien_so_mau/mau_max) lấy tỉ lệ của bien_so_mau và mau_max mà nhân cho chiều dài của ảnh máu.
Đây là phép tính giống kiểu tính tỉ lệ % với 100%=96 chiều dài ảnh.
Bắt đầu game, bien_so_mau=0 thì nó sẽ cộng dồn lên = mau.
Và khi mất máu thì khi đó nó sẽ giảm xuống = mau.
Có cách đơn giản hơn chỉ cần 2 biến mau và mau_max
Create Event
như trên nhưng ko có bien_so_mau
Draw Event
draw_sprite_part_ext(spr_mau,-1,0,0,(mau/mau_max)*96,9,x,y,1,1,c_white,1)
Cách này đơn giản nhưng khi máu bị trừ ít thì ko sao, khi số máu bị trừ cao thì nó sẽ nhảy cóc chiều dài của thanh máu.
Thế là xong: Thêm event nhấn mũi tên trái là
i
f mau>0
{mau-=10}
và mũi tên phải
if mau<mau_max
{mau+=10}
Nút gì cũng được, và số 10 bằng số khác cũng được.
Lưu ý: Đây chỉ là máu thôi, còn mana thì bạn phải viết ra 3 biến khác
mana;
mana_max;
bien_so_mana;
Với cách làm như trên. Chỉ thêm 1 phép tính là 1 lệnh draw với 3 biến này thôi.
Bài sau mình sẽ update cách làm thanh máu trên đầu, máu hình tròn, tam giác...., draw thanh máu ko cần sprites. :thichthu:

Comments

Sign In or Register to comment.