Hari ini saya akan memberikan sebuah tutorial singkat mengenai pembuatan game ball 2D sederhana. Yah, saya tahu judul artikelnya memang membuat game android sederhana.
Tapi tahukah anda kalau membuat game android itu sebenarnya nggak jauh beda dengan membuat game pada pc. Perbedaan terbesar hanya terletak pada gameplay dan script input. Banyak yang terjebak dengan kata "android" dan beranggapan jika membuat game android dengan unity akan sangat sulit.
Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android Cara Membuat Game Untuk Android
Padahal yaa gitu deh. Dibilang gampang nggak, tapi dibilang susah banget juga nggak sebenernya.
Biasa-biasa saja.
Anyway, logika pada pembuatan game sederhana ini ditujukan untuk memudahkan anda memahami konsep Rigidbody2D dan Collider2D pada lingkungan Unity. Yah, namanya juga game 2D. Yuk kita simak!
Pertama-tama buatlah project baru. Jangan lupa centang 2D.
Tampilannya mestinya kayak gini.
Selanjutnya masukan gambar berikut ke dalam project anda. Save As saja gambar ini.
Cara nambahin Assets pasti sudah pada tahu kan? :-)
Satu yang perlu diperhatikan adalah kita akan membuat gambar ini menjadi Multiple Sprite. Jadi di pilihan Sprite Mode pilih Multiple terus klik Apply.
Klik Sprite Editor, nanti akan masuk ke editor baru dan di sini kita Slice gambar kita dengan Mode Automatic. Klik Slice dan Apply lagi.
Nah, kalau nge-slicenya bener, tampilan pada Assets bakalan seperti ini. Dalam 1 sprite, kini kita memiliki 6 mini-sprite.
Masukan salah satu sprite ke scene, misalnya yang hijau.
Atur ukurannya sesuai dengan kebutuhan anda.
Tambahkan BoxCollider2D. Caranya? Lihat sendiri deh.
Kalau sudah, tarik lagi sprite hijau tadi dari panel Hierarcky ke panel Asset alias buat menjadi sebuah Prefab. Tandanya? Tuh sekarang tulisannya sudah jadi baru. Bagi yang belum tahu cara membuat prefab mendingan baca dulu artikel saya yang ini: Cara membuat prefab
Nah, kalau sudah jadi Prefab enak nih. Bikin saja beberapa sprite, atur sesuai kebutuhan.
Selanjutnya tambahkan bola merah yang akan menjadi playernya.
Untuk player ini, tambahkan komponen CircleCollider2D.
Dan komponen Rigidbody2D.
Sampai sini, jalankan game anda dan seharusnya anda sudah bisa melihat bola merah turun melewati rintangan yang disusun sprite hijau.
Langkah terpenting, sebelum lupa, jadikan bola merah ini juga sebagai prefab.
Selanjutnya tambahkan bola hijau di salah satu pojok scene.
Bola hijau ini rencananya akan menjadi target utama alias kondisi menang si bola merah. Jadi untuk mudahnya kasih saja Tag Finish. Game ini idenya sederhana sekali. Hanya berusaha agar membuat Bola Merah menyentuh Bola Hijau. Simpel kan?
Kalau sudah selesai, selanjutnya hapus bola merah DARI SCENE. Jangan hapus dari panel Assets ya. Kita akan memanggil bola merah melalui script.
Namun sebelumnya buatlah dulu sebuah GameObject kosong.
Buat script Gameball.cs dan ketikkan kode berikut:
1: using UnityEngine;
2: using System.Collections;
3: public class Gameball : MonoBehaviour {
4: public GameObject Player;
5: GameObject currentplayer;
6: float Speed = 200;
7: // Use this for initialization
8: void Start () {
9: }
10: // Update is called once per frame
11: void Update () {
12: if (currentplayer != null){
13: if (Input.GetKey(KeyCode.RightArrow)){
14: currentplayer.GetComponent<Rigidbody2D>().AddForce(new Vector2(2,0) * Speed * Time.deltaTime);
15: }
16: if (Input.GetKey(KeyCode.LeftArrow)){
17: currentplayer.GetComponent<Rigidbody2D>().AddForce(new Vector2(-2,0) * Speed * Time.deltaTime);
18: }
19: if (Input.GetKey(KeyCode.UpArrow)){
20: currentplayer.GetComponent<Rigidbody2D>().AddForce(new Vector2(0,10) * Speed * Time.deltaTime);
21: }
22: //-- Accelerometer
23: currentplayer.transform.Translate(Input.acceleration.x * Speed * Time.deltaTime, Input.acceleration.y * Speed * Time.deltaTime, 0);
24: Debug.Log(currentplayer.GetComponent<Rigidbody2D>().angularVelocity);
25: Debug.Log(Screen.width);
26: if (currentplayer.transform.position.x <= -10 || currentplayer.transform.position.x > 10){
27: Destroy(currentplayer);
28: }
29: }
30: }
31: void OnGUI(){
32: if (GUI.Button(new Rect(10,10, 100, 50),"GO!")){
33: if (currentplayer == null){
34: currentplayer = Instantiate(Player);
35: currentplayer.transform.position = Player.transform.position;
36: }
37: }
38: if (GUI.Button(new Rect(Screen.width-60, 10, 50, 50),"X")){
39: Application.Quit();
40: }
41: }
42: }
Lalu pasangkan scriptnya di GameObject kosong. Untuk variabel Player masukkan si bola merah. Beres!
Coba tes scriptnya. Kalau tidak ada yang error, maka bola merah baru akan muncul kalau diklik tombol Go! Memang begitu maksudnya.
Selanjutnya buat lagi script Hitball.cs dan ketikkan kode berikut:
1: using UnityEngine;
2: using System.Collections;
3: public class Hitball : MonoBehaviour {
4: // Use this for initialization
5: void Start () {
6: }
7: // Update is called once per frame
8: void Update () {
9: }
10: void OnCollisionEnter2D(Collision2D collision2D){
11: if (collision2D.gameObject.tag == "Finish"){
12: Destroy(collision2D.gameObject);
13: }
14: }
15: }
Dan pasangkan scriptnya ke PREFAB bola merah.
Sampai sini harusnya selesai. Secara umum, script Gameball akan mendeteksi pergerakan keyboard anak panah kiri, kanan dan atas serta accelerometer android jika anda mempublish game ini sebagai aplikasi android. Dan script Hitball akan mendeteksi jika bola merah menyentuh bola hijau. Kondisi ini bisa anda gunakan untuk menambah nilai, menaikkan status player jadi menang, atau apa pun. Pikirin aja sendiri.
Nah, semoga tutorial membuat game android ini bermanfaat. Dan selamat malam semuanya.
Seperti biasa jangan lupa untuk melihat tutorial saya yang lain.
Cara Membuat Game Menggunakan Unity3D Cara Membuat Game Menggunakan Unity3D Cara Membuat Game Menggunakan Unity3D Cara Membuat Game Menggunakan Unity3D Cara Membuat Game Menggunakan Unity3D Cara Membuat Game Menggunakan Unity3D Cara Membuat Game Menggunakan Unity3D Cara Membuat Game Menggunakan Unity3D Cara Membuat Game Menggunakan Unity3D Berikut ini adalah beberapa Tutorial Unity3D yang bisa anda pelajari untuk memahami penggunaan game engine Unity 3D dalam membuat game berbasis PC maupun Android. Tutorial ini akan terus diupdate oleh saya, maupun oleh rekan-rekan kontributor yang lain. Semoga bermanfaat. Berikut ini adalah beberapa Tutorial Unity3D yang bisa anda pelajari untuk memahami penggunaan game engine Unity 3D dalam membuat game berbasis PC maupun Android. Tutorial ini akan terus diupdate oleh saya, maupun oleh rekan-rekan kontributor yang lain. Semoga bermanfaat. Berikut ini adalah beberapa Tutorial Unity3D yang bisa anda pelajari untuk memahami penggunaan game engine Unity 3D dalam membuat game berbasis PC maupun Android. Tutorial ini akan terus diupdate oleh saya, maupun oleh rekan-rekan kontributor yang lain. Semoga bermanfaat. Berikut ini adalah beberapa Tutorial Unity3D yang bisa anda pelajari untuk memahami penggunaan game engine Unity 3D dalam membuat game berbasis PC maupun Android. Tutorial ini akan terus diupdate oleh saya, maupun oleh rekan-rekan kontributor yang lain. Semoga bermanfaat. Berikut ini adalah beberapa Tutorial Unity3D yang bisa anda pelajari untuk memahami penggunaan game engine Unity 3D dalam membuat game berbasis PC maupun Android. Tutorial ini akan terus diupdate oleh saya, maupun oleh rekan-rekan kontributor yang lain. Semoga bermanfaat.
Tutorial Pemula:
- Cara Membuat Project Baru Game 3D
- Cara Membuat GameObject, Prefabs dan Rigidbody
- Cara Membuat Particle dan Animation
- Cara Membuat Game Untuk Android
- Cara Membuat Timer
- Cara Memperbaiki Application LoadLevel Obsolete
Tutorial Berseri #2:
- Membuat Boardgame Dengan Unity - Part #0
- Membuat Boardgame Dengan Unity - Part #1
- Membuat Boardgame Dengan Unity - Part #2
- Membuat Boardgame Dengan Unity - Part #3
No comments:
Post a Comment