[Hướng Dẫn] Cùng học Game Maker: Studio #1

phamphuphiphuongphamphuphiphuong Posts: 58Registered, Moderators
edited August 2019 in Game Maker: Studio
Xin chào các bạn nhân dịp update diễn đàn mình muốn chia sẻ một số kiến thức mình học được về GMS với các bạn! Tất cả là tự học nên mình sẽ đặt tên cho chuỗi hướng dẫn này thành "Cùng học Game Maker: Studio #1", trong quá trình mình học có gì hay ho thì mình sẽ share lại ở đây!
Nói sơ qua về GMS, mình thấy phần mềm này rất phù hợp với những bạn yêu thích làm game, nó không quá khó cũng không quá dễ :v, có thể nói nó hơn RPG Maker và thua Unity một chút, và mình nghĩ các bạn học nó làm game thì tốt hơn là dùng RPG Maker!
Mình sẽ hướng dẫn cơ bản cách dùng và sẽ hướng dẫn làm một số game để các bạn dễ tiếp nhận nó hơn và như đã nói mình học được gì sẽ share cái đó.

Cùng học Game Maker: Studio #1

Mình sẽ bắt đầu với Game Maker: Studio trước vì nó dễ dàng với các bạn hơn và nó cũng không khác nhiều so với Game Maker: Studio 2, tương lai sẽ có chia sẻ về phiên bản đó.

Giao Diện Cơ Bản

Đây là giao diện ban đầu của phần mềm sau khi bạn mở nó lên, ở đây các bạn chỉ quan tâm cho mình vài thứ cần dùng cho quá trình làm game thôi.
  • Welcome là nơi sẽ hiển thị các dự án mà bạn đang phát triển
  • Open là nơi các bạn sẽ mở một dự án đã lưu
  • New là nơi các bạn sẽ tạo một dự án mới
  • Import là nơi thêm một dự án đã được nén thành đuôi gmz

Đây là giao diện sau khi chúng ta mở dự án của mình lên, giao diện làm việc chính của phần mềm này, khá là nhiều thứ để nói tới nhưng mình nghĩ sẽ nói ở một vài ví dụ cụ thể sẽ dễ dàng hiểu hơn!
Các bạn có thể đọc qua chức năng của nó để hình dung trước rõ hơn
https://docs.yoyogames.com/source/dadiospice/000_using%20gamemaker/index.html

Lập trình cơ bản

Như đã nói ở bài viết share phần mềm này của mình Game Maker: Studio cho phép bạn làm game bằng cách kéo thả các nút (tựa tựa RPG Maker), nhưng ở hướng dẫn của mình sẽ hoàn toàn dùng Game Maker Language, và bài viết này mình nhắm tới các bạn mới nên sẽ phải chia sẻ một ít kiến thức lập trình ít ỏi mình học được các bạn có thể học về nó ở bất cứ nơi đâu, ngôn ngữ lập trình này khá giống với Javascript nên mình nghĩ các bạn có thể học một ít ở Youtube về Javascript.

Bắt đầu với GML
Các bạn vào đường dẫn này nơi này chúng ta sẽ dùng nó để học, trang này sẽ cho phép chúng ta sử dụng một vài hàm của GML
https://yal.cc/r/gml/

Comment
//Đây là comment
Những dòng code phía sau comment sẽ không được thực thi, để comment các bạn dùng hai dấu "//" xuộc/xoạc/xiệc đằng trước nó

 Khai báo biến và kiểu dữ liệu
Để khai báo biến chúng ta cần đặt tên cho biến và nhập kiểu dữ liệu cho nó, tên biến trong GML có phân biệt chữ hoa chữ thường, tức là A sẽ khác a, tên biến bắt đầu bằng một chữ cái và đứng trước dấu = phía sau dấu bằng là kiểu dữ liệu của nó, kiểu dữ liệu của biến trong GML sẽ tự định nghĩa nên các bạn không cần phải định nghĩa
//Khai báo biến a có kiểu dữ liệu là một số nguyên (int)
a = 6969;

