Blogging for sharing, sekedar berbagi ilmu dan pengalaman

Tutorial Membuat 2D Sprite Sederhana Untuk Membuat Game 2D di Unity

February 14, 2014 Posted by Ahmad Saifuddin Azhar 61 comments
Pada artikel sebelumnya saya pernah membahas tentang penggunaan Unity untuk membuat game 2D. Pada artikel tersebut saya masih menggunakan Unity 4.2x yang belum dilengkapi dengan tool 2D sehingga saya memerlukan tool tambahan yaitu Orthello Framework. Seiring perkembangan Unity, mulai versi 4.3 Unity telah dilengkapi dengan fitur 2D, hal ini memungkinkan Unity dapat digunakan untuk membuat game 2D secara lebih mudah tanpa memerlukan tool tambahan. Nah pada artikel kali ini saya akan membahas tutorial membuat animasi sprite 2D di Unity menggunakan tol 2D bawaan Unity secara defult. Ok langsung saja kita mulai membuatnya, simak tutorial di bawah ini :

Perhatian : klik gambar untuk memperbesar

Alat dan bahan :
Contoh sprite stickman dapat didownload disini
Sample project hasil tutorial ini dapat didownload disini

Langkah 1. Buat project baru
Seperti biasa, file >> new project. Namun perbedaannya pada pengembangan game 2D kita pilih 2D pada bagian 'Setup defaults for'.

new 2D project unity

Langkah 2. Import sprite
Disini saya memiliki sebuah sprite sederhana berupa stickman dengan animasi lari, sprite ini terdiri dari gambar-gambar biasa, dimana jika di load secara bergantian dalam tempo waktu tertentu akan menghasilkan animasi lari.
Contoh sprite 2D
Kemudian kita import dengan melakukan drag & drop. Disini sprite saya import pada direktori 'User Assets/Stickman/Sprite'. Sobat dapat membuat sendiri direktorinya.

import sprite 2D ke unity

Langkah 3. Letakkan sprite di scene
Langkah selanjutnya adalah meletakkan sprite di scene. Lakukan drag & drop sprite idle ke window scene.

meletakkan sprite ke scene
Letakkan pada posisi 0,0,0 dengan mengedit transform. Hal ini untuk memudahkan saja, Sobat dapat menggunakan posisi lainnya.

atur posisi sprite

Kemudian berilah nama sprite, kali ini saya memberinama sprite ini dengan nama 'Stickman'

Beri nama sprite

Langkah 4. Animasi
Langkah 4.1. Buat animator
Langkah selanjutnya adalah membuat animasi dari sprite. Beri component 'Animator' pada sprite. Select sprite, klik Component >> Miscellaneous >> Animator

menambahkan komponen animator di unity
Setelah memberikan component animator maka seharusnya animator ada di dalam sprite. Klik sprite 'stickman' kemudian lihat di bagian inspector.

animator telah ditambahkan ke obyek

Selanjutnya kita buat 'animator controller' untuk stickman. animation controller saya buat di dalam folder 'User Assets/Stickman/Animation Controllers'. Buat dengan klik kanan >> create >> animator controller

membuat animator controller di unity

Kita beri nama animator controller tersebut dengan nama 'Stickman'

animator controller telah dibuat dan diberi nama
Selanjutnya kita masukkan animator controller yang baru kita buat ke dalam animator dengan cara drag & drop.

masukkan animator controller ke dalam animator

Selanjutnya kita munculkan window animator dan animation. window animator dapat dimunculkan dengan klik window >> animator. Window animation dapat dimunculkan dengan klik window >> animation. Kita susun sedemikian rupa window tersebut agar enak dilihat. Sobat dapat menghapus window-window yang mungkin tidak perlu. Disini jika Sobat memiliki layar besar adalah satu keuntungan buat sobat karena seluruh window dapat dimunculkan secara jelas.

menampilkan window untuk animasi di unity

Langkah 4.2. Buat animasi 'Idle'
Animasi Idle ini nanti akan kita mainkan ketika karakter stickman dalam keadaan diam, tidak berjalan, tidak melompat, dan tidak melakukan action lain. Kita buat animasi baru, klik pada bagian window animation, klik Create New Clip.

membuat animasi baru di unity

Kita beri nama clip tersebut, misalkan 'idle'. Clip idle ini saya simpan di 'User assets/stickman/animations/Idle'. Ketika animasi idle dibuat secara otomatis state baru bernama 'Idle' juga terbentuk di animator. 

state baru di animator muncul ketika animasi baru dibuat

Kemudian kita buat clip nya dengan melakukan drag & drop sprite pada timeline animation. Kita atur sedemikan rupa kecepatannya agar tidak terlalu cepat dan tidak pula terlalu lambat. 

membuat animasi idle pada sprite 2D di unity

Kemudian sobat dapat mencoba memainkan sprite dengan mengklik play pada window animation. kita lihat animasi akan berjalan.

menjalankan animasi sprite 2D di unity

Oke, seharusnya sampai disini Sobat sudah dapat melihat sprite Sobat dengan animasi Idle.

Langkah 4.3. Buat animasi 'Run Right'
Animasi 'Run Right' akan dimainkan ketika kita menekan panah kanan. Karakter stickman akan memainkan animasi run right ini dan akan berlari ke kanan. Seperti biasa kita buat animasi baru, klik pada window animation >> Create new clip

membuat animasi run right pada sprite 2D di unity

Kemudian kita simpan animasinya seperti sebelumnya. Lihat di window animator maka akan muncul state 'Run Right'

state run right muncul di animator

Kemudian buat animasi dengan melakukan drag & drop. Sobat dapat juga menentukan kecepatan animasi dengan mengubah nilai dari sample. Silahkan mainkan nilai sample sehiingga animasi tidak terlalu cepat atau terlalu lambat.

animasi sprite 2D di unity

Coba mainkan dengan menekan tombol play pada window animation. Jika berhasil animasi dapat berjalan.

Langkah 4.4 Transition
Seluruh animasi sudah kita buat, langkah selanjutnya adalah membuat transisi animasi. Transisi ini diperlukan untuk menentukan kapan animasi berpindah, misalkan dalam kasus ini animasi berpindah dari 'idle' ke 'run right' ketika kecepatannya adalah lebih dari sekian. 

Kita lihat pada animator, state 'Idle' berwarna orange sedangkan state lainnya abu-abu. Hal ini berarti state 'Idle' merupakan default state, artinya ketika sprite di load secara default akan memainkan state 'Idle' sampai ada kondisi transisi yang menyebabkan state berpindah. Ok.. Langkah membuat transisi, kita klik kanan state 'idle' pada animator, pilih 'make transition'.

membuat transisi animasi di animator di unity

Kemudian kita arahkan panah ke state 'Run Right'

transisi animasi dari idle ke run right

Selanjutnya buat juga transisi dari state 'Run Right' ke idle dengan cara yang sama.

transisi animasi dari run right ke idle

Selanjutnya kita buat parameter 'speedX'. Parameter speedX ini kita gunakan sebagai parameter yang menyatakan kapan terjadi transisi dari idle ke run atau sebaliknya. Buat parameter speedX berupa float.Pada window animator di bagian parameters tambahkan dengan klik icon '+'

menambah parameter transisi

Kita beri nama 'speedX' dengan nilai default 0.0

memberi nama parameter transisi

Selanjutnya kita memerlukan window Inspector untuk melakukan pengaturan transisi. Munculkan window Inspector dengan klik window >> inspector

memunculkan window inspector di unity

Select transisi dari idle ke run right. Kemudian lihat inspector, pada bagian conditions lakukan pengaturan 'speedX Greater 0.1'. Hal ini berarti animasi idle akan berubah ke run right ketika nilai speedX adalah lebih besar dari 0.1

memberikan pengaturan transisi pada animator di unity
Lakukan hal serupa untuk transisi run right ke idle. Kali ini dengan pengaturan 'speedX Less 0.1'. Hal ini berarti animasi run right akan berpindah ke idle jika nilai speedX kurang dari 0.1

memberikan pengaturan transisi pada animator di unity untuk transisi lain

OK.. Kedua transisi sudah selesai. Jangan lupa simpan scene ctrl + S agar jika sewaktu-waktu terjadi crash scene kita tidak hilang. Saya simpan scene dengan nama Scene 1.

