Showing posts with label mudah. Show all posts
Showing posts with label mudah. Show all posts

Tuesday, 27 February 2018

Membuat Game Tangkap Apel - Part 2

Setelah selesai tahap I.

Sekarang kita akan membuat “Apple” saat berbenturan dengan “Player” langsung hilang langsung saja kita ke Event sheet “Level01”

Add event > Sprite “Apple” > On collision with another object > Pilih Sprite “Player”
Add action > Pilih Sprite “Apple” > Destroy.


Logikanya ketika Sprite “Apple” berbenturan dengan Sprite “Player” maka system akan langsung menghancurkan Sprite “Apple” dari layar.


Lanjut lagi, kali ini kita akan membuat “Apple” saat berbenturan dengan “Ground” maka akan memudar (kalian bisa membuatnya menghilang jika mau).

Add event > Sprite “Apple” > On collision with another object > pilih Sprite “Ground”
Add action > Sprite “Apple” > Start fade


Nah untuk memberikan efek memudar kita terlebih dahulu harus menambahkan Behavior terlebih dahulu

Klick Sprite “Apple” > Add Behaviors > Pilih “Fade”
Logikanya ketika Sprite “Apple” berbenturan dengan Sprite “Ground” maka system akan mejalakan sifat memudar pada Sprite “Apple”

Sekarang kita akan membuat Score dan Health nya, jadi kita membuat Global variablenya terlebih dulu.

Buat saja dua Global variable kita berikan nama masing - masing “ScorePlayer” & “VarHealthbar”.
Terus kita sekarang tinggal berikan saja tindakan tambahan terhadap Sprite yang kita ingin hubungkan dengan Global variable yang kita inginkan.
Pada apel ketika berbenturan dengan dengan pemain maka kita berikan tindakan,
Add action > System > Add to > Pilih variable “ScorePlayer”, Set Value “1”.

Logikanya saat kondisi terpenuhi maka System akan menambakan 1 nilai pada Global variable “ScorePlayer”.

Pada apel ketikan berbenturan dengan dinding maka kita berikan tindakan,
Add action > System > Subtract from > Pilih variable “VarHealthbar”, Set Value “1”.

Logikanya saat kondisi terpenuhi maka System akam mengurangi 1 nilai pada Global variable “Varhealthbar”.

Sekarang bagaimana cara kita memunculkan hasil dari kedua Global variable tersebut?
Kita bisa menghubungkan Global variable tersebut dengan “Text” yang telah kita buat sebelumnya

Add event > Pilih Text “Score” > Is on layer > Layer “0”
Add action > Pilih Text “Score” > Set text > Text (“Score: ” &ScorePlayer)




Logikanya saat Text “Score” berada pada layer “0” maka Text “Score” akan menampilkan text tersebut pada layer menjadi Score: 0 dikarenakan,
“Score: ”             <= Text biasa
&ScorePlayer     <= memanggil variable yang kita ingikan untuk perubahan nilai pada Score


Lakukan hal serupa untuk memunculkan Health kita pada layar,

Add event > Pilih Text “Health” > Is on layer > Layer “0”
Add action > Pilih Text “Health” > Set text > Text (“Health: ” &VarHealthbar)





Logikanya saat Text “Health” berada pada layer “0” maka Text “Health” akan menampilkan text tersebut pada layar menjadi Health: 10 dikarenakan,
“Health: ”         <= Text biasa
&VarHealthbar     <= memanggil variable yang kita ingikan untuk perubahan nilai pada Score


Nah sekarang kita coba jalankan, ada yang aneh?

Ya.. disini saat “Apple” jatuh sekali akan mengurangi nilai dari VarHealthbar kita berkali - kali dan ketika “Apple” sudah jatuh ke tanah saat “Player” mendekati secara cepat maka akan terhitung sebagai Score

Ini terjadi karena nilai “Apple” saat jatuh ke tanah selalu dihitung berulang.