//Khai báo biến b có kiểu dữ liệu là một số thực (float)
b = 69.69;

//Khai báo biến c có kiểu dữ liệu là một chuỗi (string)
c = "Day la kieu chuoi";

//Khai báo biến d và e có kiểu dữ liệu là một logic (boolean)
d = true;
e = false;

//Với true có nghĩa là đúng và false có nghĩa là sai
Như các bạn thấy tên biến sẽ đứng đầu và kiểu dữ liệu của nó sẽ đứng đằng sau dấu "=" , tên biến không được trùng với biến built-in (đã được định nghĩa từ GML), nó sẽ hiện màu cam nếu bị trùng nên các bạn yên tâm không cần phải nhớ

 Toán tử
//Phép cộng trừ nhân chia
a + b //Phép cộng biến a và biến b
a - b //Phép trừ biến a và biến b
a * b //Phép nhân biến a và biến b
a / b //Phép chia biến a và b
a % b //Phép chia lấy dư biến a và b

//Toán tử số học

//Tăng ++
a = 0;
a++; 
//Biến a sẽ tăng lên 1 giá trị lúc này a = 1

//Giảm --
a = 0;
a--;
//Biến a sẽ giảm đi một giá trị lúc này a = -1

//Toán tử gán =
a = 1;
//Có nghĩa biến a được gán giá trị 1

//Cộng xong gán +=
a += 1;
//Có nghĩa biến a sẽ được gán giá trị sau khi lấy a cộng với 1

//Trừ xong gán -=
a -= 1;
//Có nghĩa biến a sẽ được gán giá trị sau khi lấy a trừ với 1

//Nhân xong gán *=
a *= 1;
//Có nghĩa biến a sẽ được gán giá trị sau khi lấy a nhân với 1

//Chia xong gán /=
a /= 1;
//Có nghĩa biến a sẽ được gán giá trị sau khi lấy a chia với 1

//Chia lấy dư xong gán %=
a %= 1;
//Có nghĩa biến a sẽ được gán giá trị sau khi lấy a chia lấy dư với 1

//Toán tử so sánh
//Sẽ dùng trong biểu thức điều kiện

//So sánh bằng ==
a == b; 
//Có nghĩa so sánh giữa a và b liệu có bằng nhau
//Trả về giá trị true nếu bằng nhau và false nếu không

//So sánh không bằng, khác !=
a != b;
//Có nghĩa so sánh giữa a và b liệu khác nhau
//Trả về giá trị true nếu khác nhau và false nếu không

//So sánh bằng và cùng kiểu dữ liệu ===
a === b;
//Có nghĩa so sánh giữa a và b liệu có bằng nhau và cùng kiểu dữ liệu
//Trả về giá trị true nếu bằng nhau và cùng kiểu dữ liệu và false nếu không

//So sánh bằng lớn hơn >
a > b;
//Có nghĩa so sánh xem liệu a có lớn hơn b
//Trả về giá trị true a lớn hơn b và false nếu a nhỏ hơn b

//So sánh bằng lớn hơn hoặc bằng >=
a >= b;
//Có nghĩa so sánh xem liệu a có lớn hơn b hoặc bằng b
//Trả về giá trị true a lớn hơn b hoặc bằng b

//So sánh bằng nhỏ hơn <
a < b;
//Có nghĩa so sánh xem liệu a có nhỏ hơn b
//Trả về giá trị true a nhỏ hơn b và false nếu a lớn hơn b

//So sánh bằng nhỏ hơn hoặc bằng <=
a <= b; 
//Có nghĩa so sánh xem liệu a có nhỏ hơn b hoặc bằng b
//Trả về giá trị true a nhỏ hơn b hoặc bằng b
Sign In or Register to comment.