menyimpan scene di unity

Langkah 5. Memberi background arena
Selanjutnya kita beri background. Kenapa? Agar nanti bisa terlihat pergerakannya. Bayangkan jika tidak ada background. Karakter bergerak seperti apapun juga gak akan terlihat.

Kita kembalikan tampilan window seperti semula dulu agar lebih mudah. Tampilkan window scene, game, hierarchy, asset, inspector. Ini pilihan Sobat, tidak harus seperti punya saya, tergantung Sobat enaknya bagaimana dan apa saja yang perlu ditampilkan.

tampilan window standar

Kita import background dengan drag & drop

import sprite background

Nah kita masukkan background ke scene. Langkahnya seperti biasa, drag & drop doank dan atur sedemikian rupa agar terlihat rapi dan bagus. Saya tidak perlu menjelaskan panjang lebar soal ini

pengaturan letak obyek

Sobat juga dapat memainkan ukuran pandangan main camera agar obyek tidak terlihat terlalu besar atau kecil. Lihat efeknya di window game

merubah ukuran kamera di unity

Buat tampilan di window game serapi mungkin, kurang lebih seperti ini, karakter tepat di tengah dan dibawahnya ada arena permainan.

tampilan di window scene

Langkah 6. Scripting
Langkah selanjutnya adalah proses scripting. Disini saya akan membagi dalam dua script, yaitu script Stickman.cs dan HUD.cs. Script Stickman.cs adalah script perilaku dari karakter stickman seperti jalan kanan, jalan kiri, lompat, dsb. Script HUD (head up display) adalah script yang menangani input user, dan GUI 2D bila ada. Sobat dapat menambahkan healthbar, button, dsb di HUD ini, jangan menggabungkannya dengan stickman.

Pemisahan script ini penting, kenapa? karena dengan memisah script antara input/kontrol dengan karakter akan membuat program jauh lebih reuseable. Sobat dapat mengganti platform dari android, iphone, desktop, playstation, dsb hanya dengan mengganti script HUD nya saja, namun script karakter tetap. Kenapa? Karena perbedaan platform seperti iphone, android, desktop, playstation, dsb kebanyakan hanya berbeda input kontrolnya saja, namun untuk karakter  tetap, sama sekali tak berubah.

Langkah 6.1. Scripting karakter
Buat script Stickman.cs dan letakkan pada sprite Stickman di hierarchy dengan cara drag & drop

membuat script karakter stickman

Berikut adalah isi script Stickman.cs, penjelasan lebih lengkap langsung saya komentari di script 
using UnityEngine;
using System.Collections;

public class Stickman : MonoBehaviour {
 public float walkSpeed; //kecepatan berjalan

 private Animator animator; //animator
 State state; //enum state, lihat baris 27

 void Update(){
  if(Input.GetKey(KeyCode.RightArrow)){
   WalkRight();
  }
 }

 //start adalah fungsi pertama yang dijalanan ketika menjalankan script ini
 void Start(){
  animator = this.GetComponent(); //mendapatkan komponen animator dalam obyek ini
 }

 //LateUpdate dipanggil 1x tiap 1 frame setelah fungsi Update
 void LateUpdate(){
  if(state == State.idle){ //digunakan untuk mendeteksi idle, jika tidak ada action apapun (state == State.idle)
   this.animator.SetFloat("speedX", 0); //memberi tahu animator jika saat ini speednya adalah 0
  }
  state = State.idle; //secara default state adalah idle, jadi apapun statenya ketika selesai berjalan 1 frame maka state dikembalikan ke idle
 }

 //Method untuk berjalan ke kanan
 public void WalkRight(){
  state = State.walk; //ketika berjalan state adalah walk
  this.transform.Translate(Vector2.right * this.walkSpeed * Time.deltaTime); //translasi biasa untuk bergerak
  this.animator.SetFloat("speedX", walkSpeed); //memberi tahu animator jika saat ini speedX adalah sebesar kecepatan walkSpeed
 }

 private enum State {idle, walk}; //deklarasi enum State
}

Lihat script diatas, fokuskan pada bagian berikut :
public float walkSpeed; //kecepatan berjalan

Variabel walkSpeed memiliki modifier public. Di unity, variabel public dapat dirubah sesuai keinginan di inspector, seingga kita tidak perlu merubah script untuk merubah valuenya. Klik obyek Stickman, lihat inspector, rubah variabel walkSpeed, nilainya terserah Sobat, semakin besar semakin cepat berlarinya.

memasukkan parameter dari karakter stickman


Langkah 6.2 Scripting HUD
Empty GameObject  dengan klik GameObject >> Create Empty dan beri nama dengan HUD.

membuat HUD


Buat script HUD.cs  dan letakkan ke dalam object HUD dengan cara drag & drop

membuat script HUD

Berikut adalah isi dari script HUD.cs, penjelasan lebih lengkap langsung saya komentari di script 
using UnityEngine;
using System.Collections;

public class HUD : MonoBehaviour {
 public Camera activeCamera; //kamera yang aktif
 public Stickman stickman; //stickman

 //method update dipanggil 1x tiap frame
 void Update () {
  //membuat active kamera mengikuti stickman, dengan membuat nilai x kamera = nilai x stickman, sedang nilai y dan z tetap, yaitu nilai y dan z dari activeKamera itu sendiri 
  activeCamera.transform.position = new Vector3(stickman.transform.position.x, activeCamera.transform.position.y, activeCamera.transform.position.z); 

  if(Input.GetKey(KeyCode.RightArrow)){ //jika dipencet panah kanan
   stickman.WalkRight(); //memanggil fungsi WalkRight dari stickman
  } 
 }
}

Lihat kedua variabel berikut :
public Camera activeCamera; //kamera yang aktif
public Stickman stickman; //stickman

Pada variabel tersebut bertype public sehingga dapat dirubah di inspector. activeCamera isi dengan kamera, dan stickman isi dengan Stickman yang kita buat tadi. 

 mengisi atribut kamera dan karakter di HUD

Langkah 7. Uji coba
Selesai sudah... Jalankan program.. Secara default stickman akan menjalankan animasi 'Idle'.

hasil ujicoba sprite 2D untuk pembuatan game 2D

Coba tekan panah kanan, stickman akan bergerak ke kanan dan menjalankan animasi 'Run Right'


hasil ujicoba sprite 2D untuk pembuatan game 2D pada state berlari

Selesai
Nah... akhirnya selesai juga saya menulis tutorial ini, yang memakan waktu total lebih dari 8 jam, yang saya kerjakan dalam beberapa hari. Hahahaha.. Terima kasih sudah membaca, semoga artikel ini bermanfaat. Kurang lebihnya saya mohon maaf, tetap semangat dan terus berkarya ^^

61 comments:

  1. Saya masih bingung di bagian scripting

    ReplyDelete
    Replies
    1. Agan bingung di bagian yang mananya? Udah download projectnya belom? Sepertinya lebih jelas kalo download projectnya :)

      Delete
  2. gan. saya coba buat karakter berjalan ke kiri kok animasinya gag bisa ya ..

    public void WalkLeft(){
    state = State.walk;
    Vector3 theScale = transform.localScale;
    theScale.x *= -1;
    transform.localScale = theScale;
    this.transform.Translate(Vector3.left * this.walkSpeed * Time.deltaTime); //translasi biasa untuk bergerak
    this.animator.SetFloat("speedX", walkSpeed); //memberi tahu animator jika saat ini speedX adalah sebesar kecepatan walkSpeed
    }

    mohon pencerahannya gan

    ReplyDelete
    Replies
    1. Owh.. coba agan liat bagian animator disini.

      http://i1314.photobucket.com/albums/t579/saifuddinazhar/Duniadigit%20Blog/Tutorial%20Sprite%202D%20di%20Unity/21_zpsfe4d8a8e.png~original

      Untuk menambahkan animasi agan harus menambahkan state baru + animasi baru. Dari gambar diatas yang ada hanyalah state diam dan animasi jalan ke kanan. Untuk state + animasi jalan ke kiri masih belum ada. Nah.. Tugas akan membuat animasi jalan ke kiri :)

      saya kasi clue nya :
      1. Buat sprite nya. agan liat disini http://i1314.photobucket.com/albums/t579/saifuddinazhar/Duniadigit%20Blog/Tutorial%20Sprite%202D%20di%20Unity/2_zpsc1f55b01.png~original. Disitu adanya animasi jalan ke kanan. Tinggal di mirror aja animasi jalan ke kiri, terserah mo pake potosop, gimp, ato apa.
      2. Kemudian ikuti kembali mulai Langkah 2 untuk animasi jalan ke kiri.

      Semoga bermanfaat :)

      Delete
    2. Sudah gan, makasih ya buat pencerahannya ..
      tapi loncatnya kurang mulus, tp tak apalah. yang penting bisa.

      Btw, bisa buat checkGround gg ? aku udah buat fungsi sih buat ngecek player nempel ke colider gag nya tapi masih error. Bisa gag bantu ?

      link source : http://s29.postimg.org/mgw9wrpfr/source.png
      link SC : http://s28.postimg.org/8024fkxvh/Capture.png

      Delete
    3. Coba cari-cari artikel tentang OnTriggerEnter, kalo ini collider 2D kalo g salah jadi OnTriggerEnter2D. Selamat mencoba :)

      Delete
    4. Ok gan makasi, Btw ada link gag tentang gitu yang local aja (indo)

      Delete
    5. Wah gak ada gan.. Silahkan cari sendiri aja ya :)

      Delete
  3. Gan....minta emailnya dunk....maklum masih newbee nih.....
    Oh iya....1lg gan....game yg seperti plant vs zombie itu 2d bukan??
    Ane bener2 penasaran nih dlm hal gaming...
    Jgn lupa sertain alamat email agan yha??
    Mohon pencerahannya gan...

    ReplyDelete
    Replies
    1. Yup... Plant VS zombie itu game 2D. Email saya saifuddinazhar@gmail.com, silahkan dihubungi kalo mau tanya2.. :)

      Delete
  4. Mantap gan.....ane cuma baru berhasil sampe di bagian background doank....
    bingung di bagian script....itu maksudnya Stickman.cs apa yha?? (.cs) artinya apa gan??
    trus gan di bagian script yg agan buat ada tulisan //.........(bhs indo)
    itu dihapus atau di tulis aja gan??
    maaf.....banyak nanya.....mohon bimbinganya yha???

    SEMANGAT TERUS BLOG nya Gan.....SEMANGAT.....MANTAPZZZZ

    ReplyDelete
    Replies
    1. .cs itu ekstensi dari file C# (baca : C Sharp)
      Wah pasti ini nubi banget dibidang pemrograman yah... Kalo // itu artinya komentar. Jadi bisa dihapus atopun nggak gak akan ngefek. Maaf ya saya responnya lama, rada sibuk kerja :)

      Delete
  5. gan itu bagaimana agar karakternya bisa bergerak kekiri juga.
    aku sudah coba tapi kok malah mundur karakternya.
    Animatorny juga udah dibuat.

    Tolong pencerahannya
    :)

    ReplyDelete
    Replies
    1. butuh sprite jalan ke kiri juga. Agan bikin spritenya lagi.. :)

      Delete
  6. Gan.....Berhasil gw coba......Thx banget yha???
    Buat lg donk pembelajarannya.....hehehe....baru x ini dpt blog yg pas.....
    Ditunggu tutorial lg yha gan?? Klw bisa game2 yg mirip seperti Zuma atau yg lain....

    ReplyDelete
    Replies
    1. Hahaha... Terima kasih juga sudah baca blog saya...
      Sebenernya saya pengen bikin tutorial series atau step by step dari awal sampai bener2 jadi game sederhana. Tapi masalahnya saya g pandai menggambar. Jadi kalau agan punya sprite sederhana bisa di share dimari nanti saya buatkan tutorial :)

      Delete
  7. Gan...klw ini tandanya apa yg salah....
    https://www.dropbox.com/s/lajlbaoongi882c/Untitled.png

    Terimakasih jika telah meresponnya......

    ReplyDelete
    Replies
    1. gimana yah.. Coba agan pelajari tentang type data Generic dulu. Ini saya ada sedikit penjelasan tapi di java. http://docs.oracle.com/javase/tutorial/java/generics/types.html
      Untuk yang C# silahkan cari2 sendiri, cuman g jauh beda kok sama java.
      Jadi intinya T itu adalah type Generic, bisa diisi kelas sesuai keinginan. CMIIW :)

      Delete
  8. gan....ane baca tutorial disini....
    http://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started
    ada perintah buka sprite packer....
    gw coba buka sprite packer pake caranya, tp knp tetap ga bs di buka yha gan??
    agan tau ga cara bukanya??

    ReplyDelete
    Replies
    1. Lho dibuka aja lhoo... Pastikan unity 4.3. Kalo versi sebelumnya g ada sprite packernya :D

      Delete
  9. Keren gan... ntar ane coba ikuti dulu.... Kayak plant vs zombie bisa di buat dari unity juga ya?

    ReplyDelete
  10. permisi gan, ane barusan udah nyampe script di atas udah ngisi scriptnya terus di drag n drop ke stickman nya, tapi kok di tab inspectornya ga ada settingan walk speed nya ? gimana gan ?

    ReplyDelete
    Replies
    1. public float walkSpeed;
      Modifiernya harus public biar bisa dibaca di unitynya :)

      Delete
  11. udah public float walkSpeed; tapi tetep ga bisa ? terus ane bikin lagi c# nya pas di coba di drag ke stickman nya kok jadi ada yg error, gimana nih ? error nya pas di animator = this.GetComponent(); tulisan errornya "unknown resolve error"

    ReplyDelete
  12. Gan...buat forum unity indonesia donk......pasti rame ntar.....

    ReplyDelete
    Replies
    1. Lhooo.. udah ada di facebook.. Tapi bukan saya yang buat. Disana banyak jago-jago unity yang jauh jauh jauh lebih jago dari saya :D

      Delete
  13. gan,tu kn gambarny sdah jdi,klo ngebuatny sndri tu pke software apa? klo pke corel atau klo g windows paint bsa kh?

    ReplyDelete
    Replies
    1. Bisa.. terserah aja mau pakek apa. klo bisanya gambar tangan ya gambar tangan juga bisa terus di scan. G ada aturan asal jadi :)

      Delete
  14. misi,itu scip nya yg awal itu yang bagian " animator = this.GetComponent(); "
    waktu di jalan kan kok error ya,, gimana itu?

    ReplyDelete
    Replies
    1. Errornya gimana? bisa kasi screenshot?

      Delete
    2. Assets/Script/Claudyne.cs(11,33): error CS0411: The type arguments for method `UnityEngine.Component.GetComponent()' cannot be inferred from the usage. Try specifying the type arguments explicitly

      saya juga ngalamin error kayak diatas itu kenapa ya T^T

      Delete
    3. Coba diganti dengan
      animator = this.GetComponent();
      atau
      animator = this.GetComponent(typeof(Animator));
      Mungkin saya lupa itu.. hehehehe...

      Delete
  15. Bikin tutorial lagi dong gan, gimana carany scene yang satu berpindah ke scene lain pake tombol

    ReplyDelete
    Replies
    1. Untuk buttonya kamu coba di link ini http://duniadigit.blogspot.com/2013/09/membuat-button-touch-screen-di-unity.html
      Untuk pindah scene kamu pake Application.LoadLevel("Nama Scene")

      Delete
  16. kok saya gk bisa di bagian script...selalu ada tulisan cant add script saat mendrag script ke stickman

    ReplyDelete
    Replies
    1. Lho... Mungkin kamu tidak extends MonoBehavior.
      untuk deklarasi kelas kamu extends MonoBehaviour biar bisa jalan di unity.
      Contoh :
      public class Stickman : MonoBehaviour{

      }

      Delete
  17. gan kok gak ada nyawanya dan gak ada rintangan nya kalo mau buat rintangannya gimanaa??

    ReplyDelete
  18. yang eror component coba code diatas diganti " animator = this.GetComponent(); "

    ReplyDelete
  19. kalau buat lompat gimana?

    ReplyDelete
    Replies
    1. Kali pake physics bisa pake rigidbody.Addforce. Kalo g pake pysics ya bisa pake transform.translate aja..

      Delete
  20. gan kalo animator untuk jalan ke kiri, kanan, atas, bawah itu gimna gan, sama pengaturan conditions nya itu gimn gan?
    ane nyoba beberapa kali pas di runing kaga berhasil manggil ke Animation nya, hanya sekali pemanggilan saja Animatornya, seperti saat di runing, posisi default idle saat di gerakan ke kiri maka di Animatornya memanggil Run Left tetapi pada saat di gerakan ke kanan itu tidak bisa memanggil ke Run Right jadi jalan ke kanan itu seperti mundur, di karnakan tidak bisa memanggil Animasi yang berjalan ke kanan, begitu pula jalan yang atas dan yang bawah.
    itu gimana solusinya gan?
    mohon bantuannya.
    terimakasih gan

    ReplyDelete
    Replies
    1. Waduh.. Saya juga bingung kalo g liat langsung projectnya. Kemungkinan Agan salah mendesain animasinya (liat langkah 4.2 yang gambar ke-3)

      Delete
  21. jgn pake photobucket lagi kalau mau jadi sumber gambar... photobucket itu suka ngapus2 gambar..

    ReplyDelete
    Replies
    1. terima kasih atas masukannya... Dlu katanya free makanya saya pake itu. Tapi ternyata di hapusin... -_-'

      Delete
  22. gan, apa gunanya script itu gan, memang nya setiap game itu berbeda scipt nya.
    mohon pencerahannya

    ReplyDelete
  23. gan itu yg script
    animator = this.GetComponent();
    kyknya salah tulis dah, soalnya script yg ada di project yg agan sediain tulisannya
    animator = this.GetComponent();

    ReplyDelete
  24. gan semisal itu stickman jalan otomatis gimana ya caranya ?

    jadi kalo semisal d click cuman lompat aja

    ReplyDelete
  25. coba kalau dibuat video tutorialnya, dgn menggunakan software perekam aktifitas di monitor (nama software-nya lupa gue). pasti lebih siip ... !

    ReplyDelete
  26. gan itu agan buat sprite lewat apa?? biar lebih mudah gan

    ReplyDelete
  27. gan mau nanyaa , itukan 2d platfrom RUN /
    kaloo cara membuat game berbasis kaaya 2d gituu tetapi
    perang kayaa gamee gamee 2d gituu yang bisa perangg nahh itu gimanaa cara script tembaknya dan buat musuhnya ?

    ReplyDelete
  28. mas, kalo ngasih rintangan seperti tiang gitu gmna ??

    ReplyDelete
  29. udah nyampe script gagal mulu.. -_- ,ane fokus belajar script aj dulu.. :)

    ReplyDelete
  30. gan unity 4.5.5 sama 4.3 beda to? ko di 4.5.5 gk ada create new clip carinya dimana ya

    ReplyDelete
  31. Kak mohon penjelasan tentang script ini :)

    void Update () {
    //membuat active kamera mengikuti stickman, dengan membuat nilai x kamera = nilai x stickman, sedang nilai y dan z tetap, yaitu nilai y dan z dari activeKamera itu sendiri
    activeCamera.transform.position = new Vector3(stickman.transform.position.x, activeCamera.transform.position.y, activeCamera.transform.position.z);

    if(Input.GetKey(KeyCode.RightArrow)){ //jika dipencet panah kanan
    stickman.WalkRight(); //memanggil fungsi WalkRight dari stickman
    }
    }

    ReplyDelete
  32. kak mohon penjelasan tentang script ini :)

    void Update () {
    //membuat active kamera mengikuti stickman, dengan membuat nilai x kamera = nilai x stickman, sedang nilai y dan z tetap, yaitu nilai y dan z dari activeKamera itu sendiri
    activeCamera.transform.position = new Vector3(stickman.transform.position.x, activeCamera.transform.position.y, activeCamera.transform.position.z);

    if(Input.GetKey(KeyCode.RightArrow)){ //jika dipencet panah kanan
    stickman.WalkRight(); //memanggil fungsi WalkRight dari stickman
    }
    }

    ReplyDelete