[Hướng Dẫn] Bài 1: Di chuyển object, làm quen với speed.

Focker_cFocker_c Posts: 1,577Registered
edited July 2019 in Game Maker: Studio
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:
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.
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.
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 ạ?
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:
vspeed_zps0065989apngt1375582922
Để 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.
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.
Đây là example, các bạn chưa làm đc thì down về, mở ra coi.
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.
«1

Comments

  • leequangsonleequangson Posts: 730Registered
    Dùng bản crack sướng hơn
  • Focker_cFocker_c Posts: 1,577Registered
    Sao ít mem của Game Maker quá vậy ? Toàn RPG Maker ko à
  • leequangsonleequangson Posts: 730Registered
    Mới đầu tưởng GML là game maker lite
  • Tạo game maker thì mình không thú lém ! Nó chỉ là game mini thôi nên cũng chịu ! Mình tạo game bằng RPG còn có nhiều phương hướng chơi hơn ! Lấn trước tạo game đến nửa sắp ra demo thì thấy nó là game mini nên thôi ! Bỏ dự án lun !
  • CryingWOLFCryingWOLF Posts: 1,766Registered
    bác legend đây hả. Focker Chính ? Foker Chuối? Foker Châu?
  • Focker_cFocker_c Posts: 1,577Registered
    Tạo game maker thì mình không thú lém ! Nó chỉ là game mini thôi nên cũng chịu ! Mình tạo game bằng RPG còn có nhiều phương hướng chơi hơn ! Lấn trước tạo game đến nửa sắp ra demo thì thấy nó là game mini nên thôi ! Bỏ dự án lun !

    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.
    Netro wrote:
    bác legend đây hả. Focker Chính ? Foker Chuối? Foker Châu?

    Ờ legend đây. Nê trô là thằng nào. sao ko nhớ nhể ?
    Focker Chim nhá
  • Focker_cFocker_c Posts: 1,577Registered
    Mới đầu tưởng GML là game maker lite

    Mình đã bảo chưa nhỉ? Chỉ có newbie mới ko đánh vần đc cụm GML.
  • leequangsonleequangson Posts: 730Registered
    Focker_c wrote:
    Mới đầu tưởng GML là game maker lite

    Mình đã bảo chưa nhỉ? Chỉ có newbie mới ko đánh vần đc cụm GML.

  • Mũ ĐenMũ Đen Posts: 51Registered
    RPG Maker để làm game RPG,còn GAME Maker thì để làm game ' u ' thím nào mà bảo Game Maker không bằng RPG Maker thì chắc là do chưa tìm hiểu chuyên sâu về Game Maker thôi ' u ' Game Maker còn có thể dùng để làm RPG,FPS,Platform,Game Online,.... các kiểu cơ ' u '
  • leequangsonleequangson Posts: 730Registered
    Mình rất là phục cách nén của game maker, và vì thế nên load cũng lâu vl
  • trinh178trinh178 Posts: 90Registered
    Mình rất là phục cách nén của game maker, và vì thế nên load cũng lâu vl

    Đúng là load res ngốn ram thiệc ko biết h khắc phục dc chưa
  • Focker_cFocker_c Posts: 1,577Registered
    Mũ Đen wrote:
    RPG Maker để làm game RPG,còn GAME Maker thì để làm game ' u ' thím nào mà bảo Game Maker không bằng RPG Maker thì chắc là do chưa tìm hiểu chuyên sâu về Game Maker thôi ' u ' Game Maker còn có thể dùng để làm RPG,FPS,Platform,Game Online,.... các kiểu cơ ' u '

    Theo mình GM còn là engine làm Game-X dễ nhất ^^
    trinh178 wrote:
    Mình rất là phục cách nén của game maker, và vì thế nên load cũng lâu vl

    Đúng là load res ngốn ram thiệc ko biết h khắc phục dc chưa

    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.
  • fight manfight man Posts: 73Registered
    công nhận là khó nhưng sau này quen rồi thì có khi còn cảm thấy ruby của RM khó hơn thế này
  • Focker_cFocker_c Posts: 1,577Registered
    ^^
    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 ^^
  • nhoxboy73nhoxboy73 Posts: 776Registered
    Đệch Ruby thì mò theo người ta là, trên mạng cũng có mấy web học xài ruby ^^
Sign In or Register to comment.