Phát triển các trò chơi 3D dưới Android. Sử dụng Unity để phát triển các ứng dụng. Giới thiệu về GUI.

Lượt xem bài: 19 374

Chúng tôi đã nói về cách bạn có thể tạo trò chơi Android của mình với động cơ Unreal Engine. Trong bài viết này, chúng tôi sẽ xem xét một động cơ chuyển động phổ biến khác Đoàn kết.

Unity là một động cơ rất nổi tiếng trong số các nhà phát triển Indy. Về bản chất, đây là một công cụ đa nền tảng cho phép bạn phát triển 3d.- TÔI. 2D.-Trò chơi. Một tính năng mà sự thống nhất phân bổ giữa các động cơ khác là ngưỡng cửa thấp cho người mới bắt đầu với sự hiện diện của một bộ công cụ phong phú cho các chuyên gia. Các nền tảng chéo cho phép bạn phát triển các ứng dụng cho bất kỳ nền tảng nào, bắt đầu bằng các trò chơi trên máy tính để bàn và kết thúc bằng điện thoại di động.

Một cách riêng biệt, điều đáng nói về hệ thống đăng ký, vì Unity không hoàn toàn miễn phí sản phẩm. Có một số loại đăng ký:

  • Cá nhân. Một phiên bản miễn phí chứa tất cả các chức năng cơ bản của động cơ. Có giới hạn sau: Thu nhập mỗi năm hoặc khối lượng của các phương tiện hấp dẫn không được vượt quá 100000$ .
  • Thêm.. Mỗi 35 đô la một tháng Các báo cáo và phân tích khác nhau được cung cấp, cũng như khả năng thay đổi màn hình may, 20% - Mua giảm giá mua sắm trong Cửa hàng tài sản. Và nhiều lợi thế nhỏ khác nhau. Có giới hạn sau: Thu nhập mỗi năm hoặc khối lượng của các phương tiện hấp dẫn không được vượt quá 200000$ .
  • Pro.. Mỗi 125 đô la một tháng Bao gồm tất cả các ưu điểm của phiên bản Thêm. Và dịch vụ chuyên nghiệp và hỗ trợ cao cấp. Không có hạn chế về doanh thu hoặc khối lượng vốn.
  • Phiên bản riêng cho doanh nghiệp (được sử dụng bởi các công ty lớn).

Do đó, các nhà phát triển Indi với ngân sách nhỏ là đủ Cá nhân hoặc là Thêm.Nếu không, bạn phải đăng ký Pro.. Bài viết này sẽ sử dụng phiên bản miễn phí cho lần phóng đầu tiên.

Bước 1. Cài đặt Unity

Để bắt đầu cài đặt Unity, bạn cần đến trang web Unity Store, nơi bạn được nhắc chọn loại đăng ký. Như đã đề cập ở trên, chọn Cá nhân.

Sau đó, nó sẽ được nhắc chấp nhận các điều khoản sử dụng và tải xuống trình cài đặt. Bạn cũng có thể làm quen với các yêu cầu hệ thống để làm việc với sự thống nhất.

Sau khi bắt đầu trình cài đặt, nó sẽ được nhắc chọn các thành phần nào sẽ được cài đặt. Vì chúng ta cần tạo một ứng dụng dưới Android, hãy thực hiện hộp kiểm Hỗ trợ xây dựng Android. Ngoài ra, nếu bạn muốn, thay vì thống nhất có thể được cài đặt Cộng đồng Visual Studio 2017 Để lập trình trên C #.

Sau đó, nó sẽ chỉ còn lại để chọn đường dẫn cài đặt và bắt đầu cài đặt Unity.

Bước 2. Đăng ký và cấu hình đoàn kết

Sau khi hoàn tất cài đặt và chạy Unity, chúng tôi được mời vào tài khoản của bạn.

Sau đó, nó sẽ được nhắc chọn một đăng ký một lần nữa, họ cũng sẽ tập trung vào cá nhân. Trong trường hợp này, cần xác nhận rằng thu nhập hàng năm của công ty dưới 100.000 đô la, hoặc sự thống nhất được sử dụng cho mục đích học tập.

Cuối cùng, được đề xuất để vượt qua một cuộc khảo sát nhỏ mà bạn cần trả lời những gì bạn làm và cho mục đích này cài đặt Unity.

Bước 3. Tạo một dự án mới

Cấu hình Unity, chúng tôi rơi vào màn hình lựa chọn \\ tạo dự án. Ở đây bạn cần nhấp MớiĐể tạo dự án mới của bạn.

Sau đó, trong cửa sổ xuất hiện, nó được đề xuất để nhập tên của dự án và thư mục sẽ được đặt. Cũng đừng quên kiểm tra hộp trên 3d.Để sử dụng trình soạn thảo ở chế độ 3D.

Đã hoàn thành việc này, nhấp Tạo dự án.Để tạo một dự án. Sau đó, cửa sổ biên tập viên mở ra với một cảnh được tạo trước.

Chúng tôi sẽ không thể đối phó với dấu ấn của chương trình và thực hiện các trò chơi đã làm sẵn chẳng hạn. Đối với điều này có ở đây Cửa hàng tài sản.Mà chứa một số lượng lớn các mô hình, hình ảnh động, âm thanh (và thậm chí cả trò chơi), cả hai đều được trả tiền và miễn phí.

Để mở cửa hàng tài sản, bạn cần trong menu Cửa sổ. chọn Cửa hàng tài sản. (tổ hợp chính Ctrl-9.).

Cửa sổ cửa hàng mở ra. Chúng tôi giới thiệu trong chuỗi tìm kiếm " trò chơi ví dụ Flappy Bird"Và mở ví dụ miễn phí mà chúng tôi sẽ sử dụng trong dự án của chúng tôi.

nhấn Tải xuống Và do đó tải xuống, sau đó bạn có thể nhập vào dự án. Để làm cái này nhấp Nhập khẩuSau đó, một cảnh báo xuất hiện rằng các cài đặt dự án sau khi nhập sẽ được thay đổi.

Đồng ý nhập, bạn sẽ thấy cửa sổ mà bạn cần chọn các thành phần nào để nhập. Chọn mọi thứ và nhấp vào Nhập khẩu.

Sau khi hoàn tất nhập khẩu trong trình duyệt dự án, bạn sẽ thấy các tệp mới. Đây là những tập tin trò chơi. Để mở cảnh trong biên tập viên, hãy mở rộng Phong cách chim flappy. - Cảnh và nhấp đúp vào Chủ yếu..

Kết quả là, một cảnh trò chơi sẽ xuất hiện trong cửa sổ Trình chỉnh sửa 3D.

Bạn có thể kiểm tra cách trò chơi hoạt động, ngay trong Unity bằng cách nhấp vào nút. Chơi. phía trên cửa sổ biên tập viên.

Bước 4. Thiết lập công cụ Android

Ghi chú: Nếu bạn đang sử dụng Studio Android.Bạn đã có tất cả các thành phần cần thiết đã được cài đặt và do đó bạn có thể chuyển sang bước tiếp theo.

Để thu thập trò chơi Android kết quả, bạn cần đặt các công cụ sau:

  • Bộ phát triển Java (JDK). Bạn có thể tải xuống từ Java. Bằng cách nhấp vào liên kết, bạn sẽ thấy ở đầu Nền tảng Java (JDK), nhấp bởi Tải xuống Bên cạnh dòng chữ, sau đó chọn hệ điều hành của bạn và bắt đầu tải xuống. Sau đó, chỉ cần làm theo các hướng dẫn của trình cài đặt.
  • SDK Android.. Cách dễ nhất để thiết lập phiên bản hiện tại đang tải xuống Android Studio, mà SDK này đến. Để làm điều này, hãy truy cập trang web của Android Studio và nhấp vào Tải xuống Android Studio.. Trình cài đặt Android Studio đã đặt các thành phần cơ bản của SDK Android cần thiết để phát triển trên Android.

Bước 5. Chuẩn bị một dự án để chạy

Để bắt đầu, bạn cần thay đổi nền tảng phát triển trên Android. Để thực hiện việc này, hãy mở menu Tệp và chọn Xây dựng Cài đặt.

Trong cửa sổ xuất hiện, bạn cần chọn Android. Và sau đó nhấp vào Nền tảng chuyển đổi.

Chuyển đổi các báo cáo nền tảng rằng chúng tôi sẽ thu thập một ứng dụng cho Android. Điều này có nghĩa là khi chúng tôi thu thập ứng dụng, Unity sẽ tạo ra Apk tập tin.. Chuyển đổi nền tảng cũng gây ra sự thống nhất nhập tất cả các tài sản dự án một lần nữa. Sẽ không mất nhiều thời gian trong một dự án nhỏ, nhưng hãy nhớ rằng trong các dự án lớn hoạt động này có thể mất nhiều thời gian.

Bây giờ chúng ta cần chỉ định tên của gói cho ứng dụng.

Ghi chú: Tên gói là một mã định danh ứng dụng duy nhất, nó được viết theo kiểu DNS ngược ở định dạng companyName.productname.. Sau khi xuất bản một ứng dụng trên Google Play, tên gói không thể thay đổi.

Để làm điều này, đi đến thực đơn Biên tập. và lựa chọn Cài đặt dự án - Người chơi.

Phần bên phải của Unity sẽ mở một cửa sổ với nhiều cài đặt khác nhau, chẳng hạn như phiên bản ứng dụng, mục tiêu và SDK tối thiểu, sự lựa chọn của các biểu tượng, v.v. Ở đây chúng ta cần trong khối Các thiết lập khác để tìm Nhận biết và đặt tên gói trong trường Tên gói hàng.. Nếu bạn muốn, bạn cũng có thể thay đổi các tham số khác.

Bây giờ nó chỉ chỉ để chỉ định đường dẫn trước SDK Android và JDK. Để làm điều này, hãy đi đến menu và chọn Chỉnh sửa - Tùy chọn..

Trong cửa sổ xuất hiện, bạn cần phải đi đến Công cụ bên ngoài. và trong các lĩnh vực SDK.JDK. Chỉ định các đường dẫn thích hợp, sau đó đóng cửa sổ.

Bước 6. Lắp ráp và chạy một ứng dụng

