[Hướng Dẫn] Bài 1: Di chuyển object, làm quen với speed.
Focker_c
Posts: 1,577Registered
Xin chào TTC ! Mình là mem cũ, vừa sống lại sau thời gian vừa rồi. Nếu bạn nào sống cùng thời với mình thì có thể nhận ra, mình từng xuất hiện với tên "Cauxevd" và "legend9x"
Và thì giờ mình đã trở lại, từ nay các bạn có thể gọi mình bằng cái tên chính xác của mình "Focker C" (gọi là focker, hoặc foker, còn C là chữ cái viết tắt tên thật)
Với những bạn chưa biết thì mình là 1 Game Maker guy khá cứng cỏi rồi và lần này mình quay lại là để làm mod box này. Nhanh nhanh sang mod cho mình đê! Và cái gì cũng có đi có lại. Mình cống hiến thì mình mới đòi trả công.
Hiện tại, dự định của mình là làm 1 bộ guide cho Game Maker. Từ dễ đến khó. Và các bạn có thể yên tâm vào khả năng "văn vẻ" của mình, sẽ dễ hiểu thôi.
ok ! so, lets check wtf happening here ! ..
Bài 1: Những cách di chuyển object với GML
Mình sẽ đi luôn vào GML nhá. Những cái cơ bản thì các bạn tự mò. Ko mò đc chỗ nào thì hỏi. Mình đỡ.
Và để cho newbie đánh vần đc cụm GML, mình xin trình bày như sau: GML - viết tắt của Game Maker Language. Đây là ngôn ngữ lập trình riêng của Game Maker Engine. Cách sử dụng GML thì cơ bản là các bạn tạo event cho object ( event thì ví dụ là "Create", "Mouse", "Alarm" chẳng hạn ), xong rồi thì mình viết GML cho từng event đó. Để thêm 1 đoạn GML cho event thì ta để ý các mục bên phải đấy, bên cạnh mục "Actions" ( mục cuối này gồm rất nhiều thứ , cũng dành để lập trình cho object, nhưng dành cho người dùng gà qué, ko biết xài GML , ở đây thì mình ko nói 1 tí nào về những công cụ này đâu vì thực ra xài GML cũng ko khó ), ở mục này, ta chọn mục thứ 4 - control - nó bao gồm Questions, Other, Code và Variables. Tại khung Code, ta đưa chuột vào icon đầu tiên (đưa chuột vào nó hiện lên tên của icon này: Execute Code - tức là ta cho vào 1 đoạn code mà ta sẽ viết GML vào đoạn code này), ta thực hiện động tác kéo thả nó vào mục action ngay bên cạnh. Xong thì sẽ hiện ra 1 cái giao diện viết mã code như kiểu Notepad hoặc Wordpad ^^. Đó ! Thế là biết cách cho vào GML rồi nhá. Viết code xong thì đánh dấu tích lưu vào.
Cứ đi từ từ. Nếu đọc cả bài guide mà vẫn chưa hiểu thì down cái example mình đính ở cuối bài về xem
Xong phần giải thích khái niệm với newbie- phần mình ngại nhất ! ^^
Vâng ! Như cái đầu đề, thì ờ Bài học này, mình hướng dẫn các bạn các cách để di chuyển object.
Trước tiên mình phải tạo 1 object. Cái này dễ.
Object nghĩa là vật thể các bạn ạ. Cho nên để biết object mình tạo nó đang làm gì, đi đâu thì object phải có hình thù. Để đc thế, các bạn create 1 cái sprite (tài nguyên cho game), open 1 cái hình nào bạn thích vào, avatar của bạn cũng đc. Trong example thì sẽ để nó màu đen, hình vuông.
Quay lại cái object đã tạo của bạn, bạn hãy viết tên lại cho nó (default là object0) thành "ob_ttc" nhá. Ngay bên dưới mục tên là mục hình ảnh của object (mục sprite), chọn cái sprite bạn vửa đưa vòa dự án khi nãy. Xong ! Ob này đã có hình (viết tắt oject là "ob" từ đây nha).
Giờ đi vào phần chính của bài học: Làm di chuyển ob này.
Mình khẳng định là việc này đơn giản và có nhiều cách. Và sau đây, ta sẽ biết những cách mà 1 GMG (Game Maker Guy) địch thực thường làm.
Ta tạo 1 event cho ob này. Nút "Add Event" đó, tại "KeyBoard", ta chọn <Left>. Tức là event (sự kiện) này xảy ra trong game khi người chơi ấn phím "Mũi Tên Di Chuyển Trái".
Gờ thì kéo thả 1 cái Execute Code như đã hướng dẫn bên trên.
Mở đc cái giao diện viết code chưa? Oke?
Ta viêt đoạn code GML này:
Tạo 1 cái room, thả object vừa tạo vào, để test thử (Nút test là nút tam giác xanh trên thanh công cụ đó người)
Ta ấn phím "Left" và thấy đc object sẽ trôi như rùa bò về bên trái.
Giờ thì mình xin giải thích cụ thể: GML có 2 loại vận tốc, là vspeed và hspeed.
Cho nên người tạo ra GML đã quy định cho chúng ta rồi. hspeed đạt một đại lượng âm thì OB di chuyển về bên trái, đại lượng dương thì khiến OB di chuyển về phải. Với những bạn học đến Toán cấp 2 cũng hiểu đc, dựa trên mô hình trục số.
Về Vspeed thì cũng tương tự thôi. Nó khiến Object di chuyển theo chiều lên-xuống. Âm là đi lên, dương là đi xuống. Trục số Vspeed:
Để hiều rõ hơn, ta sẽ đi lướt qua một số ví dụ minh họa.
Vâng. Đúng thế Speed bao gồm cả hspeed và vspeed. Cho nên khi muốn "phanh" ngay OB của mình lại, để nhanh gọn ta có thể cho speed=0 là lập tức hspeed và vspeed đều bằng ko.
Đến đây thì các bạn hầu như đã hiểu đc rồi. Chúng ta sẽ làm nốt các phím di chuyển khác nhé: phải, lên, xuống.
Và nếu chỉ vậy thôi thì Object của bạn đã có thể điều khiển đc di chuyển mà ko thể tự dừng lại. ^^ Unstopable ^^. Ta sẽ lập trình cho nó tự biết ngừng.
Tại mục event Keyboard, ta chọn nút "No Key". Tức là sự kiện xảy ra khi người chơi ko ấn nút gì. Ta thêm code:
File GMK
Còn đây là file exe:
File exe
Và ở bài sau, chúng ta sẽ tiếp tục tìm hiểu làm sao để di chuyển object nhưng ở cách khác. Đâu phải lúc nào cũng dập khuôn 1 cách đc. Phải ko?
Thế nhé ! Hẹn gặp lại ở bài sau. Nhớ vote cho mình. Và mình yêu cầu đc thăng chức đấy nhá !!
I'm Focker C, from the Deskars.Với những bạn chưa có Engine Game Maker thì mình cho link down crack nè:
http://www.mediafire.com/download/n31r37ru1cftoeq/Game_Maker_8_+_Crack_FockerC.rar
Cài setup trước rồi cài crack đè vào ổ đã setup.
chúc thành công.
Và thì giờ mình đã trở lại, từ nay các bạn có thể gọi mình bằng cái tên chính xác của mình "Focker C" (gọi là focker, hoặc foker, còn C là chữ cái viết tắt tên thật)
Với những bạn chưa biết thì mình là 1 Game Maker guy khá cứng cỏi rồi và lần này mình quay lại là để làm mod box này. Nhanh nhanh sang mod cho mình đê! Và cái gì cũng có đi có lại. Mình cống hiến thì mình mới đòi trả công.
Hiện tại, dự định của mình là làm 1 bộ guide cho Game Maker. Từ dễ đến khó. Và các bạn có thể yên tâm vào khả năng "văn vẻ" của mình, sẽ dễ hiểu thôi.
ok ! so, lets check wtf happening here ! ..
Bài 1: Những cách di chuyển object với GML
Mình sẽ đi luôn vào GML nhá. Những cái cơ bản thì các bạn tự mò. Ko mò đc chỗ nào thì hỏi. Mình đỡ.
Và để cho newbie đánh vần đc cụm GML, mình xin trình bày như sau: GML - viết tắt của Game Maker Language. Đây là ngôn ngữ lập trình riêng của Game Maker Engine. Cách sử dụng GML thì cơ bản là các bạn tạo event cho object ( event thì ví dụ là "Create", "Mouse", "Alarm" chẳng hạn ), xong rồi thì mình viết GML cho từng event đó. Để thêm 1 đoạn GML cho event thì ta để ý các mục bên phải đấy, bên cạnh mục "Actions" ( mục cuối này gồm rất nhiều thứ , cũng dành để lập trình cho object, nhưng dành cho người dùng gà qué, ko biết xài GML , ở đây thì mình ko nói 1 tí nào về những công cụ này đâu vì thực ra xài GML cũng ko khó ), ở mục này, ta chọn mục thứ 4 - control - nó bao gồm Questions, Other, Code và Variables. Tại khung Code, ta đưa chuột vào icon đầu tiên (đưa chuột vào nó hiện lên tên của icon này: Execute Code - tức là ta cho vào 1 đoạn code mà ta sẽ viết GML vào đoạn code này), ta thực hiện động tác kéo thả nó vào mục action ngay bên cạnh. Xong thì sẽ hiện ra 1 cái giao diện viết mã code như kiểu Notepad hoặc Wordpad ^^. Đó ! Thế là biết cách cho vào GML rồi nhá. Viết code xong thì đánh dấu tích lưu vào.
Cứ đi từ từ. Nếu đọc cả bài guide mà vẫn chưa hiểu thì down cái example mình đính ở cuối bài về xem
Xong phần giải thích khái niệm với newbie- phần mình ngại nhất ! ^^
Vâng ! Như cái đầu đề, thì ờ Bài học này, mình hướng dẫn các bạn các cách để di chuyển object.
Trước tiên mình phải tạo 1 object. Cái này dễ.
Object nghĩa là vật thể các bạn ạ. Cho nên để biết object mình tạo nó đang làm gì, đi đâu thì object phải có hình thù. Để đc thế, các bạn create 1 cái sprite (tài nguyên cho game), open 1 cái hình nào bạn thích vào, avatar của bạn cũng đc. Trong example thì sẽ để nó màu đen, hình vuông.
Quay lại cái object đã tạo của bạn, bạn hãy viết tên lại cho nó (default là object0) thành "ob_ttc" nhá. Ngay bên dưới mục tên là mục hình ảnh của object (mục sprite), chọn cái sprite bạn vửa đưa vòa dự án khi nãy. Xong ! Ob này đã có hình (viết tắt oject là "ob" từ đây nha).
Giờ đi vào phần chính của bài học: Làm di chuyển ob này.
Mình khẳng định là việc này đơn giản và có nhiều cách. Và sau đây, ta sẽ biết những cách mà 1 GMG (Game Maker Guy) địch thực thường làm.
Ta tạo 1 event cho ob này. Nút "Add Event" đó, tại "KeyBoard", ta chọn <Left>. Tức là event (sự kiện) này xảy ra trong game khi người chơi ấn phím "Mũi Tên Di Chuyển Trái".
Gờ thì kéo thả 1 cái Execute Code như đã hướng dẫn bên trên.
Mở đc cái giao diện viết code chưa? Oke?
Ta viêt đoạn code GML này:
hspeed=-3
Được rồi, lưu vào. Lưu cả object nữa.Tạo 1 cái room, thả object vừa tạo vào, để test thử (Nút test là nút tam giác xanh trên thanh công cụ đó người)
Ta ấn phím "Left" và thấy đc object sẽ trôi như rùa bò về bên trái.
Giờ thì mình xin giải thích cụ thể: GML có 2 loại vận tốc, là vspeed và hspeed.
Vâng. Hspeed là tốc độ ngang, khi bạn cho hspeed bằng một đại lượng cụ thể, nó sẽ làm object di chuyển theo chiều ngang. À nhưng mà chiều ngang thì có trái và phải đúng ko ạ?Hspeed là horizontal speed, tức là tốc độ di chuyển ngang cho ob.
Vspeed là vertical speed, tức là tốc độ di chuyển dọc cho ob.
Cho nên người tạo ra GML đã quy định cho chúng ta rồi. hspeed đạt một đại lượng âm thì OB di chuyển về bên trái, đại lượng dương thì khiến OB di chuyển về phải. Với những bạn học đến Toán cấp 2 cũng hiểu đc, dựa trên mô hình trục số.
Về Vspeed thì cũng tương tự thôi. Nó khiến Object di chuyển theo chiều lên-xuống. Âm là đi lên, dương là đi xuống. Trục số Vspeed:
Để hiều rõ hơn, ta sẽ đi lướt qua một số ví dụ minh họa.
vspeed= -10 // OB bay lên trời
vspeed= 0.5 // OB di chuyển xuống dưới với tốc độ là 0,5
hspeed= 3/2 // OB di chuyển sang phải với tốc độ là 3 chia 2 = 1,5
hspeed= sin(180) // nâng cao chút. OB di chuyển sang trái vì sin(180)=-1, tốc độ khi này là -1
vspeed=0 // OB ko di chuyển ngang nữa
hspeed=0 // OB ko di chuyển dọc nữa
speed=0 // Ob ko di chuyển 1 tý nào nữa, cả ngang lẫn dọc.
Vâng. Đúng thế Speed bao gồm cả hspeed và vspeed. Cho nên khi muốn "phanh" ngay OB của mình lại, để nhanh gọn ta có thể cho speed=0 là lập tức hspeed và vspeed đều bằng ko.
Đến đây thì các bạn hầu như đã hiểu đc rồi. Chúng ta sẽ làm nốt các phím di chuyển khác nhé: phải, lên, xuống.
Và nếu chỉ vậy thôi thì Object của bạn đã có thể điều khiển đc di chuyển mà ko thể tự dừng lại. ^^ Unstopable ^^. Ta sẽ lập trình cho nó tự biết ngừng.
Tại mục event Keyboard, ta chọn nút "No Key". Tức là sự kiện xảy ra khi người chơi ko ấn nút gì. Ta thêm code:
speed=0
Đúng thế. Phanh OB lại, như đã nói ở trên.Đây là example, các bạn chưa làm đc thì down về, mở ra coi.Tóm tắt bài : Để khiến object di chuyển với tốc độ là n, ta chỉ việc đặt hspeed và vspeed bằng n và thêm dấu âm để chỉnh đúng hướng đi.
File GMK
Còn đây là file exe:
File exe
Và ở bài sau, chúng ta sẽ tiếp tục tìm hiểu làm sao để di chuyển object nhưng ở cách khác. Đâu phải lúc nào cũng dập khuôn 1 cách đc. Phải ko?
Thế nhé ! Hẹn gặp lại ở bài sau. Nhớ vote cho mình. Và mình yêu cầu đc thăng chức đấy nhá !!
I'm Focker C, from the Deskars.Với những bạn chưa có Engine Game Maker thì mình cho link down crack nè:
http://www.mediafire.com/download/n31r37ru1cftoeq/Game_Maker_8_+_Crack_FockerC.rar
Cài setup trước rồi cài crack đè vào ổ đã setup.
chúc thành công.
Tagged:
Comments
Bạn bố láo vờ lờ !!! Ai bảo là ko có nhiều phương hướng. Bạn cứ theo mình đi rồi sẽ thấy thế nào là nhiều phương hướng. Bản thân mình khẳng định GM đa năng hơn RPG maker, và GM Language dễ học và dễ áp dụng hơn Ruby nhiều.
Ờ legend đây. Nê trô là thằng nào. sao ko nhớ nhể ?
Focker Chim nhá
Mình đã bảo chưa nhỉ? Chỉ có newbie mới ko đánh vần đc cụm GML.
Ờ
Đúng là load res ngốn ram thiệc ko biết h khắc phục dc chưa
Theo mình GM còn là engine làm Game-X dễ nhất ^^
2 bạn này ko biết rồi. Có cách load res ko tốn ram đó.
Đúng là ko uyên sâu.
Thực ra khó nói lắm bạn ạ.
Phần nâng cao của GML thì cũng nản quá đây ^^