Kamis, 31 Desember 2015
On 19.42 by Unknown 1 comment
Pada tutorial kedua ini kita akan menambahkan Player
Controls pada objek Player yang telah kita tambahkan sebelumnya.
Karena nantinya game yang akan kita buat adalah standalone (bukan mobile), maka basic
control menggunakan KeyCode pada keyboard user.
Kali ini kita akan menggunakan Script, karenanya disarankan bagi
Anda yang belum pernah berkenalan dengan dasar pemrograman disarankan untuk
mempelajari konsep dasar penulisan program pada beberapa bahasa pemrograman
umum, tapi tidak apa-apa, anda bisa mempelajarinya sambil mengikuti tutorial.
Kali ini bahasa yang digunakan adalah Unity Script /
Javascript. Struktur penulisannya hampir mirip dengan Javascript pada umumnya,
namun Unity Script lebih spesifik kepada objek-objek API yang digunakan dalam
developing di Unity.
Silahkan pilih objek Player yang telah kita tambahkan pada
tutorial sebelumnya. Pada inspector pilih menu Add Component >
Physics 2D > Box Collider 2D. Apa itu Collider ? Collider adalah semacam
komponen yang membuat game objek mempunyai permukaan fisik. Ibaratnya game
objek adalah sebuah tubuh kemudian dia mempunyai komponen transform, maka kita
sebut tubuh tersebut mempunyai koordinat, dia juga mempunyai komponen Sprite
Renderer maka kita juga sebut itu sebagai tubuh, lalu mempunyai collider maka
tubuh mempunyai fisik. Mudahnya game objek tanpa collider seperti sebuah tubuh
tanpa fisik, seperti penampakan hantu yang mempunyai bentuk, tapi dia bisa tembus
tembok karena tidak mempunyai fisik. Got it ? Selengkapnya anda bisa melihat
doc-nya dimanual.
Pada gambar diatas Anda bisa lihat, garis hijau yang
membungkus game objek tersebut dinamakan Collider. Game objek tidak
terkapsulisasi dengan baik oleh collider, ini dikarenakan game objek tersebut
mempunyai shadow atau ketika Assetnya dibuat memang dalam keadaan seperti itu,
mempunyai alpha channel. Collider umumnya akan membungkus game objek tepat
digaris tepi sebuah objek render, dalam hal ini Sprite Renderer.
Maka yang terjadi adalah collider tidak pas berada diujung objek.
Atur value pada komponen Box Collider 2D, tepatnya pada
bagian size. Sesuaikan hingga membuat objek tertutup dengan rapi.
Selanjutnya kita akan menambahkan script untuk membuat
Player bisa bergerak. Umumnya dalam game Ping Pong player hanya bergerak 2
sisi, kanan-kiri atau atas-bawah. Karena Player yang kita buat dalam posisi
vertical, maka player kita atur atas dan bawah. Untuk menambahkan script baru,
silahkan tambahkan komponen Script Add Component > New Script.
Jangan lupa pada bagian language pilih Java Script. Beri nama PlayerControls
pada script tersebut kemudian hit enter.
Perhatikan inspector, kita telah mempunyai komponen baru
bernama Player Controls. Untuk mengedit scriptnya double klik pada script tersebut.
Maka Unity akan membuka script editor Mono Develop yang
berisi script standar seperti berikut :
Function Start() adalah sebuah fungsi yang dieksekusi ketika
game pertama kali di play, sedangkan fungsi Update() adalah fungsi yang
dieksekusi setiap kali game melakukan update frame (realtime).
Kita akan mengubah script tersebut agar Player bisa digunakan. Maka untuk
sementara script menjadi seperti berikut :
Kita mempunyai variable baru yaitu moveUp dan moveDown yang
keduanya merupakan KeyCode. KeyCode adalah input yang dapat dibaca oleh Unity
Player melalui keyboard. Tentang KeyCode Anda bisa melihat lebih detailnya di
Unity Scripting. Kemudian kita juga mempunyai variable baru speed dengan tipe
data float. Speed ini nantinya yang akan mengatur kecepatan gerak player.
Selanjutnya kita juga memasukan kondisi if pada function Update. Ini berfungsi
sebagai deteksi apakah user menekan KeyCode (tombol) tertentu pada keyboard.
>> if(Input.GetKey(moveUp)){//player keatas}
Maksudnya adalah ketika moveUp ditekan, maka do something.
Dalam hal ini kita menggerakkan player ke atas yang akan kita assign eventnya
nanti. Begitu juga dengan kondisi if yang lainnya, intinya event akan terjadi
hanya bila script mendeteksi inputan tertentu.
Jika sudah, silahkan save kemudian kembali ke workspace.
Anda bisa lihat sekarang kita mempunyai 3 variable baru : Move Up, Move Down,
dan Speed. Move Up adalah variable KeyCode untuk menggerakkan player keatas,
maka pilih KeyCode W atau tombol apapun sesuai keinginan Anda.
Selanjutnya kita akan menambahkan satu lagi komponen fisik,
yaitu Rigidbody 2D. Kembali lagi ke analogi sebelumnya, jika tadi Collider
membuat objek mempunyai permukaan fisik, maka Rigidbody adalah komponen
penggerak untuk mengontrol fisik, mempunyai grafitasi misalnya. Selengkapnya
Anda bisa membacanya di manual. Untuk menambahkannya pilih Add
Component > Physics 2D > Rigidbody 2D. Kemudian buka kembali mono
develop, kita akan merubah scriptnya sehingga player benar-benar bisa bergerak.
Lihat pada bagian script berikut
>> if(Input.GetKey(moveUp)){//player keatas}
Pada bagian tersebut kita belum assign aksi apapun, sehingga
ketika moveUp ditekan, tidak akan terjadi apa-apa pada objek. Maka tambahkan
Script berikut :
>>rigidbody2D.velocity.y = speed;
Velocity bisa diartikan dengan kecepatan perpindahan pada
sumbu tertentu. Karena Rigidbody yang kita pakai adalah dimensi dua, maka
kemungkinannya hanya y atau x. Seperti yang telah kita bahas sebelumnya bahwa
rigidbody berfungsi mengontrol fisik. Maka ketika code tersebut dimasukkan
ke dalam statement if tadi (moveUp), objek yang mempunyai rigidbody2D dimana
script ini disimpan akan bergerak secara sumbu Y dengan kecepatan “speed”
ketika user menekan KeyCode moveUp. Karena kita telah assign variable moveUp
dengan tombol W pada inspector tadi, maka player akan bergerak keatas ketika
tombol W pada keyboard ditekan.
>>rigidbody2D.velocity.y = speed * -1;
Hal yang sama juga kita terapkan pada kondisi moveDown,
dimana ketika user menekan KeyCode S (moveDown) maka akan bergerak kebawah.
Jika nilai speed positif, sudah tentu player akan bergerak ke bilik positif
sumbu Y, yang berarti bergerak keatas. Untuk menggeraknnya kebawah, cukup
dengan mengubah nilai speed menjadi negatif, bisa dengan membuatnya negatif
langsung (-speed) atau dikalikan -1 sehingga nilainya negatif.
>>rigidbody2D.velocity.y = 0;
Untuk kondisi else, artinya kondisi tersebut tidak dalam
kondisi moveUp atau moveDown, maka kita hanya perlu membiarkannya diam. Cukup
beri value 0 pada velocitynya. Atau bisa dengan tidak menyertakan kode apapun
pada kondisi tersebut. Maka script akhirnya adalah seperti berikut :
Klik save, kemudian kembali ke workspace unity.
Lihat inspector, perhatikan variable Gravity Scale dan
Fixed Angle. Rubah valuenya seperti gambar diatas. Gravity Scale adalah
besarnya gravitasi pada objek tersebut, kita isikan 0 supaya objek tidak selalu
turun kebawah karena pengaruh simulasi gravitasi. Kemudian centang Fixed Angle,
ini berfungsi ketika objek terjatuh atau collision dengan objek lain maka
posisinya akan tertumpu pada satu tumpuan tetap. Jika sudah, klik Play yang
berada pada tengah atas workspace. Jika berhasil maka harusnya Anda bisa
menggerakan player keatas dan kebawah dengan menekan tombol W atau S pada
keyboard.
Sekian tutorial yang saya jelaskan. Semoga dapat bermanfaat...
Langganan:
Posting Komentar (Atom)
Search
Popular Posts
-
Pada kesempatan kali ini saya akan membahas mengenai konfigurasi proxy server di Ubuntu 12.04. Proxy server adalah sebuah komputer server ...
-
Assalamu'alaikum teman-teman semua.. Bagaimana kabar kalian semua? Semoga dalam keadaan sehat wal afiat yaa. Sudah lama saya tid...
-
Yuk.. Mengenal Keanekaragaman Budaya Indonesia Negara Kesatuan Republik Indonesia (NKRI) merupakan Negara kepulauan terbesar di dunia ...
-
World Wide Web (WWW) yang sering juga kita sebut dengan website, merupakan fasilitas di Internet yang paling banyak dipakai, hampir 80...
-
Kali ini saya akan mencoba membahas mengenai sistem konfigurasi home theater menurut para expert. Yang dimaksud di sini adalah cara ...
-
Game-game untuk Android saat ini bertebaran hingga sulit menghitung jumlahnya. Tidak hanya di Play Store, developer-developer Android b...
-
3D MAX A. Pengertian 3D Studio Max atau biasa dikenal dengan 3D Max adalah suatu software (perangkat lunak) untuk membuat ...
-
Sejak Unity 3D merilis versi 4.3, banyak sekali penambahan fitur pada rilisnya, salah satunya fitur 2D. Jika sebelumnya kebanyakan gam...
-
Pada kesempatan kali ini saya akan membuat tutorial mengenai web server local yang dapat terhubung ke jaringan Internet. Sebelum menuju k...
-
Review Game "SONIC GENERATIONS" Dari judulnya saja siapa yang tidak kenal dengan game ini. Sonic memang sudah menjadi game...
Recent Posts
Sample Text
Diberdayakan oleh Blogger.
Sangat berguna sekali informasinya
BalasHapusPaket Game