Đã đến lúc thu thập ứng dụng đầu tiên của bạn về sự thống nhất. Để làm điều này, chọn menu Chọn Tệp - Xây dựng cài đặt. Một cửa sổ sẽ mở, bạn sẽ cần thêm cảnh để được thu thập. Vì chúng ta có cảnh này đã được mở trong trình chỉnh sửa, chỉ cần nhấn đủ Thêm cảnh mởĐể thêm nó vào cụm, sau khi thêm bạn sẽ thấy nó trong danh sách cảnh.

Nó chỉ còn chỉ để nhấp Xây dựngSau đó đoàn kết sẽ bắt đầu lắp ráp ứng dụng. Trước đó, bạn có thể được yêu cầu chọn một thư mục nơi các ứng dụng được thu thập tệp sẽ được lưu, cũng như tệp APK tên.

Ghi chú: Hiện tại, nếu bạn có phiên bản alpha trong Android SDK Công cụ xây dựng. (phiên bản 28.0.0-RC1.), khi lắp ráp lớp sẽ gây ra lỗi. Để sửa nó, chỉ cần xóa phiên bản này khỏi SDK Android.

Do đó, trong thư mục mà bạn đã chỉ định, tệp APK được thu thập sẽ xuất hiện, sẵn sàng để cài đặt trên trình giả lập hoặc trên thiết bị thực.

Hãy xem những gì bên trong APK được lắp ráp. Để làm điều này, sử dụng tiện ích Máy phân tích apk.đó là một phần của Android Studio,

Kích thước của tệp APK trong biểu mẫu không nén là 21,1 MB.trong nén 20,9 MB.. Như bạn có thể thấy từ biểu đồ, hầu hết các thư viện của bên thứ ba chiếm thêm bởi Unity. Sau đó B. tài sản.tất cả các tài nguyên được đặt trong cảnh lắp ráp. Tập tin classes.dex. Chứa tất cả mọi thứ 89 Các lớp học I. 479 phương pháp.

Ngoài ra, nếu bạn nhìn vào Androidmanifest.xml.Ứng dụng này bao gồm một hoạt động.

Phần kết luận

Đó là tất cả. Trong bài viết này, chúng tôi đã học để cài đặt và định cấu hình Unity và cũng đã thu thập ứng dụng Android đầu tiên của chúng tôi.

Làm thế nào để nhanh chóng viết một trò chơi cho Android về sự thống nhất

Tại thời điểm này, mọi người có thể trở thành một nhà phát triển thành công của các trò chơi hoặc ứng dụng di động, mà không cần áp dụng cho nỗ lực Titanic này. Một ví dụ về một trường hợp như vậy là Đông Nguyên, phát triển Flappy Bird. Không có cơ chế hoặc đồ họa khó khăn trong trò chơi, nhưng nó không ngăn cản cô trở nên phổ biến và mang đến cho người sáng tạo năm mươi ngàn đô la một ngày. Tuy nhiên, không có gì đáng chú ý trong trò chơi. Tất cả những gì cần thiết để thành công là ở đúng nơi vào đúng thời điểm và một chút may mắn. Điều này có thể xảy ra hôm nay hôm nay, bạn chỉ cần ý tưởng đúng.

Để chứng minh cách dễ dàng để viết một cái gì đó như thế này, hôm nay chúng ta sẽ viết con chim flappy của chúng tôi bằng cách thống nhất chỉ trong 10 phút.

Nhân vật trò chơi

Đầu tiên tạo một dự án mới và đảm bảo rằng tùy chọn 2D được chọn.

Tải chim sprite của bạn trong cảnh. Đừng quên bật tưởng tượng!

Sau đó điều chỉnh kích thước của sprite như bạn muốn trong khi kéo nó với góc đúng hướng. Sprite nên được nhìn thấy trong cửa sổ phân cấp bên trái. Tất cả các đối tượng trong cảnh có thể nhìn thấy trong đó, và tại thời điểm này chỉ cần có hai: một máy ảnh và một con chim.

Kéo máy ảnh lên chim và phát hành. Máy ảnh phải ở dưới con chim, điều đó sẽ có nghĩa là máy ảnh bây giờ là một con chim "em bé". Bây giờ vị trí của máy ảnh sẽ được cố định so với chim. Nếu con chim tiến về phía trước, thì máy ảnh cũng làm như vậy.

Chọn một con chim trong cảnh hoặc trong cửa sổ phân cấp. Bạn sẽ thấy một danh sách các tùy chọn và thuộc tính ở bên phải trong cửa sổ được gọi là Infector. Ở đây bạn có thể kiểm soát các biến khác nhau gắn liền với một đối tượng cụ thể.

Bây giờ bấm vào Thêm thành phần. Chọn Vật lý2D\u003e Rigidbody2D là một bộ hướng dẫn đã sẵn sàng để áp dụng trọng lực cho nhân vật của chúng tôi. Nhấp vào các ràng buộc trong bảng này và sau đó chọn Freeze Xoay Z. Điều này sẽ ngăn chặn vòng quay của chim cùng với máy ảnh trong một vòng tròn.

Theo cách tương tự, thêm Collider Polygon, điều này nói Unity, nơi các ký tự giáp. Nhấp vào Phát và xem cách Sprite với máy ảnh rơi xuống vô tận.

Trong khi mọi thứ diễn ra tốt đẹp!

Bây giờ là lúc để đi đến các chuyến bay của nhân vật, tốt nó sẽ dễ dàng.

Đầu tiên bạn cần tạo C # -Script. Tạo một thư mục cho nó (nhấp chuột phải vào bất cứ nơi nào trong tài sản và tạo thư mục "tập lệnh", thực hiện nút chuột phải và chọn Tạo\u003e C # Script.

Hãy gọi nó là "nhân vật". Nhấp vào nó hai lần để mở nó trong IDE của bạn, cho dù Monodevelop hay Visual Studio. Sau đó thêm mã sau:

Ký tự lớp công khai: Monobehaviour (Công khai Rigidbody2D RB; Float Movespeed; Float Floatight; // Điều này là cần thiết để khởi tạo void start () (rb \u003d getcomponent ();) // update được gọi một lần mỗi lần cập nhật khung (rb. vận tốc \u003d vector2 mới (Movespeed, rb.velocity.y); if (input.getmousebuttondown (0)) (rb.velocity \u003d New Vector2 (rb.velocity.x, flapheight);) nếu (biến đổi.y\u003e 18 | | Transform.Pocation.y.< -19) { Death(); } } public void Death() { rb.velocity = Vector3.zero; transform.position = new Vector2(0, 0); } }

Mã này làm cho hai điều. Anh ta khiến nhân vật tiến về phía trước ở tốc độ, chúng ta xác định trong thanh tra viên và tạo cảm giác của chuyến bay chim. Phương thức Cập nhật () được gọi lại trong suốt trò chơi, vì vậy mọi thứ bạn đặt ở đây sẽ được thực hiện liên tục. Trong trường hợp này, chúng tôi thêm một số tốc độ vào đối tượng của chúng tôi. Biến RB là tập lệnh RigidBody2D, chúng tôi đã áp dụng cho đối tượng của chúng tôi trước đó, vì vậy khi chúng tôi viết RB.velocity, chúng tôi kêu gọi tốc độ của đối tượng.

Chạm vào màn hình được Unity diễn giải như một cú nhấp chuột nếu bạn sử dụng thiết bị di động. Sau khi nhấn, chúng tôi buộc nhân vật một chút leo lên.

Biến Movespeed sẽ chịu trách nhiệm về tốc độ chuyển động và biến flapheight dành cho sự gia tăng chiều cao của chuyến bay chim sau mỗi lần nhấn. Vì các biến này được khai báo là công khai, chúng tôi sẽ có thể thay đổi chúng bên ngoài kịch bản.

Phương thức Death () cũng được khai báo là công khai, điều đó có nghĩa là các đối tượng và tập lệnh khác sẽ có thể gọi nó. Phương pháp này chỉ cần trả về vị trí của nhân vật ngay từ đầu. Nó cũng sẽ được sử dụng mỗi khi nhân vật sẽ bay quá cao hoặc thấp. Bạn sẽ sớm hiểu tại sao nó được tuyên bố là công khai. Hàng rb.velocity \u003d vector3.zero; Cần loại bỏ xung - chúng ta không muốn sau mỗi cái chết, nhân vật rơi nhanh hơn và nhanh hơn?

Bây giờ bạn có thể để lại IDE và thêm một tập lệnh dưới dạng một thành phần cho ký tự. Để làm điều này, bạn cần chọn con chim của chúng tôi và nhấp vào Thêm thành phần\u003e Tập lệnh\u003e Ký tự. Bây giờ chúng ta có thể định nghĩa MoveSpeed \u200b\u200bvà flapheight trong thanh tra viên (đối với điều này và cần chuyển giao công khai). Chúng tôi gán giá trị biến 3 và 5, tương ứng.

Và hơn thế nữa: Trong thanh tra, bạn cần thêm một thẻ vào ký tự. Để thực hiện việc này, nhấp vào nơi Tag: Unragged được viết và sau đó chọn Trình phát trong danh sách thả xuống.

Chướng ngại vật

Bây giờ thêm chướng ngại vật: Ống. Ai đó trong các đường ống tìm thấy nấm, và ai đó là cái chết của họ.

Kéo sprite của đường ống vào hiện trường đến nơi chướng ngại vật đầu tiên nên và đặt tên là pip_up.
Bây giờ tạo một kịch bản mới có tên PIPE:

Ống lớp công khai: monobehaviour (ký tự nhân vật riêng; / / cần thiết để khởi tạo void start () (ký tự \u003d findObjectype ();) // update được gọi một lần mỗi frame void update () (if - started.x\u003e

Thêm tập lệnh này vào sprite ống giống như trước đây. Do đó, đường ống sẽ trở lại màn hình sau khi đi ra ngoài cho đường viền bên trái của nó. Chúng tôi đã không làm bất cứ điều gì ở đây, nhưng chúng tôi sẽ trở lại với điều này.

Phương thức OnColleDeENT2D () được gọi mỗi lần đường ống tương tác với nhân vật. Sau đó, phương thức Death () được tạo bởi người chơi đã tạo trước đó trong điểm bắt đầu được gọi.

Vì vậy, chúng ta có một ống, theo thời gian sẽ biến mất và xuất hiện ở đầu kia của màn hình. Bạn sẽ chết trong cô ấy - chết.

Ống đảo ngược.

Bây giờ chúng tôi chỉ có một ống sprite. Hãy thêm một cái nữa. Để thực hiện việc này, nhấp chuột phải vào cửa sổ phân cấp, nhấp vào Object 2D mới\u003e Sprite và sau đó chọn Sprite bạn muốn sử dụng. Thậm chí dễ dàng hơn sẽ chỉ cần kéo tệp vào cảnh một lần nữa.

Đặt tên cho sprite Ống này_Down. Trong Trình kiểm tra trong Trình kết xuất Sprite, chọn tùy chọn Flip Y để lật ngược đường ống. Thêm cùng một Rigidbody2D.

Bây giờ viết một tập lệnh C # mới có tên là đường ống. Trong đó sẽ là mã tương tự:

Public class Pied: Monobehaviour (Private Character Character; - transform.position.x\u003e 30) ()) làm mất hiệu lực oncollisionenter2d (Collision2D khác) (if (other.gameObject.tag \u003d\u003d "Player") (character.death ();) )

Prefabs.

Vì vậy, chúng tôi có đủ mã này để làm cho toàn bộ trò chơi. Chúng ta có thể di chuyển các đường ống ở bên phải màn hình mỗi khi chúng biến mất hoặc sao chép và chèn rất nhiều đường ống như chúng ta muốn gặp trong suốt trò chơi.

Nếu bạn đi trước, sau đó đảm bảo rằng các đường ống đang đứng sau thế hệ ngẫu nhiên, và sẽ rất khó để duy trì sự đột quỵ trung thực của mọi thứ. Sau cái chết của nhân vật, chúng có thể xuất hiện bằng km từ ống đầu tiên!

Nếu bạn đi thứ hai, thì mọi thứ sẽ kết thúc việc tiêu thụ quá nhiều bộ nhớ, với sự chậm lại của trò chơi và giới hạn chơi, bởi vì Mọi thứ đứng trên cùng một nơi mỗi lần.

Thay vào đó, hãy sử dụng prefabami. Nếu chúng ta nói đơn giản, chúng tôi sẽ biến các ống của chúng tôi thành các mẫu, sau đó có thể sử dụng để tạo ra một số lượng lớn hơn các đường ống sẽ. Nếu có các lập trình viên, hãy xem xét tập lệnh lớp ống và các đường ống là các thể hiện của đối tượng này.

Để thực hiện việc này, hãy tạo một thư mục "prefabs" mới. Sau đó kéo ống_up và ống_down từ cửa sổ phân cấp vào thư mục.

Mỗi lần bạn kéo đối tượng từ thư mục này trong cảnh, nó sẽ có các thuộc tính tương tự, do đó bạn sẽ không cần liên tục thêm các thành phần. Hơn nữa, nếu bạn thay đổi kích thước của thành phần trong thư mục, nó sẽ ảnh hưởng đến tất cả các đường ống trong trò chơi và bạn không phải thay đổi riêng từng đường ống.

Như bạn hiểu, nó sẽ tiết kiệm tài nguyên của chúng tôi rất nhiều. Nó cũng có nghĩa là chúng ta có thể tương tác với các đối tượng từ mã. Chúng ta có thể tạo các bản sao của đường ống của chúng tôi.

Đầu tiên hãy thêm mã này vào một biểu thức có điều kiện trong phương thức update () của tập lệnh đường ống, chúng tôi để trống:

cập nhật void () (if (character.transform.position.position.x - transform.position.x\u003e 30) (float xran \u003d random.range (0, 10); float yran \u003d random.range (-5, 5) ; thuyết minh (GameObject, New Vector2 (Character.transform.position.x + 15 + Xran, -10 + Yran), transform.rotation; Phá hủy (GameObject);))

Nó là cần thiết để tạo một thể hiện của gameobject của chúng tôi. Kết quả là một bản sao giống hệt nhau mới. Trong Unity, luôn luôn khi bạn sử dụng Word GameObject, nó đề cập đến đối tượng mà tập lệnh hiện đang được gắn - trong trường hợp của chúng tôi vào đường ống.

Chúng tôi tạo ra các ống hồi phục trong các biến thể ngẫu nhiên để vui hơn.

Nhưng thay vì làm cho nó giống nhau trong kịch bản đường ống, chúng tôi tạo ra cả hai đối tượng ở một nơi. Do đó, chúng ta có thể dễ dàng cài đặt vị trí của ống thứ hai so với đầu tiên. Nó cũng có nghĩa là chúng ta cần ít mã hơn cho đường ống.

Tạo một trò chơi trò chơi công cộng với tên Pipedown. Sau đó cập nhật mã như sau:

If (character.transform.position.x\u003e transform.position.x\u003e 30) (float xran \u003d random.range (0, 10); float yran \u003d random.range (-5, 5); float gapran \u003d random.range (0, 3); nhanh chóng (GameObject, New Vector2 (character.transform.position.x + 15 + xran, -11 + yran), transform.rotation); nhanh chóng (Pipedown, New Vector2 (Character.transform.position.position .x + 15 + XRAN, 12 + Gapran + Yran), transform.rotation; Phá hủy (GameObject);)

Quay trở lại Trở về và kéo Prefab Prefab của Pube_down từ thư mục Prefabami (điều này rất quan trọng!) Đến nơi "Ống xuống" được viết (thông báo, vì vỏ lạc đà của chúng tôi được thay thế bằng một khoảng trắng) vào Sprite ống. Nếu bạn nhớ, chúng tôi đã xác định đường ống xuống dưới dạng gameoroBject, cho chúng ta cơ hội để xác định đối tượng này là gì từ bất cứ nơi nào - trong trường hợp này thông qua thanh tra. Chọn một prefab cho đối tượng này, chúng tôi tin rằng khi tạo một thể hiện đường ống, nó sẽ bao gồm tất cả các thuộc tính và tập lệnh mà chúng tôi đã thêm trước đó. Chúng tôi không chỉ tạo Sprite, mà tạo lại một đối tượng với một bộ va chạm có thể giết chết nhân vật.

Tất cả những gì chúng ta cộng vào cùng một vị trí trong tập lệnh đường ống chỉ đơn giản là phá hủy (GameObject) để đường ống tự phân tán khi màn hình còn lại bên trái được phát hành.

Nếu bạn bắt đầu trò chơi bây giờ, màn hình sẽ tự động xuất hiện, và bạn sẽ chết nếu bạn gặp bất kỳ đường ống nào. Lật đủ xa, và những đường ống này sẽ biến mất và xuất hiện phía trước một lần nữa.

Thật không may, có một khoảng cách xa giữa các đường ống, và màn hình trông trống rỗng. Chúng tôi có thể sửa nó bằng cách thêm một số prefabs vào cảnh của chúng tôi để tạo ra một băng tải liên tục xuất hiện các đường ống. Tuy nhiên, sẽ tốt hơn để tạo đường ống trong kịch bản. Điều này rất quan trọng, vì nếu không, sau cái chết của nhân vật ống, nó bị phá hủy ở đầu đường dẫn, và một khoảng trống được hình thành một lần nữa.

Do đó, chúng ta có thể tạo một số ống đầu tiên trong mỗi lần tải trò chơi và trả lại mọi thứ ở vị trí của chúng ta sau cái chết của nhân vật.

Chuyến bay vô hạn

Bây giờ hãy tạo Ống dẫn và ống truyền công cộng trong tập lệnh ký tự. Điều này sẽ cung cấp cho bạn cơ hội để chỉ các đối tượng đã tạo, kéo các prefabs vào đối tượng nhân vật, đúng như khi chúng ta thêm pip_down vào tập lệnh đường ống.

Chúng ta cần thêm các biến sau:

Gameomject pube_up; Gameomject public_down;

Sau đó, chúng tôi sẽ viết phương thức này:

Buidlevel void () (khởi tạo (ống_down, vector3 mới (14, 12), biến đổi.Rotation); khởi tạo (ống_up, vector 3 (14, -11), biến đổi.Rotation); khởi tạo (ống_down, mới 26, 14), biến đổi.Rotation); khởi tạo (ống_up, vector3 mới (26, -10), biến đổi.rotation); khởi tạo (ống_down, vector 3 (38, 10), biến đổi.Rotation); khởi tạo (ống.up, mới 38, -14), biến đổi.Rotation); khởi tạo (ống_down, vector 3 (50, 16), biến đổi.Rotation); khởi tạo (ống_up, vector mới (50, -8), biến đổi.Rotation); khởi tạo (ống_down, Vector3 mới (61, 11), biến đổi.Rotation; khởi tạo (ống_up, vector mới (61, -13), biến đổi.Rotation);)

Chúng tôi sẽ gọi nó một lần trong phương thức CẬP NHẬT () và một lần trong phương thức Death ().

Sau khi bắt đầu trò chơi, CẬP NHẬT () được gọi và các đường ống của chúng tôi được đặt theo một cấu hình đã cho. Do đó, một vài chướng ngại vật đầu tiên sẽ luôn đứng ở cùng một nơi. Sau cái chết của người chơi, đường ống sẽ rơi vào cùng một nơi.

Quay trở lại cảnh trong đoàn kết và loại bỏ hai đường ống đang ở đó. "Trò chơi" của bạn sẽ trông giống như một màn hình trống với một con chim. Nhấn Play và Ống sẽ xuất hiện, sau một vài vị trí đầu tiên của chúng sẽ được xác định ngẫu nhiên.

Cuối cùng

Vì vậy, chúng tôi đã làm một trò chơi toàn bộ! Thêm đồng hồ đo điểm, cố gắng làm cho nó nguyên bản hơn và tăng sự phức tạp của trò chơi như được quảng bá. Nó sẽ không quá thừa để thực hiện một menu. Một ý tưởng hay khác sẽ phá hủy các đường ống trên màn hình sau cái chết của nhân vật. Ngay khi bạn kết thúc với điều này - hãy xem xét những gì đã sẵn sàng để phát hành trong trò chơi Play Store trong túi của bạn! Một khi giống như một trò chơi tương tự đã làm cho một nhà phát triển khác rất giàu có, và điều này chứng tỏ rằng bạn không cần phải là một lập trình viên thiên tài hoặc có một nhà xuất bản phong phú để bạn trở lại để đạt được thành công. Bạn chỉ cần một ý tưởng tốt và mười phút!

Muốn viết ứng dụng cho Android, nhưng không biết bắt đầu từ đâu? Sau đó làm quen với sự tuyệt vời của chúng tôi để khám phá sự phát triển Android.

Làm thế nào nhanh chóng và tương đối dễ dàng để tạo một trò chơi đơn giản hoặc một ứng dụng cho Android? Điều này được đọc về điều này trong bài viết dưới đây, nơi làm việc với động cơ Unity3D được xem xét.

Bạn có chơi game trên máy vi tính không? Nếu vậy, sau đó, trong quá trình vượt qua bộ phim bom tấn trò chơi tiếp theo, đôi khi bạn có những suy nghĩ như: "Nhưng ở đây, tôi sẽ làm sai!". Và bạn muốn đến thăm vai trò của nhà phát triển? Sau đó, tôi đề nghị bạn một "cuộc phiêu lưu" nhỏ nhưng rất thú vị;)

Động cơ là gì và tại sao nó cần?

Trước đây, trong những ngày của các máy tính đầu tiên, các trò chơi và chương trình được tạo ra bởi phương pháp "Hardcore" được gọi là "Hardcore". Đó là, để phát triển đầy đủ, cần phải là một lập trình viên khá giàu kinh nghiệm, nơi biết kỹ ngôn ngữ lập trình và gần như toàn bộ trò chơi (bao gồm đồ họa pixel và hiệu ứng đặc biệt!) Viết trong sổ ghi chép đơn giản. Có rất ít người như vậy và họ rất đánh giá cao (và bây giờ và bây giờ) ...

Ngày nay, ngưỡng của mục nhập trong chủ đề lập trình đã giảm đôi khi. Và điều này đóng góp không chỉ với sự sẵn có của văn học và tất cả các loại tài liệu đào tạo, mà ngày càng đơn giản hóa quá trình phát triển. Ngày nay, rất hiếm khi gặp những người cứng rắn thực sự, vì môi trường phát triển khá thuận tiện đã xuất hiện, được gọi là "động cơ".

Bản chất của động cơ là nó cho phép trong chế độ trực quan được đơn giản hóa để nhập tất cả các đối tượng trò chơi cần thiết, đặt chúng trên một cảnh ảo và định cấu hình tất cả các tham số của chúng. Đó là, nhiệm vụ của lập trình viên chỉ còn chính xác để viết logic chơi game!

Tuy nhiên, để thuận tiện cho việc làm, cần phải trả một số tăng kích thước của dự án (đôi khi thậm chí nhiều lần!) So với tương tự được viết bởi phương pháp "Hardcore" cũ. Chính phần này của các nhà phát triển động cơ không thích hoặc cố gắng tự viết, trong đó chỉ những thành phần cần thiết được sử dụng ...

Nhưng chúng tôi cách xa bạn đến Tar-Lập trình viên :) Do đó, chúng tôi sẽ tạo một trò chơi đơn giản cho Android dựa trên động cơ Unity3D phổ biến và mạnh mẽ.

Bắt đầu với dự án trong Unity3D

Vì vậy, tại sao chúng tôi quyết định sử dụng Unity3D:

  • khả năng tạo ra các trò chơi 2D và 3D đầy đủ;
  • khả năng biên dịch trò chơi đã hoàn thành cho bất kỳ thiết bị nào;
  • Đơn giản tương đối của điều khiển động cơ;
  • khả năng mở rộng chức năng tốt do trình cắm thêm;
  • kích thước tương đối nhỏ của lắp ráp cuối cùng của trò chơi (so với các động cơ khác).

Thẻ Trump chính là Unity3D, một cách tự nhiên, tính linh hoạt và đa nền tảng của nó. Trò chơi sẵn sàng (có lẽ với các sửa đổi nhỏ) Bạn có thể cổng, ngay cả trên PC (với Windows, Linux hoặc MacOS), ít nhất là trên Android, ít nhất là trên PlayStation hoặc Xbox! Để làm điều này, chúng tôi sẽ chỉ cần tải xuống chính động cơ, nhân tiện, "cân" nhiều gigabyte và SDK cần thiết (nếu nó được lên kế hoạch phát triển cho các nền tảng di động hoặc bảng điều khiển). Nếu bạn muốn tạo trò chơi cho Windows, bạn không cần tải xuống bất cứ thứ gì khác, nhưng vì chúng tôi sẽ thực hiện trò chơi dưới Android, thì chúng tôi sẽ cần tải thêm Android SDK (Bộ phát triển phần mềm). Tôi khuyên bạn nên tải xuống SDK trong kho lưu trữ ZIP để thuận tiện hơn để làm việc với nó.

Khi mọi thứ được tải, bạn có thể giải nén bất kỳ thư mục SDK Android tiện lợi nào thuận tiện cho bạn, sau đó tiến hành cài đặt chính Unity3D. Nó được cài đặt, giống như bất kỳ chương trình thông thường nào trong Windows, do đó sẽ không có vấn đề gì với việc cài đặt. Sau khi cài đặt động cơ khởi động và trước tiên chúng ta sẽ cần tạo một dự án mới:

Để thực hiện việc này, chúng ta sẽ cần phải đóng tất cả các cửa sổ đang chào đón và giới thiệu, sau đó chọn "Dự án mới" trong menu "Tệp". Trong cửa sổ mở (xem ảnh chụp màn hình ở trên), chúng tôi sẽ được cung cấp để chỉ định thư mục Lưu dự án (tên của nó sẽ khớp với tên dự án), nhập một số bộ chức năng tiêu chuẩn (chúng tôi không cần) và chỉ định chế độ hoạt động. Là một chế độ, chọn 2D và nhấp vào nút "Tạo". Phần này đã chuẩn bị trong công việc hoàn thành :)

Động cơ dự án và giao diện phân cấp

Sau khi tạo dự án, nó sẽ được tải vào không gian làm việc Unity3D:

Không gian làm việc này có cấu trúc mô-đun và bao gồm một số cửa sổ lồng nhau có thể được di chuyển, như bạn cảm thấy thoải mái. Tôi đã cấu hình nó như vậy (từ trái sang phải và từ trên xuống dưới):

  1. Cửa sổ phân cấp hiển thị vị trí phân cấp của các đối tượng đang hoạt động và không hoạt động trên cảnh. Theo mặc định, đối tượng duy nhất nằm ngay trong danh sách là camera (camera chính).
  2. Cửa sổ cảnh hiển thị toàn bộ cảnh trò chơi và các đối tượng trên đó (bao gồm máy ảnh, âm thanh, kết cấu, v.v.).
  3. Cửa sổ Thanh tra hiển thị tất cả các thuộc tính của hệ thống phân cấp được chọn trong hệ thống phân cấp hoặc trên khung đối tượng và cho phép chúng chỉnh sửa, bổ sung hoặc xóa.
  4. Cửa sổ trò chơi - Hiển thị thế giới trò chơi, hiển thị với máy ảnh và cho phép bạn chọn kích thước của cửa sổ thử nghiệm ảo của trò chơi tính bằng pixel. Ngoài ra, cho phép bạn kích hoạt việc xả tối đa hóa khi chơi và bao gồm / vô hiệu hóa hiển thị thông tin khác nhau cho nhà phát triển.
  5. Cửa sổ dự án và console. Cửa sổ dự án được sử dụng để điều hướng tài nguyên dự án: Tải hình ảnh, âm thanh, mô hình, v.v. Ngoài ra, sử dụng cửa sổ này (menu ngữ cảnh), bạn có thể tạo các đối tượng trò chơi trống mới thuộc các loại và tập lệnh khác nhau. Cửa sổ bảng điều khiển phục vụ để hiển thị thông báo lỗi (màu đỏ), cảnh báo (màu vàng) và nhiều loại khác nhau, được yêu cầu bởi thông tin gỡ lỗi (màu xám).
  6. Cửa sổ nhãn tài sản là dưới cùng của cửa sổ Thanh tra, hiển thị bản xem trước của đối tượng hoặc tệp được chọn trong cửa sổ dự án.

Ngoài những điều trên, hãy chú ý đến ba nút ở đầu trung tâm. Chúng cho phép bạn chạy dự án của mình, để tạm dừng (đôi khi hữu ích khi gỡ lỗi để xem những gì đang được thực hiện trong hệ thống phân cấp, ví dụ) và, theo đó, tắt.

Chúng tôi sẽ tạo ra một trình giả lập của một nhạc cụ: trống dân gian Ấn Độ được gọi là "Tabla", vì vậy để bắt đầu, chúng tôi sẽ tạo hai thư mục trống trong dự án trong đó âm thanh và hình ảnh sẽ được lưu trữ. Bạn có thể tạo một thư mục mới bằng cách gọi menu ngữ cảnh trong cửa sổ Dự án Navigator (Dự án) và chọn "Thư mục" trong danh sách "Tạo".

Ở đây nó đáng nói một vài từ về cách gọi các thư mục này. Đối với một trò chơi đơn giản, giống như mô phỏng của chúng tôi, về nguyên tắc, các thư mục có thể "gọi" như bạn muốn, tuy nhiên, có ít nhất hai tên tốt hơn là không sử dụng vì chúng được bảo lưu bởi động cơ. Đây là tên của tài nguyên và plugin. Trong các dự án lớn, thư mục tài nguyên sẽ tạo ngay lập tức và tất cả các phụ tùng thay thế của Google (hình ảnh, âm thanh, mô hình, kết cấu và prefabs) đã được lưu trữ trong đó (sắp xếp theo các thư mục con). Trong các plugin, như sau từ tên, tất cả các bộ tính năng của bên thứ ba bổ sung được lưu (cái gọi là "tài sản" (tài sản)), khá nhiều trên cửa hàng tài sản - cửa hàng mở rộng cho Unity3D.

Nhập tệp và tạo đối tượng chơi game

Trước khi tạo một dự án trò chơi mới, nên chuẩn bị tất cả các tệp cho hoạt động trước. Trong trường hợp của chúng tôi, các tập tin như vậy là hình ảnh và âm thanh. Nhập chúng vào dự án là cách dễ nhất để kéo vào thư mục mong muốn. Hãy bắt đầu với hình ảnh ...

Sau khi hình ảnh xuất hiện trong thư mục hình ảnh của chúng tôi, chúng sẽ được cấu hình một chút:

Thực tế là theo mặc định Unity3D tất cả các hình ảnh được thêm vào dự án nén với sự mất chất lượng. Nếu chúng ta không cần một tổn thất như vậy (đặc biệt là có liên quan cho các trò chơi với đồ họa HD), thì chúng ta nên chọn từng hình ảnh và trong cửa sổ Thanh tra để thay đổi giá trị của tham số "định dạng" với "nén" trên "Truecolor" trong " Thanh mặc định. Bạn cũng có thể cần thay đổi tham số "kích thước tối đa" nếu nó nhỏ hơn chiều rộng thực của hình ảnh (theo mặc định - 1024 pixel). Sau tất cả các thay đổi, bạn không được quên nhấp vào nút "Áp dụng" để áp dụng chúng. Các hành động tương tự, nếu cần thiết, hãy làm cho tất cả các hình ảnh khác.

Bây giờ, hãy tạo các đối tượng phát từ hình ảnh của chúng tôi. Để làm điều này, chỉ cần kéo hình ảnh mong muốn vào cửa sổ phân cấp. Hình ảnh hoặc mô hình 3D sẽ được tự động chuyển đổi sang đối tượng đối tượng trò chơi và được hiển thị ở điểm bắt đầu của tọa độ trước máy ảnh.

Trước hết, chúng tôi đã thêm một hình nền, cần được hiển thị trong toàn màn hình. Kiểm tra xem có thể làm nổi bật máy ảnh trong cửa sổ phân cấp và xem cách khung của nó được hiển thị như thế nào. Trong ảnh chụp màn hình, nó rõ ràng ở trên rằng một phần của nền của chúng tôi vẫn nằm ngoài chế độ xem camera, do đó, bạn cần điều chỉnh kích thước của đánh giá này bằng cách kéo khung trực tiếp trên cảnh hoặc chỉnh sửa tham số "kích thước" trong cửa sổ Thanh tra. Trong trường hợp của chúng tôi, tôi đã phải thay đổi giá trị mặc định (5) bằng 5.4.

Tất cả, máy ảnh không chạm vào Anymore, nhưng thêm và thiết lập phần còn lại của hình ảnh. Khi thêm, chúng tôi thấy rằng một số trong số họ quá lớn đối với trò chơi của chúng tôi. Nó có thể được giảm về thể chất trong một trình soạn thảo đồ họa hoặc một phương tiện của động cơ. Hãy thử cách cuối cùng. Để thực hiện việc này, chúng tôi làm nổi bật hình ảnh trong cửa sổ phân cấp và trong cửa sổ Thanh tra, thay đổi các giá trị "tỷ lệ" cho tọa độ X và Y với 1 đến 0,5 (nghĩa là chúng ta sẽ giảm nửa chừng). Nó cũng mong muốn, để tránh lót, gán tất cả các đối tượng trò chơi cho tất cả các đối tượng trò chơi (ngoại trừ nền) Thứ tự lớp khác không (thứ tự trong lớp):

Bước cuối cùng trong việc chuẩn bị các đối tượng chơi game từ hình ảnh sẽ "treo" trên máy va chạm của chúng (Collider). Trong Unity3D, các công ty va chạm được sử dụng làm máy dò tương tác giữa các đối tượng. Trên thực tế, đó là một vỏ ảo được mặc cho hình ảnh của chúng tôi, có thể đăng ký chạm vào nó.

Để thêm một máy va chạm vào một đối tượng, chọn nó trong cửa sổ phân cấp, sau đó trong cửa sổ Thanh tra, nhấp vào nút "Thêm thành phần". Trong danh sách Thành phần xuất hiện, chúng tôi đang tìm kiếm Vật lý 2D (Vật lý 3D thông thường trong chế độ của chúng tôi sẽ không hoạt động) và từ tất cả các tùy chọn, phù hợp nhất với "Circle Cold Colleder 2D". Tôi chọn nó. Một nét màu xanh lá cây sẽ xuất hiện xung quanh đối tượng của chúng ta, hiển thị các đường viền của máy va chạm. Nó vẫn chỉ để đánh dấu mục "là kích hoạt" để làm cho máy va chạm của chúng tôi chỉ đăng ký báo chí và không còn tương tác với không gian trò chơi xung quanh:

Hành động tương tự lặp lại cho tất cả các đối tượng còn lại. Khác với các đối tượng khác sẽ chỉ là nền tảng của chúng tôi. Đối với anh ta, chúng tôi áp dụng hộp va chạm hộp 2D và vị trí triển lãm z Zero hơn để đẩy máy va chạm và chính nền tảng cho nền (điều này hữu ích cho chúng tôi một chút sau đó).

Làm việc với âm thanh

Với âm thanh trong Unity 3D thoạt nhìn, mọi thứ đều bị nhầm lẫn. Nhưng chúng tôi sẽ cố gắng tìm ra nó theo thứ tự :)

Trước hết, chúng ta cần kéo tất cả các âm thanh vào thư mục âm thanh và cũng định cấu hình chúng:

Nếu mức âm lượng của tất cả các âm thanh được điều chỉnh ban đầu, thì mọi thứ cần phải được thực hiện là tắt xử lý âm thanh 3D. Trong các trò chơi ba chiều, việc xử lý này là cần thiết để bắt chước sự xấp xỉ của nguồn âm thanh khi máy ảnh đến gần nó. Nhưng trong 2D, chúng ta có thể làm bất cứ điều gì, vì vậy chúng tôi đã phân bổ từng âm thanh và xóa hộp kiểm "Âm thanh 3D".

Bây giờ chúng ta có thể tiến hành thêm âm thanh cho các đối tượng trò chơi. Để thực hiện việc này, chúng ta cần nhấn mạnh từng nút và thêm một thành phần "nguồn âm thanh" mới từ phần "Âm thanh". Khi thành phần được thêm vào, hãy chọn nút "Âm thanh clip" tương ứng và xóa hộp kiểm "Phát trên Awake" mặc định (Phát khi):

Khi tất cả các âm thanh được gắn vào các nút bên phải, thời gian sẽ đến để thú vị nhất - Script ...

Kịch bản đầu tiên

Trước khi bắt đầu tháo rời kịch bản đầu tiên của chúng tôi, có lẽ đáng để nói một vài từ để nói về chính hệ thống kịch bản trong Unity 3D.

Uniti cho phép bạn viết mã ngay lập tức bằng ba ngôn ngữ: JavaScript (chính xác hơn, phiên bản UnityScript được sửa đổi một chút), C # và Boo. Trong một số sách và hướng dẫn sử dụng, bạn có thể tìm thấy ý kiến \u200b\u200bcho rằng đối với người mới bắt đầu, kịch bản trong Unity dễ dàng hơn để làm chủ về ví dụ về JavaScript. Tuy nhiên, ngôn ngữ này không thoải mái như phần còn lại, và trong tương lai rất có thể bạn sẽ phải được rút lại. Do đó, tốt hơn là bắt đầu ngay lập tức với nghiên cứu của C # (BOO cũng không tệ, nhưng có một vài tài liệu giáo dục trên đó).

Bây giờ về nơi để viết mã. Theo mặc định, mã trong Unity là IDE Monodevelop. Ưu điểm của môi trường phát triển này là nó có các mẹo để nhanh chóng nhập các phương thức, lớp và chức năng tiêu chuẩn, cũng như hệ thống kiểm tra cú pháp. Tuy nhiên, trừ đi đối với tôi là cường độ tài nguyên cao và cồng kềnh. May mắn thay, trong cài đặt Unity, bạn có thể cài đặt dưới dạng trình soạn thảo văn bản, vì vậy tôi "lơ lửng" dễ dàng và chức năng Notepad ++ (hầu như tất cả các ví dụ sẽ được hiển thị trong đó).

Và cuối cùng. Đương nhiên, không có tài liệu tham khảo trong sự phát triển của tất cả những trí tuệ, bạn sẽ không đi xa, vì vậy đây là danh sách một số tài nguyên Internet hợp lý trên Unity 3D:

  • http://docs.unity3d.com/ru/current/manual/unitymanualrationured.html - Hướng dẫn chính thức trên động cơ với một bản dịch một phần sang tiếng Nga (nó xuất hiện gần đây và trong khi nó hoạt động không ổn định);
  • http://docs.unity3d.com/ru/current/scripteference/index.html - Thư mục hướng dẫn chính thức để viết kịch bản bằng tiếng Anh;
  • http://unity3d.ru/distribution/index.php - Diễn đàn nhà phát triển ngôn ngữ Nga dưới Unity 3D;
  • http://habrahabr.ru/post/141362/ - chu kỳ bài học để tạo ra các trò chơi ba chiều ở Habrahabre;
  • http://msdn.microsoft.com/ru-ru/l Library/618ayhy6.aspx là cẩm nang C # chính thức từ Microsoft bằng tiếng Nga.

Chà, để không kéo nó trong một thời gian dài, tôi đề xuất ngay lập tức tạo kịch bản đầu tiên. Trong các tập lệnh, nếu có nhiều hơn nữa, tốt hơn là làm nổi bật một thư mục riêng biệt, nhưng chúng tôi sẽ có một trò chơi đơn giản, để chúng tôi có thể tạo một tập lệnh trực tiếp trong thư mục gốc của dự án. Để thực hiện việc này, hãy gọi menu ngữ cảnh trong cửa sổ dự án, chọn danh sách Tạo và nhấp vào "C # Script". Hãy gọi kịch bản mới của chúng tôi, ví dụ, âm thanh và mở nó bằng chuột kép. Xóa các phương thức cập nhật và bắt đầu tiêu chuẩn, và sau đó, nói rằng chúng tôi mong muốn có được loại kịch bản sau:

Nếu bạn không cấu hình lại trình soạn thảo, thì kịch bản của chúng tôi sẽ được mở ở Monodevelop. Chúng tôi sẽ phân tích cấu trúc của mình ...

