1. Trang chủ
  2. » Công Nghệ Thông Tin

Game Unity Phần 4 FPT

30 621 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 715,69 KB

Nội dung

Bài 4: Prefab, Script số xử lý Giảng viên: - Lập trình Game 2D Bài giảng 1 MỤC TIÊU  Cấu trúc Project  A Khởi tạo cấu hình dự án Game 2D  B Tạo đối tượng • • • • • • • • • • • Game Object Sprite Animation điều khiển hành động nhân vật Prefab Script điều khiển máy trạng thái Thành phần vật lý xử lý va chạm Sử dụng Text, Sử dụng Particle System Chuyển đổi chơi 10 Sound 11 Design Pattern Game Nội dung  Cấu trúc Project  A Khởi tạo cấu hình dự án Game 2D  B Tạo đối tượng • • • • • • • • • • • Game Object Sprite Animation điều khiển hành động nhân vật Prefab Script điều khiển máy trạng thái Thành phần vật lý xử lý va chạm Sử dụng Text, Sử dụng Particle System Chuyển đổi chơi 10 Sound 11 Design Pattern Game 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ượng trừ giá trị transform (vị trí, tỉ lệ, quay)  Để tạo Prefab cho đối tượng đó, ta cần kéo thả đối tượng cửa sổ Hierarchy xuống thư mục Prefab cửa sổ Project  Sau muốn sử dụng ta việc kéo Prefab trở lại cửa sổ Scene Prefab Cách để làm  Để tạo Prefab, làm sau:  Trong Unity editor, vào GameObject | 3D Object| Sphere Prefab Cách để làm  Trong thẻ Hierarchy, nhấp chuột phải vào Sphere chọn Rename đổi tên thành Cue Ball  Trong thẻ Project, nhấp phải vào khung Asset chọn Create | Material Sau đổi tên vật liệu tạo lại thành Cue Ball Material Prefab Cách để làm  Nhấp chuột chọn Cue Ball Material thẻ Project Sau qua thẻ Inspector đổi giá trị Shader thành Specular  Điều chỉnh Specular Color thành màu trắng kéo trượt Shininess phía bên phải để thiết lập giá trị cao  Từ thẻ Project, kéo Cue Ball Material thẻ Project vào Cue Ball thẻ Hierarchy Prefab Cách để làm  Nhấp chọn Cue Ball thẻ Hierarchy Vào Component | Physics | Rigidbody để gắn Rigidbody (giả lập khối lượng trọng lượng cho vật)  Nhấp chuột phải vào khoảng trống thẻ Project chọn Create | Prefab Sau đổi tên lại thành Cue Ball Prefab  Kéo Cue ball thẻ Hierarchy vào Cue Ball Prefab vừa tạo Và sử dụng lại gói tài nguyên vào lần sau Prefab Công dụng  Trong Unity, game object (đối tượng sử dụng game) chứa vào kho gọi Prefab  Điều hữu dụng cho trường hợp muốn sử dụng lại game object nhiều tầng khác hay dùng đối tượng vào để code  Tương tự chức MovieClips Adobe Flash Mang Prefab vào project khác  Bạn sử dụng lại Prefab bạn vào project khác cách Export (xuất tài nguyên) thành Custom package Import (nhập tài nguyên) vào project bạn cần dùng Prefab 10 Script số xử lý Script  Khi khởi tạo Scene: • Awake: Hàm chạy scene bắt đầu, ý đội tượng tạo lúc load scene ko nên dùng hàm • OnEnable: Cũng mặc định hàm Awake , không chạy bạn ẩn đối tượng lúc đầu, Hàm chạy sau hàm Awake  Trước hàm update chạy: • Start: không cần phải nói nhiều, muốn khởi tạo thỏa mái  Giữa frame: • OnapplicationPause: Trong trường hợp cờ pause game bật lên nên sử dụng hàm thay cho Update 16 Script số xử lý Script  Update: • FixedUpdate: Thường gọi nhiều lần Update, gọi nhiều lần frame, điều đặt biệt FixedUpdate chạy theo định thời cố định, muốn game chạy xác bạn thay hoàn toàn hàm Update FixedUpdate, yêu cầu tốc độ nên làm ngược lại • Update: Chạy frame lần • LateUpdate: Chạy frame lần, luôn chạy sau hàm Update, Hàm thích hợp cho trường hợp xung đột nhớ hàm Update đối tượng khác dùng chung nhớ • OnDestroy: Được gọi đối tượng bị bạn Destroy, thông thường dc gọi sau hàm LateUpdate, kể từ lúc bạn Destroy • OnApplicationQuit: Được gọi Bạn quit game 17 Script số xử lý Script  Vòng đời script hay vòng đời game object bạn tham khảo chi tiết tại: 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ỷ 18 Script số xử lý Script  Vòng đời script hay vòng đời game object bạn tham khảo chi tiết tại: 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ỷ 19 Script số xử lý Script Biểu đồ: 20 Script số xử lý Script  Ta khai báo thuộc tính file script, thuộc tính hiển thị cửa sổ Inspector Ở MainCharacterBehaviour: 21 Script số xử lý Script  Ở Inspector, thuộc tính GameObject nhấn vào nút đỏ, sau chọn prefabs cho đối tượng bảng 22 Script số xử lý Một số xử lý  this.gameObject: truy cập vào đối tượng game thông qua Thay đổi vị trí, tỉ lệ, quay đối tượng thông qua gameObject.transform(.position, scale, rotate)  Destroy(GameObject) : để huỷ đối tượng game (*)  Instantiate(gameObject, Vector3, Quaternion) (**) : Để tạo prefab trình thực thi game:  Input.GetKeyDown(keyCode),GetKey(keyCode), GetKeyUp(keyCode): kiểm tra xem key bấm, giữ, thả hay không ?  Chú ý: (*), (**) thường sử dụng trường hợp nhân vật bắn súng 23 Script số xử lý Một số xử lý  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, kiểm tra xem chuột bấm, thả di chuyển  gameObject.GetComponent() get Game Component đính kèm gameObject là: Animator, Transform 24 Script số xử lý Một số xử lý  Xử lý đơn giản bấm nút left, right đối tượng qua cách thay đổi vị trí đối tượng  Mô tả qui trình slide 25 Script số xử lý Đ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  Tiếp theo ta xử lý thêm phần xoay đối tượng theo chiều x  Cuối nhấn nút play nhấn thử nút Left, Right ta thấy kết 26 Thực script 27 Kết luận  Cấu trúc Project  A Khởi tạo cấu hình dự án Game 2D  B Tạo đối tượng • • • • • • • • • • • Game Object Sprite Animation điều khiển hành động nhân vật Prefab Script điều khiển máy trạng thái Thành phần vật lý xử lý va chạm Sử dụng Text, Sử dụng Particle System Chuyển đổi chơi 10 Sound 11 Design Pattern Game 28 Chuẩn bị sau  Cấu trúc Project  A Khởi tạo cấu hình dự án Game 2D  B Tạo đối tượng • • • • • • • • • • • Game Object Sprite Animation điều khiển hành động nhân vật Prefab Script điều khiển máy trạng thái Thành phần vật lý xử lý va chạm Sử dụng Text, Sử dụng Particle System Chuyển đổi chơi 10 Sound 11 Design Pattern Game 29 THANK YOU! [...]... thuộc tính là GameObject chúng ta có thể nhấn vào nút đỏ, sau đó chọn prefabs cho đối tượng ở bảng mới hiện ra 22 Script và một số xử lý cơ bản Một số xử lý cơ bản  this.gameObject: truy cập vào đối tượng game hiện tại thông qua Thay đổi vị trí, tỉ lệ, quay đối tượng thông qua gameObject.transform(.position, scale, rotate)  Destroy(GameObject) : để huỷ một đối tượng game (*)  Instantiate(gameObject,... nhân vật 4 Prefab 5 Script và điều khiển máy trạng thái 6 Thành phần vật lý và xử lý va chạm 7 Sử dụng Text, 8 Sử dụng Particle System 9 Chuyển đổi màn chơi 10 Sound 11 Design Pattern trong Game 28 Chuẩn bị bài sau  Cấu trúc Project  A Khởi tạo và cấu hình dự án Game 2D  B Tạo các đối tượng cơ bản • • • • • • • • • • • 1 Game Object 2 Sprite 3 Animation và điều khiển hành động nhân vật 4 Prefab... trong phần trước  Tiếp theo, ta sẽ khai báo một animator để tham chiếu đến Animator Component của đối tượng MainCharacter  Tiếp theo ta sẽ xử lý thêm phần xoay đối tượng theo chiều x  Cuối cùng nhấn nút play và nhấn thử nút Left, Right ta sẽ thấy kết quả 26 Thực hiện script 27 Kết luận  Cấu trúc Project  A Khởi tạo và cấu hình dự án Game 2D  B Tạo các đối tượng cơ bản • • • • • • • • • • • 1 Game. .. hoặc down được bấm (key dọc)  OnMouseDown, OnMouseUp, OnMouseDrag các hàm xử lý chuột, kiểm tra xem chuột được bấm, thả hoặc di chuyển  gameObject.GetComponent() get Game Component được đính kèm trong gameObject hiện tại có thể là: Animator, Transform 24 Script và một số xử lý cơ bản Một số xử lý cơ bản  Xử lý đơn giản khi bấm nút left, right là đối tượng sẽ đi qua đi về bằng cách thay... bị bạn Destroy, thông thường sẽ dc gọi sau hàm LateUpdate, kể từ lúc bạn Destroy • OnApplicationQuit: Được gọi khi Bạn quit game 17 Script và một số xử lý cơ bản Script  Vòng đời của một script hay vòng đời của một game object các bạn có thể tham khảo chi tiết tại: https://docs .unity3 d.com/Documentation/Manual/ExecutionOrder.html  Mới bắt đầu chúng ta cần quan tâm đến một số hàm cơ bản sau: • Start():...Script và một số xử lý cơ bản Script  Script là một tập tin (cũng là Game Component) chứa các mã điều khiển cho một đối tượng nào đó trong game, được viết bằng C# hay Javascript hoặc BOO  Để tạo script ta click chuột phải ở thư mục Scripts/Create/C# Script Chú ý: Đổi tên file Script và tên class thành MainCharacterBehavior... Thường thì ta sẽ ít đụng đến hàm này • OnDestroy(): Được gọi khi đối tượng bị huỷ 18 Script và một số xử lý cơ bản Script  Vòng đời của một script hay vòng đời của một game object các bạn có thể tham khảo chi tiết tại: https://docs .unity3 d.com/Documentation/Manual/ExecutionOrder.html  Mới bắt đầu chúng ta cần quan tâm đến một số hàm cơ bản sau: • Start(): Được gọi 1 lần đầu tiên sau khi khởi tạo đối... Giữa các frame: • OnapplicationPause: Trong trường hợp cờ pause game được bật lên thì nên sử dụng hàm này thay cho Update 16 Script và một số xử lý cơ bản Script  Update: • FixedUpdate: Thường được gọi nhiều lần hơn Update, có thể được gọi nhiều lần trong 1 frame, điều đặt biệt là FixedUpdate này sẽ chạy theo một định thời cố định, nếu muốn game chạy chính xác thì bạn có thể thay thế hoàn toàn hàm Update... • • • • • • • 1 Game Object 2 Sprite 3 Animation và điều khiển hành động nhân vật 4 Prefab 5 Script và điều khiển máy trạng thái 6 Thành phần vật lý và xử lý va chạm 7 Sử dụng Text, 8 Sử dụng Particle System 9 Chuyển đổi màn chơi 10 Sound 11 Design Pattern trong Game 29 THANK YOU! ... ở cửa sổ Inspector chọn Add Component/Scripts/Main Character Behaviour.cs ở danh sách 13 Script và một số xử lý cơ bản Script  Kích đúp để mở file script ta sẽ thấy như sau Cấu trúc script mặc định 14 Tạo một script 15 Script và một số xử lý cơ bản Script  Khi khởi tạo Scene: • Awake: Hàm này luôn chạy khi một scene bắt đầu, chú ý đối với các đội tượng được tạo ra trong lúc đã load scene thì ko nên ... thông qua gameObject.transform(.position, scale, rotate)  Destroy(GameObject) : để huỷ đối tượng game (*)  Instantiate(gameObject, Vector3, Quaternion) (**) : Để tạo prefab trình thực thi game: ... vào lần sau Prefab Công dụng  Trong Unity, game object (đối tượng sử dụng game) chứa vào kho gọi Prefab  Điều hữu dụng cho trường hợp muốn sử dụng lại game object nhiều tầng khác hay dùng đối... chuột, kiểm tra xem chuột bấm, thả di chuyển  gameObject.GetComponent() get Game Component đính kèm gameObject là: Animator, Transform 24 Script số xử lý Một số xử lý  Xử lý đơn

Ngày đăng: 20/04/2016, 17:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN