Giới thiệu sơ lược về sử dụng Script trong Unity
Bài viết hướng dẫn cơ bản về cách tạo và sử dụng script trong Unity. Tác giả giải thích vai trò của script như 'bộ não' điều khiển các component khác, cách tạo script mới, và các hàm quan trọng như Start() và Update() với ví dụ thực tế về cách điều khiển đối tượng trong game.

Chào mọi người,
Song song với việc tạo các video hướng dẫn làm game với Unity qua project/game cụ thể, mình sẽ tiếp tục viết các bài hướng dẫn chi tiết từ cơ bản nhất để giúp các bạn mới học làm game với Unity có thể theo dõi.
Trong bài hôm nay, chúng ta sẽ cùng tìm hiểu sơ lược về cách tạo script trong Unity.
Script là gì
Unity đã cung cấp sẵn cho chúng ta rất nhiều component như Physics 2D, Audio, Animation để làm game. Tuy nhiên để sử dụng, điều khiển, chỉnh sửa và kết hợp các component này một cách linh hoạt, Unity cung cấp thêm một component do người dùng tự tạo đó là script. Bạn có thể điều chỉnh bất cứ thuộc tính của component khác thông qua script. Có thể nói script như là 'não' người, nó có thể điều khiển các bộ phận còn lại.
Unity hỗ trợ 2 ngôn ngữ chính là C# và JavaScript. Thật ra ở phiên bản trước có hỗ trợ thêm ngôn ngữ Boo, nhưng có lẽ vì ít người sử dụng nên Unity đã loại bỏ ngôn ngữ Boo ở các phiên bản sau này. Mình sẽ viết thêm nhiều bài về cách lập trình C# trong Unity trong thời gian tới. Dĩ nhiên, nếu bạn đã tiếp cận với C# từ trước thì việc sử dụng nó trong Unity rất dễ dàng.
Cách tạo Script trong Unity
Trong Unity có thể tạo trực tiếp bằng cách click phải chuột trong tag project chọn Create -> C# Script ( hoặc Javascript ), sau đó kéo script mới tạo vào 1 GameObject
Tạo script trực tiếp trong Unity
Cách thứ 2 để tạo script là click vào GameObject , trong tag Inspector, kéo xuống cuối cùng, chọn Add Component -> New Script, sau đó đặt tên cho script và chọn ngôn ngữ C# hoặc Javascript là xong.
Chỉnh sửa script như thế nào?
Bạn double-click vào script, Unity sẽ tự động mở Visual Studio hoặc Monodeveloper tùy theo cài đặt của bạn, để thay đổi lựa chọn sử dụng VS hay Mono, bạn chọn Edit -> Preferences - > External Tools -> External Script Editor
Script trong Unity
Như bạn thấy, khi mở một script lên, bạn sẽ thấy nó được kế thừa class MonoBehaviour - một class được Unity xây dựng sẵn để hỗ trợ làm game.
Ngoài ra, bạn sẽ thấy có sẵn 2 hàm là Start() và Update(). Hàm Update sẽ là nơi chúng ta viết những dòng code cập nhật lại khung hình của GameObject bao gồm sự di chuyển, bắn đạn, nhận input từ bàn phím, vv nói chung là mọi thứ cần được xử lý trong thời gian game chạy. Để hàm Update hoạt động tốt, chúng ta thường cài đặt khởi tạo các biến, kết nối các component của GameObject trong hàm Start(). Nếu bạn có học qua hướng đối tượng, bạn sẽ hơi ngạc nhiên là tại sao không có constructor ( hàm khởi tạo mặc định cho đối tượng ), mà chỉ cần khai báo trong Start() là được? Bởi vì Unity đã làm sẵn cho chúng ta việc này rồi, nếu bạn cố tính tạo thêm constructor cho đối tượng thì có thể gây ra lỗi.
Ví dụ về hàm Start() và Update() trong Unity
Ở ví dụ trên, bạn thấy rằng ở hàm Start(), mình khởi tạo cho biến mybody lấy component khác là Rigidbody2D mà không dùng constructor. Tiếp theo, ở hàm Update(), mình cứ cho mỗi khung hình, đối tượng này sẽ chạy về phía bên trái 3 đơn vị trên trục tọa độ ( Mình sẽ viết bài giới thiệu về Rigidbody sau )
Bạn lưu ý rằng một script chỉ hoạt động được khi nó là một thành phần của một GameObject nào đó.
Ví dụn trong hình, script Testgame là 1 thành phần của GameObject là Player. Nếu bạn bỏ chọn dấu check kế bên menu Testgame trong tag Inspector thì khi chạy game, chương trình sẽ bỏ qua script này
Chúng ta cùng viết thử một dòng code và chạy thử nhé. Bên dưới là lệnh in chữ ra màn hình console trong Unity ( Nếu bạn không có tag Console thì click Window -> Console nhé )
In chữ ra màn hình console trong Unity
Khi bạn play game bạn sẽ thấy được dòng Welcome to Niviki.com trong tag Console.
Bài viết này nhằm mục đích giới thiệu sơ lược về script, cách tạo script trong Unity, hẹn gặp các lại các bạn ở những bài viết mới!
Related Posts
Discover more content you might enjoy