Trong thực tế, mỗi tập lệnh trên C # bao gồm ba phần chính:

  1. Ở trên cùng, các thư viện được liệt kê rằng bạn cần kết nối với thao tác tập lệnh (ví dụ: "sử dụng Unity.Engine" kết nối với hoạt động của chính động cơ và "sử dụng System.Collections" là một thư viện chứa a Số lượng lớp nhúng cho thao tác tập lệnh trong các hệ thống khác nhau).
  2. Lớp và khai báo biến. Trong C # không có khái niệm về một kịch bản, như vậy. Thay vào đó, khái niệm về "lớp" được sử dụng, bao gồm một số phương thức và chức năng. Mặc dù, trên thực tế, trong bối cảnh Unity 3D, nó gần như giống nhau :) Điều chính là để nhớ rằng tên lớp phải khớp với tên chúng tôi đã đưa ra kịch bản. Tính năng của các biến trong C # là chúng nhất thiết phải (ngoại trừ tạm thời, được khai báo trong chính tập lệnh) phải được gõ. Trong thực tế, điều này có nghĩa là mức truy cập phải được chỉ định cho biến và loại (int, float, bool hoặc hoặc hoặc như chúng ta trong tập lệnh, audioclip. Trong trường hợp này, tên biến có thể được cung cấp bất kỳ. Và tôi có thể Thuộc tính ngay lập tức và giá trị.
  3. Đặt các phương thức và chức năng. Phương thức trong C # hầu như bất kỳ tính năng nào thực hiện các hành động nhất định. Về nguyên tắc, trong tài liệu trên Unity 3D, chúng được gọi là các chức năng, nhưng nếu chúng ta đang nói về C # như một ngôn ngữ lập trình riêng, thì đó là các phương thức :). Các chức năng ở dạng thuần túy trong Uniti, ví dụ, các chức năng đầu ra âm thanh tiêu chuẩn, vẽ các phần tử GUI, v.v., được sử dụng bên trong các phương thức.

Biết bây giờ cấu trúc của kịch bản, không khó để hiểu ý nghĩa của nó, đến mức tiếp theo trong lớp (tập lệnh) Âm thanh chúng tôi tuyên bố 9 biến của loại AudioClip với tên của chúng để thuận tiện cho việc thuận tiện phân biệt chúng với tên. Chúng tôi làm cho họ nhất thiết phải công khai (riêng tư sẽ không được hiển thị trong trình soạn thảo và chúng tôi sẽ cần phải "treo" âm thanh thông qua biên tập viên). Và sau đó trong phần thân của kịch bản, chúng tôi sử dụng phương pháp "Void OnMouseDown ()" tiêu chuẩn. Trước đây, anh ta chỉ trả lời việc xử lý nhấp chuột bằng chuột, nhưng trong các phiên bản mới được diễn giải và chạm vào màn hình cảm ứng. Chúng tôi viết các điều kiện mà chúng tôi kiểm tra tên của các dung dịch đã đóng và, nếu chúng tôi tìm thấy báo chí của một trong số chúng, xuất ra âm thanh tương ứng (chúng tôi sử dụng hàm Audio.PlayEneshot () tiêu chuẩn);).

Khi viết mã, bạn cẩn thận làm theo sự hiện diện của tất cả các dấu ngoặc mở và đóng nếu không, bạn sẽ liên tục nhận được các báo cáo lỗi trong bảng điều khiển và bạn hoàn toàn không thể bắt đầu dự án của mình! Cũng chú ý đến việc sử dụng các phương thức và chức năng của chữ in hoa. Chúng cũng thường được gây ra bởi những sai lầm. Và, tự nhiên, giữ tất cả các dấu hiệu (điểm, đại tràng và dấu ngoặc), ngắn hơn, cú pháp ngôn ngữ. Trước tiên, nó sẽ khó khăn, nhưng theo thời gian bạn sẽ bắt đầu viết từ đầu mà không có lỗi!

Khi kịch bản đã sẵn sàng, chọn nó trong cửa sổ Thanh tra, gán âm thanh của bạn từ mỗi biến. Bây giờ chúng ta chỉ có để áp dụng kịch bản của chúng tôi cho các đối tượng trên cảnh. Cách dễ nhất để làm là, một lần nữa, bằng cách kéo tập lệnh trực tiếp vào đối tượng chơi game phù hợp trong danh sách phân cấp:

Nếu tập lệnh được kéo chính xác, thì nó sẽ xuất hiện trong cửa sổ Thanh tra ở đối tượng đó mà chúng ta đã kéo nó. Theo đó, kéo tập lệnh vào tất cả các đối tượng sẽ phát ra âm thanh trong trò chơi và có thể thử chạy nó. Khi bạn nhấp vào nút trò chơi của chúng tôi bây giờ, cuối cùng, âm thanh được chỉ định sẽ phát ra âm thanh!

Giới thiệu về GUI.

Về nguyên tắc, trò chơi đã hoạt động, nhưng một số loại hói. Không có đủ thứ gì đó trong đó ... và ít nhất, những dòng chữ với tiêu đề ở phía trước chúng ta! Nói cách khác, bạn cần thực hiện bất kỳ giao diện người dùng khác biệt.

Trên thực tế, GUI giảm từ tiếng Anh. "Giao diện người dùng đồ họa", đó là giao diện người dùng đồ họa. Theo truyền thống, nó bao gồm các thành phần như:

  • nút;
  • cửa sổ;
  • khu vực văn bản;
  • chekboxes và / il radiocans;
  • sloter (thanh cuộn), v.v.

Trong Unity 3D, tất cả điều này (và thậm chí một cái gì đó so với điều đó) là hoàn toàn có mặt. Điều chính là học cách sử dụng nó! Xem xét cách GUI có nghĩa là thống nhất có thể tạo ra một dòng chữ tiêu đề đơn giản.

Để thực hiện việc này, hãy tạo một tập lệnh mới có tên Giao diện và thay đổi nó như sau:

Hãy xem xét kịch bản gần trong ảnh chụp màn hình. Ở đây chúng tôi sẽ chỉ viết một biến công khai mới cho Guistyle loại Hoa Kỳ. Loại này cho phép ở chế độ trực quan để thay đổi thiết kế của các mục mà kiểu này được gán. Các kiểu thuận tiện để sử dụng nếu có nhiều yếu tố của giao diện cùng loại (ví dụ, các nút), nhưng chúng nên có một cái nhìn khác.

Tiếp theo, chúng tôi tạo một nút ("gui.button"), có cú pháp sau: Điều kiện - 4 tọa độ (khớp ngang từ cạnh trái, dọc theo dọc từ cạnh trên, chiều rộng, chiều cao) - văn bản hiển thị trong dấu ngoặc kép và hơn nữa , Tùy chọn, phong cách lối vào. Bên trong các điều kiện của nút, các chức năng cần thiết được quy định. Trong trường hợp của chúng tôi, chúng tôi đã quy định việc chuyển đổi sang trang web của nhà phát triển ("application.openurl ("); ").

Các tập lệnh có GUI có thể hoạt động với bất kỳ đối tượng trò chơi nào, nhưng thông thường họ khuyên bạn nên "treo" với máy ảnh mà chúng ta sẽ làm, kéo tập lệnh vào đối tượng máy ảnh chính. Bây giờ, nếu bạn được tô sáng trong cửa sổ phân cấp, trong cửa sổ Thanh tra, chúng ta sẽ có thể thấy một biến công khai theo phong cách của chúng tôi, việc triển khai, chúng tôi sẽ nhận được quyền truy cập đầy đủ vào các cài đặt của phong cách này!

Chúng ta có thể chỉ định màu của văn bản và kết cấu cho nền trong bất kỳ tình huống nào (đối với nút bạn cần đăng ký ba tùy chọn của nó (bình thường - xem bình thường, di chuột - khi bạn di chuột và hoạt động - khi bạn nhấp vào), đặt cootent và định cấu hình phông chữ. Theo mặc định, duy nhất có sẵn trong Unity 3D Phông chữ là Arial, tuy nhiên, bạn có thể tải thủ công bất kỳ khác trong dự án và áp dụng nó trong trường phông chữ bằng cách định cấu hình tất cả các tham số liên quan.

Điều thú vị và đồng thời không hoàn toàn thuận tiện, các phần tử GUI không được hiển thị trên cảnh cho đến khi chúng ta bắt đầu dự án, để điều chỉnh các tham số của từng yếu tố có thể mất rất nhiều thời gian. Hãy bắt đầu dự án và xem nút của chúng ta được tạo ở trên sẽ trông như thế nào:

Thay đổi giao diện cho điều kiện và biến tĩnh

Chúng tôi đã thực hiện rất nhiều, nhưng luôn có rất nhiều điều để cải thiện :) Do đó, tôi đề xuất như ví dụ cuối cùng để tạo một cửa sổ tham chiếu, thường là các nhà phát triển bình thường cung cấp các trò chơi và ứng dụng của họ. Để thực hiện việc này, hãy thêm một hình ảnh vào một thư mục với hình ảnh cho một nút như vậy dưới dạng dấu hỏi và tạo một đối tượng chơi game từ nó. Chúng ta có thể treo một máy va chạm trên đó và viết một tập lệnh với một tên, ví dụ, "Trợ giúp" như sau:

Trong kịch bản này, chúng tôi có hai biến. Biến đầu tiên xác định làn da sẽ được sử dụng cho tất cả các phần tử giao diện được mô tả trong lớp này. Không giống như các phong cách, công việc mà chúng tôi nhìn ở trên, các giao diện cho phép bạn thay đổi sự xuất hiện của không chỉ một mục riêng biệt mà chúng được quy cho và tất cả các yếu tố của một loại nhất định ngay lập tức. Ngoài ra, không giống như các kiểu dáng, giao diện không được quy định cho các yếu tố, nhưng được khai báo ngay lập tức cho toàn bộ phương pháp và hoạt động cho đến khi một làn da khác được tuyên bố. Cũng cần nhớ rằng các giao diện tồn tại không chỉ ở dạng biến, mà còn là các tệp riêng biệt. Do đó, trước khi khai báo da, bạn cần phải tạo ngay vào cửa sổ "Dự án" từ menu ngữ cảnh: "Tạo" - "Gui Skin".

Biến thứ hai là logic (hoặc trong một bulv khác). Nó chỉ có thể có hai giá trị: "sự thật" (đúng) hoặc "false" (sai). Nhờ tính chất nhị phân của nó, một biến như vậy là hoàn hảo để thực hiện tất cả các loại công tắc. Trong trường hợp của chúng tôi, nó sẽ chịu trách nhiệm hiển thị văn bản với mô tả của trò chơi của chúng tôi.

