Tải bản đầy đủ

Cac ham lenh trong Game Maker

CÁC HÀM , LỆNH THÔNG DỤNG CHO NGƯỜI MỚI BẮT ĐẦU VỚI GAME
MAKER 6.1 VÀ 7 PRO
A.CÁC HÀM CƠ BẢN :
1.HÀM IF -ELSE
Dùng để kiểm tra 1 việc đúng hay sai , các mệnh đề cần kiểm tra là các lệnh bên dưới có nội dung
để kiểm tra
if

Else
( ko có ko sao, ko có thì bỏ else >
Nhiều mệnh đề cần kiểm tra :
If and
Chỉ đúng khi cả 2 mệnh đề cùng đúng , nếu 1 trong 2 hoặc cả 2 đều sai thì sẽ sai .
If or
Đúng khi 1 trong 2 hoặc cả 2 đúng , sai khi cả 2 đều sai
Phủ định của mệnh đề :
If !
Đúng khi mệnh đề sai , sai khi mệnh đề đúng
1 mệnh đề và 1 nhóm hành động dược tính trong 2 dấu {}
VD:
Trích dẫn nội dung:

If global.life<=0 and global.live<=0
{
Show_message(“ game over “ )
Game_end()
}
2. HÀM WITH
Dùng để thực hiện các hành động của 1 object khác thông qua object này
With
< các hành động >Ưu điểm : dùng cho các object control, điều khiển các object khác , hoặc có thể
lợi dụng depth từ object này cho event draw
VD
Trích dẫn nội dung:
With ob_player
{
If life<=0
Instance_destroy()
}
B. LỆNH PHỔ BIẾN
I.CÁC GIÁ TRỊ QUY ƯỚC
True=1 :đúng
False=0 :sai
II. VỀ GIÁ TRỊ VÀ SỐRandom(x) : lựa chọn 1 số từ 0 -> x ( lấy đến 2 số thập phân vd : 2.45) chỉ
dùng cho số
Choose(x1,x2,x3…) lựa chọn 1 trong các giá trị ,dùng cho tất cả loại biến
Round(x) : làm tròn x thành số nguyên vd :round(2.34)=2


Point_distance(x1,y1,x2,y2) : lấy khoảng cách từ 2 điểm (x1,y1) và (x2,y2)
Point_direction(x1,y1,x2,y2) : lấy số đo góc của đường thẳng nối 2 điểm
Lengthdir_x(len,dir) lấy giá trị x cách 1 khoảng len với góc dir của giá trị x của chính object này .
Lengthdir_y(len,dir) tương tự
2 câu lệnh nhằm mục đích xác định 1 điểm nào đó cách 1 khoảng ,theo 1 góc độ đối với object hiện
thời, dùng nhiều cho việc draw các game top down khi muốn thể hiện 1 hình ảnh xoay theo hình ảnh
chủ
III.CHUYÊN ĐỔI GIA TRỊ VÀ SỐLưu ý 100 là real , “100” là string , dùng real(“100”) thì chuyển về
thành 100
Real(str) : chuyển 1 biến string sang giá trị real
String(val) : chuyển 1 biến value( số ) sang giá trị string
IV.CÁC LỆNH VỀ TỐC ĐỘ , VỊ TRÍXstart vị trí x ban đầu của object khi mới tạo ra
Ystart tt

Hspeed tốc độ di chuyển dọc
Vspeed tốc độ di chuyển ngang
Direction góc độ di chuyển hiện thời
Speed tốc độ hiện thời theo mọi hướng
V. CÁC LỆNH KIỂM TRA VA CHẠM VÀ KHOẢNG CÁCH
Place_free(x,y) kiểm tra xem object này nằm ở vị trí x,y thì có va chạm với object soild nào ko
Thường dùng cho việc di chuyển
Place_empty(x,y) gồm cả soild và object thông thường có sprite
Ít dùng
Place_meeting(x,y,obj) kiểm tra xem object này nằm ở vị trí x,y thì có va chạm với obj ko ?
Thông dụng cho các game puzzle
Move_towards_point(x,y,sp) di chuyển object này đến x,y với tốc độ sp
Ít xài
Distance_to_point(x,y) tính khoảng cách từ vị trí object này đến 1 vị trí x,y
Distance_to_object(obj) tính khoảng cách từ vị trí object này đến vị trí obj
2 hàm này dùng nhiều , thay thế nhau , chủ yếu để xây dựng AI cho máy
Position_empty(x,y) kiểm tra xem tại vị trí x,y ko tồn tại object nào phải ko
Position_meeting(x,y,obj) kiểm tra xem tại vị trí x,y có tồn tại obj ko
Hay dùng cho ẩn hiện hình ảnh nút bấm khi chuột dè lên
VI.LỆNH VỀ ID CÁC OBJECT
Instance_number(obj) đếm số obj có trong room
Instance_position(x,y,obj) lấy ID của obj tại vị trí x,y dùng all cho obj để lấy tất cả các obj
Instance_nearest(x,y,obj) lấy ID của obj gần với vị trí x,y nhất
Dùng nhiều cho xây dựng AI
Instance_furthest(x,y,obj) lấy ID của obj xa với vị trí x,y nhất
Instance_place(x,y,obj) lấy ID của obj va chạm với object này nếu ta đặt object này tại x,y
Instance_create(x,y,obj) tạo ra 1 object obj tại x,y
Quá thông dụng , tạo ra các object trong game
Instance_destroy() phá hủy obj này
Quá thông dụng
Instance_change(obj,perf) đổi object này thành obj , perf =1 thì event create và destroy giống nhau
, 0 là khác nhau
Ta nên để 0 cho perf , tiện cho việc chuyển đổi


Alarm[x]=a thiết lập đồng hồ alarmx(0-11) số thời gian step là a
Thông dụng , như những đồng hồ báo thức
VII. LỆNH VỀ CHUYỂN ĐỔI ROOM VÀ KẾT THÚC GAME
Room_goto(numb) chuyển đến room numb ( tên )
Hay xài cho việc di chuyển giữa các room chức năng , menu , credit,…
Room_goto_previous() chuyển đến room trước đó
Room_goto_next() chuyển đến room kế tiếp
2 lệnh này thường dùng cho các room dạng level ít đặc trưng ( minigame)
Game_end() kết thúc game
Game_restart() khời động lại game
Ít xài
Room_width độ rộng ,. Ngang của room
Room_height độ dài , dọc của room
Dùng để xác định vị trí trong room
Game_save(str) lưu game lại với tên str
Game_load(str) tải game với tên str
VIII.LỆNH VỀ BÀN PHÍM , CHUỘT
Keyboard_check(key) kiểm tra xem người chơi có nhấn key ko?
Thường dùng cho các hành động xảy ra khi ấn nhiều phím
Keyboard_check_press(key) kiểm tra xem người chơi có giữ key ko ?
Keyboard_check_released(key) kiểm tra xem người chơi có thả key ko ?
Keyboard_wait() người chơi ko thể bấm phím
Mouse_x,mouse_y tọa độ của chuột
Mouse_wait() người chơi ko thể nhấp chuột
2 lệnh này thường dùng cho việc pause game
IX. LỆNH VỀ CÁC GIÁ TRỊ CỦA 1 OBJECT
Visible : ẩn hiển của sprite object =1 là hiện , =0 là ẩn
Dùng cho các object ẩn , để thực hiện va chạm ngầm
Sprite_index : hình ảnh gốc của sprite ( chính , sử dụng cho va chạm .v.v)
Image_speed : tốc độ của hình động, 1 là chạy bt
Depth : độ sâu của object ( càng cao thì càng ở dưới ^^)
Sử dụng depth=-y với event step cho game 3D giả cầy
Image_angle : góc của hình ảnh của object
Thường dùng cho việc xoay các hình ảnh trong topdown
Image_alpha : độ mờ của hình ảnh , 1 là ko mờ , 0 là mất hút ^^
Làm xác chết mờ dần cũng hay !!!
_________
X. CÁC LỆNH VỀ DRAW
Draw_sprite(sp,sub,x,y) vẽ , thể hiện 1 hình ảnh sp , tại x,y sub=0 là chỉ 1 hình đầu tiên của sprite
đó , =1 là hình thứ 2 , .. =-1 là cả hình động
Draw_sprite_ext(sp_sub,x,y,xscale,yscale,rot,color ,alpha) : thể hiện 1 hình ảnh như trên ,
xscale ,yscale là độ co giãn của hình ảnh , rot là góc xoay của hình ảnh , color nên để c_white ,
alpha là độ mờ
Thường dùng với direction trong topdown
Draw_rectangle(x1,y1,x2,y2,outline) vẽ 1 hình chữ nhật với 2 điểm x1,y1 và x2,y2 làm 2 góc đối
diện , outline=0 thì vẽ 1 hình đầy dủ màu =1 thì vẽ chỉ các cạnh của hình chữ nhật


Thường dùng để tạo các bảng mờ
Draw_set_color(color) đổi color cho việc draw ( dung cho text và hình học )
Draw_set_alpha(alpha) đổi độ mờ cho việc draw
Make_color_rgb(red,green,blue) tạo ra 1 màu theo 3 thông số red , green , blue
Make_color,hsv(hue,sat,val) tạo ra 1 màu theo 3 thông số hue , sat , val
Các thông số xem tại bảng màu , dùng để chọn màu tùy thích khi draw
Screen_save(fname) chụp hình game
Draw_set_font(font) đổi font cho việc draw_text
Draw_set_halign(halign) đổi cách draw text theo hướng ngang fa_left , fa_right , fa_center
Nên để fa_center ngay từ đầu game
Draw_set_valign(valign) tương tự cho hướng dọc fa_top(trên),fa_middle(giữa) ,
fa_bottom( dưới )
Tùy lúc xài cái nào , mỗi lúc draw text thì nên set 1 lần
Draw_text(x,y,string) vẽ 1 chữ tại x,y
View_xview[a] giá trị x của màn hình góc trái trên với viewa
View_yview[a] tt
2 lệnh này thường dùng để vẽ các hình ảnh menu trong game theo sát người chơi
Screen_redraw() gọi lại tất cả các event draw
Screen_refresh() giải phóng room
Thường dùng cho việc giải pause
XI. LỆNH VỀ SOUND
Sound_play(index) play sound 1 lần
Sound_stop(index) dừng sound đó lại
Sound_stop_all() im hết

Sound_volume(index,val) điều chỉnh âm thanh của sound
Sound_global_volume(val) điều chỉnh âm thanh của toàn bộ sound
Dùng cho việc làm thiết chỉnh âm thanh option
Sound_fade(index,val,time) điều chỉnh âm thanh đến 1 mức val trong khoảng time
Dùng cho việc giảm dần âm thanh để kết thúc màn
XII. LỆNH VỀ BẢNG THÔNG BÁO
Show_message(str) hiện thị thông báo với ok
Nhắn 1 lời gì đó với người chơi
Show_message_ext(str,bu1,but2.but3) hiển thị thông báo với 3 lựa chọn
Thường dùng khi có 3 lựa chọn
Show_question(str) hiển thị câu hỏi với đúng hoặc sai
Dùng để hỏi 1 câu hỏi dúng-sai hoặc 2 lựa chọn
Get_string(str,def) lấy 1 dữ liệu text từ người chơi ( nhập số hoặc chữ ) str là lời nói , lời hỏi , def là
dữ liệu hiện tại ) vd :noname
Message_background(back) đổi background của bảng thông báo
Message_alpha(alpha) đổi giá trị mờ của bảng thông báo
Message_button(Spr) đổi hình nút bấm của bảng thông báo bằng 1 sprite
message_caption(show,str) thiết lập xem bảng thông báo có window hay ko ? , nếu có thì hiện
text gì đó
message_position(x,y) thiết lập nơi xuất hiện bảng thông báo


