Bài 4 lập trình game 2d với unity prefab, script và một số xử lý cơ bản

10 437 0
Bài 4 lập trình game 2d với unity   prefab, script và một số xử lý cơ bản

Đang tải... (xem toàn văn)

Thông tin tài liệu

Ở phần trước chúng ta đã biết các kỹ thuật tạo animation và cách tạo animation bằng công cụ của unity và xây dựng mối quan hệ (máy chuyển đổi trạng thái) của một animation. Ở phần này sẽ hướng dẫn cách tạo Prefabs để tạo ra các đối tượng có xử lý giống nhau và sử dụng script để điều khiển máy trạng thái. Trước khi đi tiếp, nếu bạn nào chưa đọc các phần trước, ta có thể tham khảo lại ở đây

Làm Game 2D Unity - Phần - Prefab, Script số xử lý February 2014 at 07:37 Chào bạn, Ở phần trước biết kỹ thuật tạo animation cách tạo animation công cụ unity xây dựng mối quan hệ (máy chuyển đổi trạng thái) animation Ở phần hướng dẫn cách tạo Prefabs để tạo đối tượng có xử lý giống sử dụng script để điều khiển máy trạng thái Trước tiếp, bạn chưa đọc phần trước, ta tham khảo lại Link viết trước: https://www.facebook.com/notes/hội-lập-trình-viên-game-đà-nẵng/làmgame-2d-bằng-unity-phần-3-animation-và-điều-khiển-hành-động-nhân-vậtanimato/233104363528500 Dự án mẫu cho phần đây: https://www.dropbox.com/sh/5gdxosk5iny0tzk/7Em4eBDizp III Tạo đối tượng Game Object Sprite Animation Prefab Prefab cho ta tạo nhanh đối tượng mà không cần thiết lập lại giá trị khởi tạo đối tượngnào ngồi trừ giá trị transform (vị trí, tỉ lệ, quay) Để tạo Prefab cho đối tượng nàođó, ta cần kéo thả đối tượng cửa sổ Hierarchy xuống thư mục Prefab (nếu chưa có tạo mới) cửa sổ Project Sau muốn sử dụng ta việc kéo Prefab trở lại cửa sổ Scene Prefab cho đối tượng Ground Bây ta kéo thả Prefabs tạo thành đường thẳng, đặt lại vị trí đối tượng MainCharacter vị trí nằm đường thẳng hình vẽ Chú ý: đặt vị trí đối tượng MainCharacter, đối tượng Animation MainCharacter Vị trí đối tượng Animation (0, 0) so với đối tượng Maincharacter (vì đối tượng con) nghĩa đối tượng Animation nằm tâm đối tượng MainCharacter Bố cục game đơn giản Tip: Để thiết lập giá trị y Ground nhau, ta chọn tất thiết lập giá trị y cửa sổ Inspector Script điều khiển máy trạng thái a Script Script tập tin (cũng Game Component) chứa mã điều khiển cho đối tượng game, viết C# hay Javascript BOO (Trong hướng dẫn này, sử dụng C#) Để tạo script ta click chuột phải thư mục Scripts/Create/C# Script Tạo Script Ta tiến hành đổi tên file Script tên class thành MainCharacterBehavior (Behaviour script đối tượng MainCharacter) Chú ý: tên lớp tên file script phải giống MainCharacterBehaviour Tip: Chúng ta ý đến việc đặt tên hàm, biến, đối tượng rõ ràng, phù hợp với chức chúng, điều giúp kiểm soát code dễ dàng, đọc code dễ hiểu, dễ debug, dễ dàng phán đoán lỗi, đặt biệt làm nhóm Tránh đặt tên viết tắt, sai lệch với chức năng, phải viết comment dài dòng gây rối code khó hiểu cho Khi code, đầu óc minh mẩn, tỉnh táo, vừa viết nên nhớ hết viết, với dự án vừa phải sau ngày làm việc mệt nhọc, gặp lỗi vớ vẩn đau đầu mà tìm hồi khơng lỗi lúc cách trình bày code lên tiếng -Với script tạo ra, ta cần định script thuộc đối tượng Ta thực cách: Chọn đối tượng MainCharacter cửa sổ Hierarchy, cửa sổ Inspector chọn Add Component/Scripts/Main Character Behaviour.cs danh sách Sau add: Kích đúp để mở file script ta thấy sau: Cấu trúc script mặc định Vòng đời script hay vòng đời game object bạn tham khảo chi tiết https://docs.unity3d.com/Documentation/Manual/ExecutionOrder.html Mới bắt đầu cần quan tâm đến số hàm sau: + Start(): Được gọi lần sau khởi tạo đối tượng, trước vào Update + Update(): Được gọi liên tục sau frame, sau Start + OnWillRenderObject(): Được gọi liên tục sau frame sau Update Thường ta đụng đến hàm + OnDestroy(): Được gọi đối tượng bị huỷ Biểu đồ: - Ta khai báo thuộc tính file script, thuộc tính hiển thị cửa sổ Inspector Ở MainCharacterBehaviour: Ở Inspector: Đối với thuộc tính GameObject nhấn vào nút đỏ, sau chọn prefabs cho đối tượng bảng b Một số xử lý - Truy cập vào đối tượng game thông qua this.gameObject - Thay đổi vị trí, tỉ lệ, quay đối tượng thơng qua gameObject.transform(.position, scale, rotate) - Để huỷ đối tượng game Destroy(GameObject) (*) - Để tạo prefab trình thực thi game: Instantiate(gameObject, Vector3, Quaternion) (**) - Input.GetKeyDown(keyCode), GetKey(keyCode), GetKeyUp(keyCode) kiểm tra xem key bấm, giữ, thả hay không ? - Input.GetAxis ("Horizontal") trả giá trị số thực khoảng -1 có kiện key right left bấm (key ngang) - Input.GetAxis ("Vertical") trả giá trị số thực khoảng -1 có kiện key up down bấm (key dọc) - OnMouseDown, OnMouseUp, OnMouseDrag hàm xử lý chuột - gameObject.GetComponentComponentName>() get Game Component đính kèm gameObject là: Animator, Transform Chú ý: (*), (**) thường sử dụng trường hợp nhân vật bắn súng Ví dụ xử lý đơn giản bấm nút left, right đối tượng qua cách thay đổi vị trí đối tượng: c Điều khiển chuyển đổi trạng thái Ta set trạng thái mặc định Animation Idle Các thiết lập trạng thái mặc định đề cập phần trước Tiếp theo, ta khai báo animator để tham chiếu đến Animator Component đối tượng MainCharacter Ở hàm update ta xử lý để chuyển đổi state sau: Tiếp theo phần xử lý di chuyển nhấn key đề cập trước, ta xử lý thêm phần xoay đối tượng theo chiều x, nhấn nút Left/Right sau: Nhấn nút play nhấn thử nút Left, Right ta thấy kết Tương tự ta xử lý thay đổi máy trạng thái cho trạng thái khác Như ta biết cách tạo sử dụng Script Prefabs để điều khiển, xử lý đối tượng game Phần đề tập đến thành phần vật lý, cách xử lý va chạm Unity, thành phần quan trọng để làm game Link phần tiếp theo: https://www.facebook.com/notes/hội-lập-trình-viên-game-đà-nẵng/làmgame-2d-bằng-unity-phần-5-thành-phần-vật-lý-và-xử-lý-va-chạm/246753422163594 ... tiếp theo: https://www.facebook.com/notes/hội -lập- trình- viên -game- đà-nẵng/làmgame -2d- bằng -unity- phần-5-thành-phần-vật -lý -và- xử- lý- va-chạm/ 246 75 342 21635 94 ... ta biết cách tạo sử dụng Script Prefabs để điều khiển, xử lý đối tượng game Phần đề tập đến thành phần vật lý, cách xử lý va chạm Unity, thành phần quan trọng để làm game Link phần tiếp theo:... tính file script, thuộc tính hiển thị cửa sổ Inspector Ở MainCharacterBehaviour: Ở Inspector: Đối với thuộc tính GameObject nhấn vào nút đỏ, sau chọn prefabs cho đối tượng bảng b Một số xử lý - Truy

Ngày đăng: 02/10/2019, 21:22

Từ khóa liên quan

Mục lục

  • Làm Game 2D bằng Unity - Phần 4 - Prefab, Script và một số xử lý cơ bản

Tài liệu cùng người dùng

Tài liệu liên quan