Tuy nhiên, nếu bạn nhìn chăm chú, bạn có thể thấy rằng biến cuối cùng có một tham số tuyệt vời - "tĩnh". Thêm vào các biến của một tham số như vậy cho phép bạn làm cho chúng tĩnh và truy cập chúng từ các tập lệnh khác!

Nhưng quay lại phần còn lại của mã. Đã quen thuộc với chúng tôi Phương pháp "Void OnMouseDown ()" ở đây sẽ đóng vai trò là một công tắc của biến "isvisisible" bằng cách sử dụng một điều kiện đơn giản. Tuy nhiên, sau khi điều kiện có một tính năng khác. Tính năng này ("DEBUG.LOG ();") phục vụ cho đầu ra "trên con ruồi" vào bảng điều khiển của các giá trị của các biến mà chúng ta cần (chúng ta nhập mà không có dấu ngoặc kép trong ngoặc). Như bạn có thể thấy, bên trong hàm, bạn có thể kết hợp cả văn bản không thể thay đổi (được viết trong dấu ngoặc kép) và các biến (không có dấu ngoặc kép). Điều chính là chỉ có dấu "+" giữa tất cả các dữ liệu.

Tiếp theo, trên văn bản script, chúng ta có một phương thức vẽ giao diện ("void ongui () ()"), trong đó chúng ta thấy một Skin mới AD ("Gui.skin \u003d trợ giúp;") và một yếu tố mới của Giao diện loại GUI.Box. Không giống như một nút, Boxing là một phần tử không hoạt động và thường được sử dụng để xuất dữ liệu văn bản hoặc đồ họa khác nhau.

Hãy chú ý đến cách chúng tôi đặt định vị cho quyền anh. Ở đây, tất cả các giá trị không được chỉ định trực tiếp, nhưng với sự trợ giúp của các biểu thức toán học, trên thực tế, đó là một sự tương tự của một "bố trí cao su" trong phát triển web. Vấn đề là khi chỉ định kích thước chính xác của các phần tử GUI với độ phân giải màn hình khác nhau, chúng sẽ không thích ứng và có thể là quá nhỏ, hoặc ngược lại, lớn. Trong phiên bản tiếp theo, các nhà phát triển động cơ hứa sẽ biến GUI thích ứng, nhưng vẫn phải bị biến thái :(

Bước cuối cùng hướng tới thành công sẽ là cấu hình của làn da của chúng tôi. Trong biến script, chỉ định tệp Skins, sau đó chọn tệp này trong cửa sổ dự án. Đối với các tệp khác, cài đặt Skins sẽ được hiển thị trong cửa sổ Thanh tra. Ở đây chúng tôi đang tìm kiếm yếu tố có thể thay đổi (trong hộp Case của chúng tôi), chúng tôi tiết lộ nó và định cấu hình cùng một phong cách tương tự như ở trên:

Để xem liệu tập lệnh của chúng ta có hoạt động chính xác hay không, hãy bắt đầu dự án và cố gắng nhấp vào nút Trợ giúp:

Bây giờ mọi thứ hoạt động, nhưng không phải lúc nào cũng thuận tiện để nhấn nút Trợ giúp để ẩn mô tả trở lại. Quen thuộc hơn với sự biến mất của tất cả các thông báo để chọc vào bất kỳ không gian trống nào hơn là nhắm vào các nút. Và ở đây chúng ta chỉ hữu ích cho chúng ta rằng chúng tôi đã tạo ra một biến "isvisible" tĩnh, cũng như treo trên nền hình nền của máy va chạm ...

Chúng ta hãy quay lại tập lệnh đầu tiên của chúng tôi ("Âm thanh"), tiếp tục nhấn các nút để phát âm thanh. Trong đó (chính xác hơn, bên trong phương thức "void onmouseDown ()"), chúng tôi sẽ chỉ kê đơn một dòng:

if (this.name! \u003d "Helpbutton") (help.isvisible \u003d false;)

Với dòng này, chúng tôi chỉ định điều kiện: Nếu tên của bộ va chạm được nhấn không bằng tên nút Trợ giúp, thì biến "isvisible" trong tập lệnh "Trợ giúp" sẽ là "Sai". Nó chỉ cần thiết là biến "isvisible" chính xác có một đơn thuốc "tĩnh", nếu không chúng ta mắc lỗi.

Bây giờ khi khởi động, chúng ta sẽ thấy cửa sổ trợ giúp của chúng tôi đóng khi bạn nhấn không chỉ nút ở góc trên bên phải, mà còn khi bạn chạm vào bất kỳ phần nào miễn phí của màn hình. Điều duy nhất có thể được cải thiện là làm cho cửa sổ bị ẩn và bằng cách nhấp vào chính nó ... đó sẽ là "bài tập về nhà" của bạn;) Tôi sẽ chỉ nói rằng hộp GUI sẽ cần thay đổi cùng một trang trí Nút, một lần nữa, với giao diện cài đặt và quy định một hàm thay đổi biến "isevisible". Tất cả, sau đó im lặng :)

Biên dịch trò chơi và lưu dự án

Cuối cùng, mọi thứ đều hoạt động với chúng tôi! Điều này có nghĩa là đã đến lúc giữ cho trò chơi và kiểm tra của chúng tôi trên thiết bị thực. Và đối với điều này, nó cần được biên dịch vào tệp thực thi (ví dụ: cho Windows, trong exe và cho Android trong APK).

Nếu bạn muốn biên dịch trò chơi cho PC, bạn không phải thực hiện bất kỳ cài đặt sơ bộ nào. Tuy nhiên, đối với Android, bạn sẽ cần phải kết nối lần đầu tiên bởi chúng tôi khi bắt đầu SDK Android. Điều này khá đơn giản: chúng tôi vào menu "Chỉnh sửa", gọi mục "Tùy chọn" và trong cửa sổ mở ra, đi đến tab "Công cụ bên ngoài". Ở đây, chúng tôi đang tìm kiếm một chuỗi "Vị trí SDK Android" và trong đó chỉ định đường dẫn đến kho lưu trữ chưa được giải nén bằng SDK (xem ảnh chụp màn hình bên dưới). Nhân tiện, ở đây bạn có thể thay đổi trình soạn thảo văn bản MonoDevelop mặc định hoạt động sang yêu thích của mình :)

Và bây giờ thời điểm của sự thật là thời điểm này! Chúng tôi đi đến menu "Tập tin" và tìm kiếm mục "Xây dựng cài đặt". Trong cửa sổ mở ra, chúng ta sẽ cần phải thêm cảnh để xây dựng. Nếu cảnh là một (như trong dự án của chúng tôi), thì nó sẽ đủ để nhấp vào nút "Thêm hiện tại". Nếu có một số trong số họ, thì cần phải mở từng người trong số chúng và tạo ra một cách tương tự vào danh sách các cảnh và sau đó bằng cách kéo để định cấu hình thứ tự bạn cần:

Bước tiếp theo là chọn nền tảng lắp ráp (chúng tôi đang lên kế hoạch cho trò chơi dưới Android, điều đó có nghĩa là nó được chọn) và nhấn nút "Cài đặt trình phát" ở tầng dưới. Trong cửa sổ Thanh tra, một số cài đặt mà một số bắt buộc hoặc rất mong muốn được mở. Nó là mong muốn để chỉ định tên của công ty nhà phát triển, chương trình và các biểu tượng của nó (tên công ty, tên sản phẩm và biểu tượng mặc định, tương ứng) ở đầu danh sách cài đặt.

Ở dưới cùng của cùng một phần trong phần "Cài đặt khác", có hai tham số bắt buộc: "Nhận dạng gói" và "phiên bản gói". Phiên bản mặc định được gắn dưới dạng 1.0, nhưng mã định danh sẽ phải được tạo thủ công và tốt nhất là duy nhất. Nó sẽ bao gồm ba phần được phân tách bằng các dấu chấm: từ "com" được đặt trước, sau đó là tên của công ty của nhà phát triển và ở cuối tên của ứng dụng.

Các cài đặt lắp ráp còn lại có thể được thay đổi theo cách của bạn hoặc không thay đổi cả. Điều chính là bây giờ tổng hợp có thể được bắt đầu. Để thực hiện việc này, nó đủ để nhấn nút "Xây dựng" trong cửa sổ "Cài đặt xây dựng" và đợi cho đến khi các chương trình cung cấp cho chúng tôi ứng dụng tệp apk đã sẵn sàng, được đóng gói trong APK :)

Phần kết luận

Về điều này, Tổng quan về bài học của chúng tôi để tạo các ứng dụng đơn giản nhất cho Android kết thúc. Để bạn lặp lại tất cả mọi thứ chúng tôi đã nói, ở cuối bài viết, tôi sẽ cung cấp một liên kết đến kho lưu trữ, trong đó tất cả các tài nguyên trò chơi sẽ được lưu trữ dưới dạng một thư mục riêng (nếu bạn muốn làm mọi thứ từ cào) và như một tập tin với phần mở rộng UnityPackage. Cái sau cho phép bạn nhập tất cả các dự án tại Uniti cùng một lúc, bao gồm cả các phụ thuộc, v.v.

Để nhập dự án của chúng tôi (và, nhân tiện, bất kỳ plugin nào được tải xuống từ Internet hoặc Assets Store) cần chuyển đến menu "Tài sản", chọn "Nhập gói" và trong đó "PACKE tùy chỉnh", sau đó bạn chỉ định Đường dẫn đến tệp của chúng tôi và nhấn nút "Nhập". Nhân tiện, hãy sao lưu toàn bộ dự án của bạn, với việc lưu trong gói UnityPackage như vậy, bạn có thể từ cùng một menu ("Tài sản") bằng cách nhấp vào mục "Gói xuất".

Dường như, tất cả mọi thứ :) Là một người thành thạo Unity 3D từ đầu, trong bài viết tôi đã cố gắng đưa ra câu trả lời cho số lượng câu hỏi tối đa và làm nổi bật các sắc thái chính của việc làm việc với động cơ phát sinh lúc đầu. Nhưng, có lẽ, ai đó sẽ không đủ, vì vậy nếu bạn có bất kỳ câu hỏi nào, bạn có thể xử lý trực tiếp với tôi trên thư hoặc trên diễn đàn: Tôi có thể giúp gì!