English Course Challenge in 2 weeks - Day 12: Kinh nghiệm quay khoá học
Bài viết chia sẻ kinh nghiệm quay khóa học tiếng Anh về Bubble.io, bao gồm việc lựa chọn phần mềm Screen.Studio để quay màn hình và tự động tạo phụ đề, những bài học từ việc đặt mục tiêu và xác định đối tượng học viên trước khi chọn nội dung, cũng như lợi ích của việc thử thách bản thân để vượt qua nỗi sợ và hoàn thành dự định. Tác giả cũng giới thiệu khóa học 'Build your first web app in Bubble for beginners' dành cho người mới bắt đầu.

English Course Challenge in 2 weeks - Day 7: Fine-tuning ChatGPT là gì?
Bài viết chia sẻ tiến trình ngày thứ 7 trong thử thách tạo khóa học tiếng Anh trong 2 tuần. Tác giả giới thiệu về Fine-tuning ChatGPT, một tính năng cho phép tạo phiên bản ChatGPT tùy chỉnh dựa trên dữ liệu cung cấp, đặc biệt hữu ích cho chatbot hỗ trợ khách hàng. Bài viết cũng thảo luận về việc điều chỉnh hướng phát triển ứng dụng demo và khóa học, cùng với những khó khăn khi sử dụng API của OpenAI tại Việt Nam.

English Course Challenge in 2 weeks - Day 2: Tiềm năng của Prompt Engineering
Bài viết chia sẻ về việc phát triển ứng dụng SaaS AI demo cho khóa học Bubble, tập trung vào Prompt Engineering - kỹ thuật viết prompt hiệu quả cho AI. Tác giả giới thiệu cấu trúc prompt chuẩn gồm 6 phần: Persona, Context, Task, Format, Examplar và Tone, đồng thời trình bày ý tưởng và mockup cho ứng dụng hỗ trợ người dùng viết prompt tốt hơn, giải quyết vấn đề nhiều người gặp phải khi sử dụng AI.

Đối thoại với AI: Generative AI (AI tạo sinh) và những điều cần biết
Bài viết dạng hỏi đáp toàn diện về AI tạo sinh, bao gồm kỹ thuật viết prompt hiệu quả, cách kiếm tiền từ AI, các nền tảng thay thế Claude AI, chi phí huấn luyện mô hình lớn, và các khái niệm quan trọng như BERT, mô hình tiền huấn luyện cùng những vấn đề đạo đức liên quan.

Bạn nên blogging hay content marketing?
So sánh hai phương pháp viết lách trực tuyến phổ biến - blogging cá nhân và content marketing chuyên nghiệp. Bài viết chia sẻ hành trình phát triển blog NIVIKI từ viết cho bản thân đến xây dựng nội dung mang lại giá trị cho độc giả, với những ưu nhược điểm của mỗi phương pháp.

Đầu tư crypto có phải một nghề không?
Bài viết phân tích về việc đầu tư cryptocurrency có thể được xem là một nghề hay không, so sánh với đầu tư truyền thống và nhấn mạnh tầm quan trọng của việc trang bị kiến thức về blockchain, đồng coin, thị trường và xu hướng công nghệ để thành công trong lĩnh vực này.