Cara mengatasinya kita akan bermain pada Local variable kali ini, kita buat saja variablenya
isFall (Boolean) > False agar System bisa membacanya lebih jelas




Nah sekarang kita kembali lagi ke Event sheet “Level01”

Pertama kita akan membenarkan kondisi dari “Health”, kita berikan saja Another condition pada “Apple” On collision with “Ground”

Klik kanan pada kondisi diatas
Add another condition > Pilih Sprite “Apple” > Is boolean instance variable set > Instance variable “isFall”.


Di Invert pada kondisi tambahan diatas
Add action > Pilih Sprite “Apple” > Set boolean > Instance variabale “isFall”, Value “True”


Logikanya ketika kondisi “Apple” berbenturan dengan “Ground” dan ketika “Apple” “isFall” = False sudah terpenuhi,
maka Boolean di “Apple” akan mengset isFall = True saat “Apple” membentur “Ground”

Jadi system hanya akan mengurangi 1 dari “VarHealthbar” ketika “Apple” isFall = True, jadi ketika “Apple” jatuh untuk berikutnya maka system tidak akan menginputnya sebagai poin untuk mengurangi “VarHeatlhbar”.



Lakukan hal yang sama untuk kondisi “Apple” On collision with “Player”

Add another condition > Pilih Sprite “Apple” > Is boolean instance variable set > Instance variable “isFall”.
Di Invert pada kondisi tambahan diatas

Logikanya ketika kondisi “Apple” berbenturan dengan “Player” dan “Apple” “isFall” = False sudah terpenuhi,

Maka System tidak akan input “Apple” yang sudah jatuh ke “Ground” sebagai poin untuk Score, karena hanya “Apple” yang bernilai False yang dibaca oleh system sebagai input poin untuk “ScorePlayer”


Nahh tinggal langkah terakhir :D, sekarang kita buat bagaimana jika kondisi darah sudah mecapai “0”

Kita buat saja seperti ini,
Add event > System > Compare variable > Variable “VarHeatlhbar”, Comparation “Equal to”, Value “0”
Add action > System > Go to layout > Layout “Game Over”


Logikanya ketika “VarHealthbar” = “0” maka system akan memindahkan kita ke layer Game Over



Nahh sekarang pasti ketika di Run sudah berjalan dengan baik kan? :D





kalau begitu sampai disini ya pembahasan kita tentang membuat game sederhana, semoga ilmunya bermanfaat brotha sekalian.

Terimakasih! :D

File Capx download disini



Thursday, 22 February 2018

Membuat Game Tangkap Apel - Part 1



Halo brotha, kita sekarang akan membuat sebuah game sederhana yang nanti bisa kalian kembangkan sendiri kelanjutannya.

Disini kita akan membuat game menangkap buah, jadi nanti kita akan memunculkan buah - buahan yang akan jatuh secara acak dari atas dan kita sebagai Player nanti akan menangkapnya, jika kita berhasil menangkapnya maka kita akan mendapatkan Score +1 dan jika kita gagal menangkapnya maka Health -1 dan jika kita gagal terus menerus maka permainan akan berakhir.

Nah langsung saja ya, pertama kita buat saja langsung 2 buah Layouts berikan nama “Level01” & “Game Over” jangan lupa ganti nama Event Sheetnya. Sekarang kita siapkan beberapa Sprite seperti;
- “Bglevel01”
- ”BgGameOver”   => Untuk layout Game Over
- “Apple”
- “Player”
- “Ground”

Jangan lupa Texts & Input juga:
- “Health”
- “Score”
- “Gameover”        => Untuk layout Game Over
- “Keyboard”         => Input

Jika sudah, sekarang kita tempatkan semua pada Layout kita seperti dibawah ini:


1. Layout Level01

2. Layout Game Over

Jika sudah sekarang kita akan masuk ke perubahan bentuk Polygon, sekarang kita double click saja gambar yang ingin kita rubah bentuk polygonnya. Untuk sekarang kita double click dulu di Spite “Player”nya lalu dimenu bar sebelah kiri pilih “set collision polygon”.

Nah sekarang kita akan melihat bahwa Sprite “Player” dikellingi oleh garis berwarna biru dan titik berwarna merah, kalian dapat menyesuaikan bentuk polygon untuk Sprite tersebut dengan cara mengdrag titik merah pada gambar lalu kita sesuaikan dengan bentuk gambar tersebut.

Sesuaikan seperti contoh dibawah ini:


Kemudian kita lakukan hal yang sama untuk Sprite “Apple”, disini kita akan memberikan polygon tambahan untuk apel, ada 2 cara disini

1. Kita bisa klik kanan pada gambar yang sudah masuk di menu “set collision polygon” kemudian pilih “Guess polygon shape” 

Kita mengaturnya sendiri dengan mengklik kanan titik merah di polygon kemudian pilih “add poin” sesuaikan banyaknya dengan bentuk gambar yang ada, kurang lebih seperti gambar dibawah ini.


Ohh iya hampir lupa, untuk Sprite “Ground” kalian hanya perlu membuatnya 1 saja kemudian kalian bisa bisa mengcopynya.

NB: Alasan kita mengatur polygon pada Sprite adalah agar kita bisa menentukan titik benturan dari Sprite tersebut dengan Sprite lain, karena jika tidak diatur polygonnya maka titik benturan gambar akan terlihat aneh dilayar saat dijalankan.

Sekarang kita masuk ke bagian Behaviors untuk masing - masing object, caranya adalah dengan mengklik satu kali pada Sprite yang kita inginkan kemudian klik “Behaviors” dimenu Properties lalu klik lagi icon (+) pada jendela baru kemudian kita pilih Behaviors yang kita inginkan.

Sebagai contoh kita akan memberikan Behaviors pada Sprite “Apple”

Click Sprite “Apple” > Add Behaviors > Pilih “Physics” kemudian Enter


Lakukan juga hal yang sama untuk Sprite lainnya seperti :

Klick Sprite “Ground” > Add Behaviors > Pilih “Physics” (Immoveable : Yes), dan “Solid”

Klick Sprite “Player” > Add Behaviors > Pilih “Platform”, dan “Solid”

Rasanya persiapan awalnya sudah ok ini, kalau begitu kita masuk saja ya ke Event sheetnya untuk Layout “Level01”.

Sekarang kita akan membuat bagaimana “Apple” akan jatuh secara acak dari atas layar ke bawah, pertama kita lihat lagi Layout “Level01” kemudian kita klik Sprite “Apple” yang kita telah letakan seperti digambar.

Di tab Properties kalian bisa melihat posisi dari Sprite tersebut dan yang akan kita lakukan adalah membuat “Apple” jatuh sepanjang sumbu “X”yang berarti sumbu “Y” menjadi statis, nah bagaimana cara kita menentukan “Apple” jatuh disepanjang Sumbu “X”?
Kita bisa menentukannya dengan cara mengerakan pointer mouse kita secara Horizontal disepanjang Sumbu “X” kita buat saja dengan titik A ~ B cara untuk melihat koordinat pada pointer mouse kita adalah dengan melihat dipojok kanan bawah dari window Construct kita. (Status bar kalau gak salah :D)


Ok jadi sekarang kita sudah tau ya koordinat dari masing - masing sumbu yang kita kehendaki, kemudian kita langsung saja atur kondisi dan tindakannya untuk memunculkan “Apple”


Add event > System > Every X seconds > Masukan (detik) 



Add action > System > Create object > Pilih Sprite ”Apple” > set Layer “0” > set X random(A~B) > set Y random(Y).


Logikanya setiap “X’ detik yang kalian input maka System akan membuat object “Apple” pada Layer “0” disepajang sumbu X yang telah kalian set dan secara random, dan sumbu Y random

Lanjut ke part II ya, jangan lupa di save dulu!