Hướng dẫn làm máy bay tự bắn đạn trong unity
Bạn là người có niềm đam mê với công việc lập trình viên game chuyên nghiệp và bạn đang phân vân vì không biết nên bắt đầu nó từ nền tảng nào? Vậy còn lo ngại gì mà không tham khảo ngay thiế kế app thương mai điện tử Unity là gì – lập trình phổ biến nhất trong game qua thông tin dưới đây. Vậy làm thế nào để chúng ta có thể thiết kế app thương mại điện tử ? Hãy cùng Mevivu tìm câu trả lời cho bài viết này . Show Định nghĩa thiết kế app thương mại điện tử Unity là gì?Lập trình Unity 2D và 3D được lập trình dựa vào 3 ngôn ngữ chính là C#, Boo và UnityScript. Thông thường, ngôn ngữ chính mà lập trình viên Unity sử dụng phổ biến nhất hiện nay là C#. Đến đây, chắc hẳn nhiều bạn đọc đang phân vân và không biết tại sao Unity lại được sử dụng để thiết kế game rồi mà vẫn còn phải biết rõ những lập trình ở phía trên? Có thể bạn chưa biết rằng, Unity có phần hạn chế lập trình nằm ở phần kéo thả nên các lập trình trên được áp dụng như phương pháp bổ trợ. Theo dõi ví dụ sau: Bạn đã biết đến trò chơi Planes đây là một sản phẩm được tạo ra bởi sinh viên. Trò chơi này được lập trình với thao tác đơn giản là bắn máy bay, ngoài công việc kéo thả các giao diện tại main menu, đặt nhân vật và khung nền,… thì nó còn được thực hiện dựa trên phương pháp drag and drop. Những hiệu ứng bên trong trò chơi sẽ tự động lặp đi lặp lại như bầu trời của nền và đi lùi liên tục nhằm tạo ra các hiệu ứng máy bay đang di chuyển, vụ nổ, hoặc bắn đạn,… Chính vì vậy, bạn không thể pick mãi 1 đối tượng rồi tiến hành thả liên tục trên đó cũng như cảnh chỉnh mãi bằng tay. Bởi đây là một trong những hiệu ứng tự động và cũng là cách duy nhất mà bạn cần phải lập trình. Ưu điểm và nhược điểm của thiết kế app thương mại điện tử UnityƯu điểm của việc sử dụng Unity 3D:Unity là ứng dụng tốt nhất để phát triển trò chơi. Nó rất hiệu quả trong khi dựng cảnh 2D và 3D. Trong thời đại này, Unity cũng có thể được sử dụng để kết xuất hình ảnh 3D. Chất lượng cung cấp cũng tương đối tốt so với các ứng dụng khác.
Nhược điểm của việc sử dụng Unity:
Từ menu kéo xuống lựa chọn option “Add tag…”. Trong cửa sổ mới, nhấp vào nút + nằm bên dưới nhãn “Tags/List is Empty”. Đặt tên cho tag của bạn (tức là, mục tiêu), sử dụng trường ở bên phải của nhãn Tag 0. Nhấn phím Enter/Return trên bàn phím để lưu tag mới của bạn. Chọn lại mục tiêu đối tượng thiên thạch trong cửa sổ hierarchy, trong inspector , chọn tag mà bạn vừa tạo ra. Cuối cùng nhưng không kém phần quan trọng, chúng ta sẽ tạo một prefab từ mục tiêu này bằng cách kéo và thả mục tiêu đối tượng vào cửa sổ Project. Tiếp theo, chúng ta tạo một tập lệnh mới sẽ được liên kết với viên đạn (hoặc tên lửa), do đó, khi va chạm với mục tiêu, mục tiêu này sẽ bị phá hủy (dựa trên tag của nó). Chúng ta tạo một tập lệnh mới có tên Bullet: từ cửa sổ Project, chọn Create | C # scripts. Thêm đoạn code sau đây vào nó: void OnCollisionEnter2D(Collision2D coll) { if (coll.gameObject.tag == "target") { Destroy (coll.gameObject); Destroy (gameObject); } } Trong đoạn code bên trên ta thực hiện một số tác vụ như sau:
Chúng ta lưu tập lệnh có tên Bullet và kiểm tra xem nó có lỗi hay không. Nếu không có lỗi, Tiến hành kéo và thả nó vào prefab có tên Bullet, trong cửa sổ Project. Tiếp theo chúng ta sẽ cần thêm một sự va chạm vào prefab Bullet của mình, để nó thực sự va chạm với các đối tượng khác: Chọn prefab “bullet”. Từ menu trên cùng, chọn Components | Physics2D | BoxCollider2D. Bây giờ bạn có thể kiểm tra trò chơi của mình: Di chuyển đối tượng thiên thạch ngay phía trên tên lửa, như được minh họa trong hình tiếp theo. Nhấn phím cách và kiểm tra xem, khi va chạm giữa viên đạn và mục tiêu, cả hai vật thể đều bị phá hủy. Lưu ý rằng vì bạn sẽ bắn một số viên đạn, chúng ta có thể chọn phá hủy một viên đạn sau 10 giây (trước thời gian này nó sẽ phải bắn trúng mục tiêu nếu không viên đạn sẽ tự biến mất sau 10s), bằng cách sửa đổi tập lệnh Bullet như sau: void Start () { Destroy (gameObject, 10); } Bạn có thể kiểm tra để thấy rằng sau 10 giây viên đạn có bị phá hủy hay không. Trước khi tiếp tục, các bạn lưu lại scene này lại. Bạn chọn (File | Save Scene As) từ menu trên cùng và lưu lại với tên level1. Bạn cũng có thể lưu dự án của mình (File | Save project). Tiếp theo, chúng ta sẽ chỉ rõ 2 loại mục tiêu khác nhau; đó là: một mục tiêu di chuyển sẽ di chuyển xuống dưới và người chơi sẽ phải tránh hoặc tiêu diệt. Trong cửa sổ project, Chúng ta tiến hành sao chép prefab “target” mà chúng ta vừa tạo (nghĩa là chọn prefab “target” và nhấn CTRL + D). Đổi tên prefab vừa tạo thành move_target. Chọn prefab move_target trong cửa sổ hierarchy và thêm thành phần RigidBody2D vào nó (nghĩa là chọn Component | Phisics2D | RigidBody2D). Trong cửa sổ Inspector, đặt thuộc tính Gravity Scale (cho thành phần Rigidbody2D) thành 0, như được minh họa trên hình tiếp theo. Điều này là để đối tượng không rơi vô thời hạn (vì nó là chế độ xem từ trên xuống) Tiếp theo, chúng ta sẽ tạo một tập lệnh C# để liên kết với move_target nhầm điều chỉnh vận tốc rơi xuống của move_target. Tạo tập lệnh C # mới có tên là MoveTarget. Thêm dòng code sau vào function “start” để điều chỉnh vận tốc ban đầu. void Start () { GetComponent ().velocity = Vector2.down * 10; } Trong đoạn code trên, chúng ta truy cập vào thành phần Rigidbody2D của đối tượng được liên kết với tập lệnh này (đây sẽ là mục tiêu di động), sau đó đặt vận tốc rơi xuống của đối tượng. Bây giờ bạn có thể lưu tập lệnh của mình, kiểm tra xem nó không có lỗi và kéo và thả tập lệnh vào prefab có tên là move_target. Để chúng tôi có thể kiểm tra cảnh, vui lòng kéo và thả prefab move_target vào chế độ xem Cảnh và phát cảnh, bạn sẽ thấy mục tiêu cụ thể này di chuyển xuống dưới. |