Chào các bạn! Tiếp tục với series Hướng dẫn cơ bản về Godot Engine. Bài viết hôm nay mình sẽ chia sẻ với các bạn về GDScript của Godot Engine. Bài viết gồm 2 phần là GDScript cơ bản và Hướng đối tượng trong GDScript. Trước khi vào phần 1 thì chúng ta bắt đầu tìm hiểu sơ lược về GDScript nhé!
SƠ LƯỢC VỀ GDSCRIPT
GDScript là ngôn ngữ lập trình bậc cao. Nó sử dụng cú pháp tương tự như Python (các khối dựa trên thụt lề và nhiều từ khóa tương tự nhau). Nó được tối ưu hóa và tích hợp chặt chẽ với Godot Engine, cho phép linh hoạt tuyệt vời để tạo và tích hợp nội dung cho game. Nếu bạn đã quen sử dụng Python rồi thì việc code với GDScript vô cùng dể dàng!
GDSCRIPT CƠ BẢN
1. Cấu trúc một script.gd
2. GDSCRIPT CƠ BẢN
Các hàm chính trên GDScript
Lệnh in Debug trên cửa sổ Console
Kiểu dữ liệu, biến, hằng và cách khai báo
Các kiểu dữ liệu trên GDScript cũng tương tự trên Python có 2 dạng là kiểu nguyên thủy (không viết hoa kí tự đầu) và kiểu lớp (có viết hoa kí tự đầu).
Cấu trúc điều kiện IF…THEN…ELSE
Cấu trúc Match
Vòng lặp For
Vòng lặp While
HƯỚNG ĐỐI TƯỢNG TRONG GDSCRIPT
Tạo và sử dụng lớp là 2 công việc thiết yếu trong lập trình hướng đối tượng. Dưới đây là công thức tạo và sử dụng lớp trên GDScript.
Tạo lớp
Xây dựng các thuộc tính (biến) và các phương thức (các hàm khởi tạo cho đối tượng)
Sử dụng lớp (tạo đối tượng tương ứng với lớp)
Ngoài ra ta còn có thể sử dụng lớp bằng cách sử dụng kế thừa bằng extends. Lưu ý: Nếu bạn tạo lớp có kế thừa các lớp mặc định trong Godot thì ở script sử dụng lớp phải gán cho Node có cùng kiểu với lớp mà bạn đã khởi tạo trước đó và sử dụng.
Bài viết hôm nay mình đã giới thiệu và chia sẻ với các bạn GDScript cơ bản trên Godot Engine. Nếu có thắc mắc hãy để lại bình luận hoặc góp ý nhé! Để nắm rõ hơn các bạn có thể tham khảo thêm các video cơ bản tại https://www.youtube.com/playlist?list=PLOk8LhtEwUVn8e3RUfk-rX_RB3f9_ulYg. Xin cảm ơn các bạn đã theo dõi bài viết!
Sưu tầm và Tổng hợp
www.hanoiyeu.com
SƠ LƯỢC VỀ GDSCRIPT
GDScript là ngôn ngữ lập trình bậc cao. Nó sử dụng cú pháp tương tự như Python (các khối dựa trên thụt lề và nhiều từ khóa tương tự nhau). Nó được tối ưu hóa và tích hợp chặt chẽ với Godot Engine, cho phép linh hoạt tuyệt vời để tạo và tích hợp nội dung cho game. Nếu bạn đã quen sử dụng Python rồi thì việc code với GDScript vô cùng dể dàng!
GDSCRIPT CƠ BẢN
1. Cấu trúc một script.gd
extends Node # Khai báo kế thừa. Phải kế thừa đúng tên lớp (tên Node) mà bạn sử dụng. var a = 0 # Biến toàn cục var b = 0 # Biến toàn cục func _ready(): # Hàm . var c = a + b # Biến cục bộ |
Các hàm chính trên GDScript
extends Node func _init(): #Thực thi một lần duy nhất khi khởi chạy chương trình. . pass func _ready(): #Thực thi một lần duy nhất khi Node sẵn sàng hoạt động. . pass func _process(delta): #Hàm luôn thực thi lặp lại trong mỗi thời gian delta bằng nhau (không phùhợp cho các hoạt động vật lí) . pass func _physics_process(delta): #Hàm thực thi lặp lại trong mỗi thời gian delta tăng dần (thích hợpcho hoạt động vật lí) . pass |
func _ready(): . var a = 4 . print(a); . print("\nHello World") Output: 4 Hello Word |
Các kiểu dữ liệu trên GDScript cũng tương tự trên Python có 2 dạng là kiểu nguyên thủy (không viết hoa kí tự đầu) và kiểu lớp (có viết hoa kí tự đầu).
extends Node #var <tên biến> : [kiểu dữ liệu] (có thể "=" để gán giá trị trực tiếp mà không cần khai báo kiểu dữ kiệu (ép kiểu ngầm)) var a = 4 var a: int = 4 var a a = 4 #các kiểu khai báo trên là tương tự như nhau. Ngoài ra ta còn có thể khai báo var a:=4. const a = 4 #khai báo hằng. Lưu ý phải gán giá trị cho hằng. var ab = Vecto2(0,0) # Biến kiểu lớp var arr = [1, 2, 3] #khai báo mảng var d = {2: 3, 4: "Hello"} #khai báo từ điển |
func _ready(): # if(<điều kiện>): # [tập lệnh phía sau dấu tab phải thẳng hàng] # else: # [tập lệnh phía sau dấu tab phải thẳng hàng] . var a = false . var b = 0 . if(a): . b = 1 . else: . b = 2 |
func _ready(): . var a = 0 . Match(a): . 1: . [tập lệnh phía sau dấu tab phải thẳng hàng] . 2: . [tập lệnh phía sau dấu tab phải thẳng hàng] |
func _ready(): . for i in 5: . [tập lệnh phía sau dấu tab phải thẳng hàng] . for i in range(5): . [tập lệnh phía sau dấu tab phải thẳng hàng] #i chạy từ 0 đến 5-1 |
func _ready(): . while(<điều kiện>): . [tập lệnh phía sau dấu tab phải thẳng hàng] |
Tạo và sử dụng lớp là 2 công việc thiết yếu trong lập trình hướng đối tượng. Dưới đây là công thức tạo và sử dụng lớp trên GDScript.
Tạo lớp
Xây dựng các thuộc tính (biến) và các phương thức (các hàm khởi tạo cho đối tượng)
class Math: #tên lớp . var total #thuộc tính . static func _sum(a: int, b: int) -> int: #phương thức . return a+b |
#var <tên biến file script> = preload("đường dẫn script") var MathGD = preload("Math.gd") func _ready(): # var <tên biến> = <tên biến script>.<tên lớp>.new() . var a = MathGD.Math.new() . print(a.sum(1,2)) Output: 3 |
Ngoài ra ta còn có thể sử dụng lớp bằng cách sử dụng kế thừa bằng extends. Lưu ý: Nếu bạn tạo lớp có kế thừa các lớp mặc định trong Godot thì ở script sử dụng lớp phải gán cho Node có cùng kiểu với lớp mà bạn đã khởi tạo trước đó và sử dụng.
Bài viết hôm nay mình đã giới thiệu và chia sẻ với các bạn GDScript cơ bản trên Godot Engine. Nếu có thắc mắc hãy để lại bình luận hoặc góp ý nhé! Để nắm rõ hơn các bạn có thể tham khảo thêm các video cơ bản tại https://www.youtube.com/playlist?list=PLOk8LhtEwUVn8e3RUfk-rX_RB3f9_ulYg. Xin cảm ơn các bạn đã theo dõi bài viết!
Sưu tầm và Tổng hợp
www.hanoiyeu.com