message_size(w,h) thiết độ kích thước của bảng thông báo
mấy lệnh trên để thay đổi bảng thông báo cho đẹp
XIII.LỆNH VỀ BẢNG ĐIỂM THÀNH TÍCH
Có 2 cách xây dựng bảng điểm . 1 là dùng chính bảng của ct , 2 là dùng 1 room và draw tên – điểm
vào 1 vị trí nào đó . các điểm sẽ tự add khi người chơi kết thúc game , tên sẽ được đặt từ trước .
cách này thường thấy trong các game hiện đại . cách 1 thường dùng cho game mini fast
highscore_show(numb) hiện bảng điểm lên khi bạn vừa đạt 1 điểm nào đó . nếu nằm trong 10
điểm cao nhất thì có quyền đánh tên vào
highscore_set_background(back) đổi phông nền cho bảng điểm
highscore_set_border(show) có hiện đường viên của bảng điểm ko?
Highscore_set_color(back , new , other) đổi màu chữ cho bảng điểm , back là màu tên bảng ,
new là màu điểm mới nhập vào của bạn , other là màu của các đấu thủ trước
Highscore_clear() xóa bỏ mọi điểm số
Highscore_add(str,numb) tự động thêm vào bảng điểm 1 điểm số mới
highscore_place(numb) lấy điểm số của 1 vị trí trong bảng (1-10)
highnam_place(numb) lấy tên của 1 vị trí trong bảng (1-10)
draw_highscore(x1,y2,x2,y2) vẽ bảng score vào 1 nơi nào đó
XIV. LỆNH VỀ CÁC FILE
file_exists(fname) kiểm tra xem có tồn lại file fname ko ?
file_delete(fname) xóa file đi
directory_create(dname) tạo mới 1 folder
dùng để điều chỉnh các file save , load .v…vv
XV. LỆNH VỀ VIỆC ĐĂNG KÍ , THIẾT LẬP HOÀN TOÀN CHO GAME !!!
Các lệnh này thường dùng cho việc đăng kí game bản quyền . bắt người chơi nhập mã mới được
chơi full game .
registry_write_string(name,str) lưu vào bộ nhớ máy 1 giá trị với tên gọi
registry_write_real(name,val) tương tự với 1 số
registry_read_string(name) lấy lại giá trị từ bộ nhớ máy
registry_read_real(name)
registry_exists(name) kiểm tra sự tồn tại của 1 giá trị
registry_write_string_ext(key,name,str) các hàm registry ext cũng giống hệt như các hàm trên ,
có điều thêm key vào đầu , mục đích là phân loại cao cấp hơn các registry
registry_set_root(root) chọn bộ nhớ máy để ghi và đọc
root=0 là chỉ dung cho user này
root=1 chỉ dung cho chắc máy này
root=2 classes_root ??
root=3 dùng cho tất cả các users
nên để =3



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×