Tôi chúc bạn may mắn và thực hiện thành công tất cả các dự án!

P.S. Nó được phép tự do sao chép và trích dẫn bài viết này nếu bạn chỉ định một tham chiếu hoạt động mở vào nguồn và duy trì quyền tác giả của Ruslana Trader.

Unity là động cơ mà hầu hết các trò chơi hiện đại được xây dựng trên các nền tảng khác nhau. Thông qua động cơ, nó thực sự đang tạo ra các trò chơi tập trung vào việc khởi chạy trên máy tính (Windows, Linux, MacOS), điện thoại di động, máy tính bảng (Android, iOS) và thậm chí cả bảng điều khiển trò chơi Playstation, Xbox, Nintendo.

Làm thế nào để tạo trò chơi trong đoàn kết?

Cơ sở của sự thống nhất là một khái niệm định hướng thành phần. Trên thực tế, bất kỳ trò chơi nào bao gồm khối lượng vật thể pha loãng với các thành phần bổ sung. Ví dụ: trong quá trình tạo platformer, chúng tôi tạo một GameObject, bổ sung bổ sung một thành phần đồ họa cho nó, chịu trách nhiệm hiển thị ký tự và thành phần điều khiển, nó cung cấp kiểm soát ký tự bằng chuột, bàn phím, cần điều khiển hoặc màn hình cảm ứng . Động cơ không áp đặt các hạn chế đối với số lượng mô-đun tương tự. Bạn có thể thêm rất nhiều thành phần vào GameObject khi cần thiết. Tất cả các công việc trên động cơ được xây dựng dựa trên việc tạo GameObject và áp dụng các thành phần phù hợp cho chúng.

Người mới có thể đánh lừa sự đơn giản có thể nhìn thấy của quy trình, mặc dù không phải vậy. Để tạo ra một trò chơi độc đáo và phổ biến sẽ phải viết rất nhiều thành phần từ đầu. Chính xác hơn, trong môi trường thống nhất, nó được gọi là một kịch bản. Ngôn ngữ tạo ngôn ngữ bản địa là C #, nhưng cũng được sử dụng một phần bởi JavaScript và BOO (tùy chọn Croprop Python). Tạo các thành phần của chúng ta là không dễ dàng, bạn thậm chí có thể nói - đây là một thủ tục phức tạp trực tiếp gắn liền với lập trình cổ điển. Nếu không có sự sẵn có của một mức độ đầy đủ về lập trình, nó sẽ phải không có gì.

Nền tảng được hỗ trợ

Nhiều dự án lớn thích thống nhất do một danh sách lớn các nền tảng tương thích với động cơ. Ứng dụng hoàn thành thực sự chạy trên bất kỳ hệ điều hành máy tính, nền tảng di động phổ biến và SmartTV. Những điều cần nói, thậm chí các trò chơi trình duyệt và ứng dụng cho các nền tảng cụ thể ( giống như HĐH Tizen.) Tốt nhất là phát triển về sự thống nhất.

Tuy nhiên, ở đây không quá mịn. Nếu cần thiết, bạn có thể viết các thuật toán cụ thể dựa trên mã cấp thấp, bên dưới Android, bạn cần có kiến \u200b\u200bthức kỹ lưỡng về Java.

Điều tương tự cũng đúng với iOS. Một tính năng khác của iOS là dưới nó chỉ có thể từ máy tính hoặc máy tính bảng từ Apple. Trong trường hợp không có MacBook hoặc một thiết bị tương tự, việc phát hành trò chơi nhanh chóng các quầy hàng và Unity hoàn toàn không, bản thân Apple đã áp đặt một giới hạn tương tự. Đầu ra rất đơn giản: Nếu có iOS-Phát triển trong các kế hoạch, bạn nên chọn một thiết bị phù hợp để lắp ráp trước.

Làm thế nào và nơi để phát triển một trò chơi trên động cơ?

Quá trình phát triển trò chơi lâu dài có thể được thực hiện cả trong Windows và Mac OS X. Đã tồn tại các phiên bản của trình soạn thảo trong Linux, nhưng nó chưa cần thiết phải được tính vào công việc ổn định của họ. Hầu hết thời gian để tạo trò chơi, nhà phát triển được thực hiện bên trong trình soạn thảo đoàn kết. Bạn vẫn phải viết rất nhiều thời gian để viết mã tập lệnh, chúng ta có thể tạo nó trong Monodevelop tiêu chuẩn hoặc trong bất kỳ biên tập viên nào của nhà phát triển bên thứ ba. Bây giờ tích cực sử dụng Visual Studio, cũng như văn bản siêu phàm, nhưng chỉ với điều chỉnh do.

Phát triển ứng dụng di động là một trong những lớp có lợi nhất trong ngành máy tính. Việc tạo ra một trò chơi trên Android có giá vài trăm hoặc hàng ngàn đô la và lợi nhuận có thể đạt được một triệu đô la. Về vấn đề này, nhiều người quan tâm đến việc phát triển các ứng dụng cho điện thoại. Trong bài viết này, bạn sẽ tìm hiểu cách tạo trò chơi trên Android từ đầu thông qua máy tính, công cụ nào và nhà thiết kế tốt hơn là lựa chọn.

Không có chi phí trò chơi thành công mà không có đồ họa đẹp, vì vậy tạo ra một thiết kế là một trong những giai đoạn phát triển quan trọng nhất. Thiết kế trên HĐH Android được triển khai bằng "Tài liệu thiết kế" hoặc Dzepock. Bạn cần bắt đầu tạo một món đồ chơi từ nghiên cứu chi tiết của nó. Các tập tin chứa:

  1. Mô hình đối tượng;
  2. Thông số kỹ thuật chức năng;
  3. Nội dung chơi game;
  4. Giao diện.

Xem xét từng mục chi tiết hơn.

Mô hình đối tượng

Đây là thông tin về chức năng của từng đối tượng. Các mô hình đối tượng chịu trách nhiệm về khả năng mua và bán các đối tượng, cũng như để cải thiện các đặc điểm trò chơi của các nhân vật.

Thông số kỹ thuật chức năng

Ở đây được mô tả bằng lối chơi, các tính năng chính của mỗi nhân vật. Cũng ở đây là một mô tả về các tính năng của các mục trò chơi - vũ khí, AidHeek, Armor và những người khác. Trong thực tế, các thông số kỹ thuật chức năng là các quy tắc mà trò chơi xảy ra. Phần này càng tốt sẽ hoạt động, nó sẽ dễ dàng tạo ra một trò chơi Android chất lượng cao.

Nội dung trò chơi

Đây là một trò chơi điền văn bản. Nó mô tả các hộp thoại ký tự và những gì vũ khí có thể bị hỏng, sẽ mất bao nhiêu sức khỏe, những đặc điểm nào sẽ tăng lên khi sử dụng nhiều thiết bị khác nhau. Nó cũng chứa một mô tả chi tiết của từng đối tượng.

Giao diện

Giao diện là cách người dùng sẽ tương tác với trò chơi. Nó bao gồm các nút mà bạn có thể quản lý ký tự và các phân vùng menu: ví dụ: phát, tài khoản, cài đặt, người chơi hàng đầu, trợ giúp. Nếu bạn không có kinh nghiệm trong việc tạo ứng dụng cho Android, trước khi tạo tải xuống của riêng bạn từ thị trường phát và phân tích các trò chơi phổ biến và chuyển các giải pháp tốt nhất cho dự án của bạn.

Động cơ trò chơi

Cơ sở của bất kỳ trò chơi nào là động cơ. Phần mềm này cho phép bạn phát triển và chạy nó. Nó chứa một loạt các chương trình, bao gồm một công cụ kết xuất, một công cụ vật lý, âm thanh, hoạt hình và nhiều hơn nữa. Để tạo điều kiện cho quá trình viết chương trình, các nhà phát triển của bên thứ ba tạo ra các công cụ trò chơi của riêng họ dành riêng cho các ứng dụng Android.

Mỗi người trong số họ cung cấp các chức năng khác nhau: một số được thiết kế cho 3D, các chức năng khác cho 2D, nhiều thứ đa dạng có thể được hỗ trợ. Có một lượng lớn các động cơ như vậy, nhưng nếu bạn chưa quen, tốt hơn là chọn một trong những hoạt động phổ biến nhất, vì tất cả các chức năng cần thiết sẽ có mặt.

UDK.

Mô-men xoắn 2D / 3D

Một nhà thiết kế trò chơi là gì?

Nhà thiết kế là một chương trình kết hợp công cụ chơi game và môi trường phát triển tích hợp. Nhà thiết kế làm cho quá trình phát triển có sẵn cho những người không có kỹ năng lập trình. Một số nhà thiết kế cho phép bạn tạo các trò chơi của một số thể loại nhất định, những người khác có chức năng tối đa, nhưng tốn nhiều tiền hơn. Để có người tạo ứng dụng dành cho người mới bắt đầu, sự lựa chọn của nhà thiết kế là một trong những khoảnh khắc có trách nhiệm nhất, bởi vì số phận của ứng dụng trong tương lai sẽ phụ thuộc vào khả năng của nó.

Nhà thiết kế cho phép bạn tạo các trò chơi của các thể loại khác nhau cho Windows, Android và iOS. Nó cung cấp một lựa chọn lớn các vị trí hoàn thành, đối tượng, nhân vật và trang trí âm thanh, vì vậy việc tạo ra trò chơi Android đầu tiên không mất nhiều thời gian. Người dùng quen thuộc với các ngôn ngữ lập trình JS và C ++ có thể sử dụng GML tích hợp. Hạn chế duy nhất là chương trình không được dịch sang tiếng Nga.

Phần kết luận

Tạo một trò chơi cho Android không khá đơn giản, nhưng một doanh nghiệp rất có lợi nhuận. Nếu bạn quyết định phát triển một trò chơi và kiếm tiền, hãy làm việc đầu tiên ý tưởng. Tiếp theo, viết "Tài liệu thiết kế" và quyết định công cụ trò chơi có thể tiết lộ tiềm năng của nó. Sau đó, bạn có thể tiến hành trực tiếp để tạo ứng dụng trong hàm tạo.

Video

Để làm quen với nhiều chi tiết hơn với quá trình tạo ra các trò chơi Android, hãy đọc một loạt các video về bài học này.

Bài viết về chủ đề: