Langkah Pembuatan Game
Memulai
Sekarang Anda sudah siap,
jalankan program Construct 2. Klik Tombol file , Dan
Pilih New .
Pada pilihan New Project , Anda tidak perlu mengganti apapun. Cukup klik New empty project .
Construct 2 akan menyimpan keseluruhan data dalam satu file .capx . Sekarang Anda seharusnya sudah ada pada sebuah layout kosong - sebuah 'desain' dimana anda bisa membuat dan mengatur berbagai objek. Bayangkan saja halaman Layout sama seperti sebuah level dalam permainan atau halaman menunya. Pada program game developer yang lain, Layout dapat berupa room, scene atau frame.
Hal pertama yang ingin kita
lakukan adalah memasukkan background'. Objek Tiled Backgroundlah
yang dapat berfungsi sebagai background. Pertama, silakan Anda simpan terlebih
dahulu gambar berikut ke dalam sebuah folder - click Kanan Dan simpan ke sebuah
folder:
Sekarang, Klik 2x ruang kosong pada Layout untuk memasukkan
objek baru. (Selanjutnya, jika Sudah Penuh, dapat juga dilakukan dengan cara
click kanan dan pilih Insert New Object.) Saat jendela Insert
New Object muncul, Klick 2x pada Tiled Background untuk
memasukkannya.
Sebuah tanda + (disebut crosshair) akan muncul menunjukkan di mana kita akan menempatkan objeknya . Klik dimanapun di tengah Layout. Sekarang jendela Texture Editor muncul, Anda dapat memasukan tekstur (gambar) menjadi gambar 'tile'. Impor atau masukkan 'tile image' yang anda simpan sebelumnya. Klik icon folder untuk memasukkan file, cari di mana Anda menyimpannya tadi, dan pilih gambar tersebut.
Tutup jendela Texture Editor dengan cara click tanda X pada
bagian paling atas sebelah kanan. Sebagai saran, Pastikan Anda telah menyimpan
datanya! Sekarang Anda akan melihat objek Tiled Background yang
telah Anda masukkan ke dalam Layout. Saatnya mengubah ukurannya sehingga
memenuhi Layout permainan. Pastikan objek tersebut telah terseleksi, lalu di
sebelah kiri akan muncul Properties Bar yang menunjukkan semua
pengaturan untuk objek tersebut, termasuk ukuran dan posisinya. Atur posisinya
menjadi 0, 0 (Layout paling atas sebelah kiri), Dan ukurannya menjadi 1280,
1024 (ukuran Layout).
Saatnya meninjau pekerjaan kita. Tahan control dan
scroll mouse ke bawahuntuk zoom out. Cara alternatif,
click viewt - zoom out beberapa kali. Anda dapat juga menekan
tombol spasi, atau tombol tengah pada mouse, untuk menggeser. Mudah, kan? Tiled
Background Anda kini telah memenuhi seluruh isi Layout:
Tekan kombinasi tombol CTRL + 0 atau click view - zoom to 100% untuk kembali ke sudut pandang 1:1.
(!! Jika kamu
tipe orang yang 'tidak sabaran' seperti saya, klik icon kecil 'run' pada bar
judul Jendela - browser anda akan menampilkan tile Layout sesuai sesuai yang telah Anda buat! Woo Senangnya
:D)
Menambah Layer
Ok, sekarang kita akan menambahkan beberapa objek lagi. Sementara itu, Tiled Background-nya akan terus-terusan ter-select secara tidak sengaja jika kita tidak menguncinya. Untuk mengatasinya kita dapat membuatnya tidak dapat diklik atau di-select. Mari kita gunakan 'sistem layering' untuk melakukannya.
Layout dapat terdiri dari beberapa layer, yang dapat digunakan untuk mengelompokkan objek-objek. Bayangkan Layer-layer itu seperti beberapa lapisan kaca yang diletakkan di atas satu sama lain, dengan objek-objek yang tergambar di setiap lembaran kaca tersebut. Layers mempermudah Anda dalam menentukan objek yang mana saja yang akan diletakkan di atas objek yang lain, dan layer-layer itu juga dapat disembunyikan, dikunci, ditambahkan efek parallax, dan banyak lagi. Sebagai contoh, dalam game ini, kita ingin semua objek ditampilkan di atas Tiled Background yang telah dimasukkan, jadi kita bisa mengatur layer yang satu di atas layer-layer kita yang lainnya.
Untuk mengatur Layer, click tab Layers, tepat di samping Project bar:
Anda akan melihat Layer 0 dalam daftar layernya (Hitungan dalam Construct2 dimulai dari angka nol, karena dalam pemograman hal tersebut lebih berguna.) Klik icon pencil dan klik rename untuk mengubah nama layernya menjadi “Background”, yaitu nama layer untuk background. Selanjutnya klik icon add yang berwarna hijau untuk menambah sebuah layer baru untuk object lainnya. Beri nama layernya “Main”. Sekarang klik icon gembok kecil di samping layer ”Background”. Dengan begitu, seluruh object yang terletak di layer “Background” tidak akan bisa di-select. Hal ini lebih dapat memudahkan kita untuk bekerja tanpa mengklik gambar backgroundnya secara tidak sengaja. Tapi jika kita ingin menggeser gambar backgroundnya, kita bisa menghilangkan centang di icon gembok kecil di samping layer “Background”.
Anda akan melihat Layer 0 dalam daftar layernya (Hitungan dalam Construct2 dimulai dari angka nol, karena dalam pemograman hal tersebut lebih berguna.) Klik icon pencil dan klik rename untuk mengubah nama layernya menjadi “Background”, yaitu nama layer untuk background. Selanjutnya klik icon add yang berwarna hijau untuk menambah sebuah layer baru untuk object lainnya. Beri nama layernya “Main”. Sekarang klik icon gembok kecil di samping layer ”Background”. Dengan begitu, seluruh object yang terletak di layer “Background” tidak akan bisa di-select. Hal ini lebih dapat memudahkan kita untuk bekerja tanpa mengklik gambar backgroundnya secara tidak sengaja. Tapi jika kita ingin menggeser gambar backgroundnya, kita bisa menghilangkan centang di icon gembok kecil di samping layer “Background”.
Kita juga dapat memanfaatkan Checkbox yang terletak di masing-masing layer untuk menyembunyikan layernya di layar editor. Hanya saja, untuk saat ini kita tidak akan menggunakannya dulu. Layer bar untuk sekarang akan terlihat seperti berikut ini:
Pastikan layer Main dalam keadaan di-select. Perlu dicatat bahwa- layer yang di-select merupakan layer yang aktif. Seluruh objek yang dimasukkan akan masuk ke layer yang sedang aktif tersebut. Layer yang sedang aktif akan muncul di status bar dan juga akan muncul di tanda plus pada saat kita ingin menambahkan object baru.
Menambahkan object input
Sekarang kembalikan perhatian kita ke Layout. Klik dua kali untuk memasukkan object baru. Kali ini, pilih object “Mouse”, karena kita membutuhkannya untuk input mouse nantinya. Lakukan hal yang sama untuk memasukkan object input keyboard.
Catatan: object-object tersebut tidak membutuhkan penempatan di layout karena mereka tersembunyi dan secara otomatis dapat digunakan nantinya. Sekarang seluruh layout dalam project kita ini dapat menggunakan input dari mouse dan keyboard.
Object Game
Sekarang saatnya kita memasukkan object-object game kita ke dalam layout. Silakan simpan terlebih dahulu object-object game berikut ini ke dalam komputer Anda:
Player:
Monster:
Bullet (Peluru):
dan Explosion (Ledakan):
Untuk semua object tersebut, kita akan menggunakan object sprite. Object Sprite adalah tipe object yang hanya menampilkan texture atau tampilan gambar yang dapat dipindahkan, diputar, maupun diatur ukurannya. Game pada umumnya terdiri dari object sprite.
Selanjutnya silakan masukkan keempat object di atas sebagai object sprite. Caranya sama seperti memasukkan Tiled Background sebelumnya:
Monster:
Bullet (Peluru):
dan Explosion (Ledakan):
Untuk semua object tersebut, kita akan menggunakan object sprite. Object Sprite adalah tipe object yang hanya menampilkan texture atau tampilan gambar yang dapat dipindahkan, diputar, maupun diatur ukurannya. Game pada umumnya terdiri dari object sprite.
Selanjutnya silakan masukkan keempat object di atas sebagai object sprite. Caranya sama seperti memasukkan Tiled Background sebelumnya:
1. Klik dua kali pada layout untuk memasukkan object baru.
2. Klik dua kali pada object “Sprite”.
3. Saat mouse berubah menjadi tanda plus, klik sembarang di bagian layout. Pada bagian plus tersebut pasti muncul kata “Main”. (Ingat, hal tersebut menandakan bahwa layout yang aktif adalah layout “Main”.)
4. Jendela editornya akan muncul. Klik icon open, dan pilih salah satu dari keempat object di atas.
5. Menutup jendela editornya berarti menyimpan perubahannya. Sekarang objectnya sudah berada di layout.
2. Klik dua kali pada object “Sprite”.
3. Saat mouse berubah menjadi tanda plus, klik sembarang di bagian layout. Pada bagian plus tersebut pasti muncul kata “Main”. (Ingat, hal tersebut menandakan bahwa layout yang aktif adalah layout “Main”.)
4. Jendela editornya akan muncul. Klik icon open, dan pilih salah satu dari keempat object di atas.
5. Menutup jendela editornya berarti menyimpan perubahannya. Sekarang objectnya sudah berada di layout.
Catatan: Salah satu cara cepat memasukkan object sprite ke dalam layout yaitu dengan cara drag and drop file gambar di direktori komputer Anda ke dalam area layout. Construct2 akan secara otomatis menambahkan object-object tersebut sebagai object sprite. Tapi pastikan drag and drop filenya satu persatu. Karena jika keempat file tersebut sekaligus di drop ke layout, maka Construct 2 akan mengenali keempat file tersebut sebagai satu object sprite yang memiliki empat animation frame.
Pindahkan sprite bullet dan explosion tersebut ke ujung luar layout karena kita tidak ingin kedua sprite tersebut muncul saat gamenya dimulai.
Object-object tersebut secara otomatis dinamai Sprite, Sprite2, Sprite3, dan Sprite4. Nama-nama tersebut hanya akan membuat kita bingung plus pusing nantinya. Maka dari itu, Rename tiap-tiap sprite dengan namanya masing-masing yaitu Player, Monster, Bullet, dan Explosion. Kita dapat mengubah namanya (Rename) dengan cara memilih atau select salah satu objcetnya, kemudian ubah tulisan pada bagian Name yang terletak pada Properties bar:
Menambahkan Behavior
Behavior merupakan kemampuan object yang telah dikemas sedemikian rupa dalam Construct 2. Misalnya, kita bisa menambahkan behavior Platform ke object player, dan behavior Solid ke object lantai, dan hanya dengan itu kita bisa langsung membuat object player tersebut bisa melompat-lompat ke mana saja seperti pada game-game platformer. Kita juga bisa melakukan hal yang sama dengan mengaturnya menggunakan event, tapi akan lumayan sulit dan ribet untuk seorang pemula. Lagian, untuk apa susah-susah mengaturnya menggunakan event kalau hanya dengan menggunakan behavior bisa diterapkan hasil yang sama dengan cara yang lebih mudah. Nah, mari kita lihat behavior apa saja yang dapat kita gunakan dalam game ini. Di antara aplikasi-aplikasi pembuat game lainnya, Contruct 2 lah yang menyediakan behavior-behavior tersebut;
- 8 Direction Movement. Behavior ini dapat membuat kita memindahkan suatu object menggunakan keyboard tanda panah. Akan sangat cocok jika diterapkan pada object Player.
- Bullet Movement. Behavior ini membuat suatu object secara otomatis berpindah ke arah depan object tersebut seperti perpindahan peluru. Akan sangat cocok jika diterapkan pada perpindahan object Bullet karena perpindahan dari behavior ini hanyalah ke arah depan objectnya dengan kecepatan tertentu.
- Scroll to. Behavior ini membuat layar monitor atau screen mengikuti perpindahan suatu object (juga disebut dengan Scrolling). Akan sangat cocok jika diterapkan untuk object Player.
- Bound to layout. Behavior ini akan mencegah suatu object untuk keluar dari area layout saat gamenya dimainkan. Akan sangat berguna jika diterapkan pada object Player supaya tidak keluar dari area layout ataupun area game.
- Destroy outside layout. Behavior ini tidak akan mencegah suatu object keluar dari area layout, akan tetapi object tersebut akan dihancurkan jika keluar dari area layout. Akan sangat cocok jika diterapkan pada object Bullet untuk mencegahnya tetap beterbangan di luar layout selamanya sehingga membuat memori penuh.
- Fade. Behavior ini membuat suatu object memudar atau menghilang secara perlahan. Akan sangat berguna jika diterapkan pada object Explosion.
- Bullet Movement. Behavior ini membuat suatu object secara otomatis berpindah ke arah depan object tersebut seperti perpindahan peluru. Akan sangat cocok jika diterapkan pada perpindahan object Bullet karena perpindahan dari behavior ini hanyalah ke arah depan objectnya dengan kecepatan tertentu.
- Scroll to. Behavior ini membuat layar monitor atau screen mengikuti perpindahan suatu object (juga disebut dengan Scrolling). Akan sangat cocok jika diterapkan untuk object Player.
- Bound to layout. Behavior ini akan mencegah suatu object untuk keluar dari area layout saat gamenya dimainkan. Akan sangat berguna jika diterapkan pada object Player supaya tidak keluar dari area layout ataupun area game.
- Destroy outside layout. Behavior ini tidak akan mencegah suatu object keluar dari area layout, akan tetapi object tersebut akan dihancurkan jika keluar dari area layout. Akan sangat cocok jika diterapkan pada object Bullet untuk mencegahnya tetap beterbangan di luar layout selamanya sehingga membuat memori penuh.
- Fade. Behavior ini membuat suatu object memudar atau menghilang secara perlahan. Akan sangat berguna jika diterapkan pada object Explosion.
Mari tambahkan behavior-behavior di atas pada object-object yang membutuhkannya.
Cara menambahkan Behavior
Silakan tambahkan behavior 8 Direction Movement pada Player. Klik Playeruntuk men-select objectnya. Pada Properties bar, lihatlah pada bagian Behavior. Klik Add/Edit. Jendela dialog Behavior akan muncul.
Klik icon berwarna hijau Add Behavior pada jendela dialog Behavior. Klik dua kali pada 8 Direction Movement untuk menambahkannya.
Lakukan hal yang sama dan tambahkan behavior Scroll To untuk membuat screen selalu mengikuti perpindahan Player. Dan tambahkan juga behavior Bound to layout untuk mencegah Player keluar dari area layout. Jendela dialog Behavior nya akan terlihat seperti berikut ini:
Close jendela dialog behavior nya. Tekan Run untuk mencoba gamenya!
Kamu harus memiliki browser yang compatible dengan HTML5 untuk bisa mencoba game ini. Pastikan browser seperti Firefox atau Chrome yang terinstal di komputer Kamu sudah diupdate ke versi terbarunya. Setelah gamenya muncul di browser, kita langsung bisa memindahkan Playernya menggunakan keyboard tanda panah dan perhatikanlah layarnya akan terus mengikuti Player kemanapun kita memindahkannya! Selain itu Playernya tidak akan bisa kita pindahkan ke luar layout karena behavior Bound to Layout sudah terapkan pada object Playernya. Itulah fungsi dari behavior – dapat menambahkan fungsi yang dapat diterapkan pada object-object tanpa perlu cara yang rumit. Sebentar lagi kita akan menggunakan sistem event untuk memodifikasi fungsi-fungsi tersebut.
Klik icon berwarna hijau Add Behavior pada jendela dialog Behavior. Klik dua kali pada 8 Direction Movement untuk menambahkannya.
Lakukan hal yang sama dan tambahkan behavior Scroll To untuk membuat screen selalu mengikuti perpindahan Player. Dan tambahkan juga behavior Bound to layout untuk mencegah Player keluar dari area layout. Jendela dialog Behavior nya akan terlihat seperti berikut ini:
Close jendela dialog behavior nya. Tekan Run untuk mencoba gamenya!
Kamu harus memiliki browser yang compatible dengan HTML5 untuk bisa mencoba game ini. Pastikan browser seperti Firefox atau Chrome yang terinstal di komputer Kamu sudah diupdate ke versi terbarunya. Setelah gamenya muncul di browser, kita langsung bisa memindahkan Playernya menggunakan keyboard tanda panah dan perhatikanlah layarnya akan terus mengikuti Player kemanapun kita memindahkannya! Selain itu Playernya tidak akan bisa kita pindahkan ke luar layout karena behavior Bound to Layout sudah terapkan pada object Playernya. Itulah fungsi dari behavior – dapat menambahkan fungsi yang dapat diterapkan pada object-object tanpa perlu cara yang rumit. Sebentar lagi kita akan menggunakan sistem event untuk memodifikasi fungsi-fungsi tersebut.
Menambahkan behavior lainnya
Kita dapat menambahkan behavior pada object-object lainnya dengan cara yang sama – Select objectnya, klik Add/Edit untuk membuka jendela dialog Behavior. Silakan tambahkan behavior berikut ini:
- Tambahkan Bullet movement dan Destroy outside layout pada object Bullet
- Tambahkan Bullet movement pada object Monster (Monsternya juga akan berjalan ke depan saja)
- Tambahkan Fade pada object Explosion (dengan begitu ledakannya akan menghilang sedikit demi sedikit). Secara default, behavior Fade juga akan menghancurkan objectnya setelah menghilang, yang dapat membuat kita lega tanpa harus mengkhawatirkan gamenya macet karena memori yang kepenuhan.
- Tambahkan Bullet movement pada object Monster (Monsternya juga akan berjalan ke depan saja)
- Tambahkan Fade pada object Explosion (dengan begitu ledakannya akan menghilang sedikit demi sedikit). Secara default, behavior Fade juga akan menghancurkan objectnya setelah menghilang, yang dapat membuat kita lega tanpa harus mengkhawatirkan gamenya macet karena memori yang kepenuhan.
Jika gamenya dimainkan, kita akan melihat sesuatu yang berbeda yaitu monsternya akan berjalan lumayan cepat. Hal ini dapat diatasi dengan cara select object Monster. Lihatlah ada banyak properties tambahan yang muncul pada properties barnya setelah kita menambahkan behavior sebelumnya:
Hal tersebut membuat kita bisa memodifikasi cara kerja behaviornya sesuai keinginan kita. Ubahlah Speed dari 400 menjadi 80 (kecepatannya merupakan pixels/second).
Hal tersebut membuat kita bisa memodifikasi cara kerja behaviornya sesuai keinginan kita. Ubahlah Speed dari 400 menjadi 80 (kecepatannya merupakan pixels/second).
Dengan cara yang sama, ubahlah kecepatan object Bullet menjadi 600; dan behavior Fade untuk object Explosion pada Fade out tiime menjadi 0.5 (setengah detik).
Buat lebih banyak lagi monster
Sambil menekan tombol control, klik dan drag object Monster. Objectnya akan melahirkan object lain lagi yang mana juga merupakan object lain dari typeobject Monster.
Type atau tipe-tipe object pada dasarnya ‘classes’ atau golongan-golongan object. Di sistem event, kita akan lebih sering berurusan dengan type –tipe object. Contohnya, kita akan membuat event seperti “Bullet collides with Monster” yang dapat diartikan “Setiap instance dari type object Bullet akan bertabrakan dengan setiap instance dari type object Monster” - kebalikan dari keharusan untuk membuat event-event tersendiri untuk tiap-tiap monster. Dengan Sprite, seluruh instance dari type suatu object juga dapat memiliki texture atau jaringan yang sama. Hal ini sangat bagus untuk efisiensi – pada saat gamers memainkan game online Kamu, mereka tidak harus mendownload seluruh 8 texture monsternya, yang perlu mereka download hanyalah satu texture monster saja dan Construct 2 lah yang akan mengulangi monsternya sebanyak 8 kali. Kita akan membahasnya lebih lanjut lagi pada pembahasana object types vs. Instances. Untuk saat ini, ilustrasi yang tepat untuk menjelaskannya yaitu musuh atau enemy yang memiliki type yang berbeda adalah type object yang berbeda, yang mana musuh-musuh itu sendiri yang sebenarnya adalah instances dari type object-object tersebut.
Dengan menekan tombol control + drag, buatlah 7 atau 8 monster baru. Jangan diletakkan terlalu berdekatan dengan Playernya jika tidak ingin Player langsung mati saat memulai game! Kita bisa zoom out menggunakan tombol control + scroll mouse ke bawah dan sebarkan monster-monster itu diseluruh layout. Kira-kira layoutnya akan seperti ini:
Sekarang saatnya kita menambahkan functionality sesuai dengan keinginan kita melalui visual method of programming di Construct 2 - event system.
Sekarang saatnya kita menambahkan functionality sesuai dengan keinginan kita melalui visual method of programming di Construct 2 - event system.
Event
Pertama-tama, klik tab Event sheet 1 yang terletak di bagian atas. Sekumpulan list event disebut juga dengan Event sheet, dan kita bisa memiliki event sheet yang berbeda untuk tiap-tiap bagian game yang berbeda-beda. Event sheet ini juga bisa memasukkan atau “include” event sheet yang lainnya, yang membuat kita bisa memanfaatkan event pada event sheet tersebut untuk digunakan pada banyak level game, tapi untuk sementara ini kita tidak akan membutuhkannya.
Tentang Event
Seperti yang telah tertulis di sheet kosong tersebut, Construct 2 menjalankan setiap event yang terletak dalam event sheet tersebut per "tick". Kebanyakan monitor meng-update display atau penampakan layarnya 60 kali per detiknya (60 tick/detik), oleh karena itulah Construct 2 akan mencoba untuk menyamainya demi kelancaran display. Berarti event sheet tersebut biasanya menjalankan event-eventnya setiap detiknya sebanyak 60 kali yang diikuti dengan perubahan screennya. Itulah apa yang dimaksud dengan "tick" – sebuah unit dari “jalankan event-eventnya kemudian gambarkan screennya”.
Event-event tersebut akan dijalankan dari atas ke bawah, dengan begitu event yang terletak pada bagian atas event sheet lah yang akan dijalankan terlebih dahulu.
Condition, action, dan sub-event
Event terdiri dari condition, yang menguji atau test apakah suatu kriteria terpenuhi, contoh. “Is spacebar down?” (Apakah tombol spasi sedang ditekan?). Jika seluruh kondisinya terpenuhi, action eventnya akan dijalankan, contoh. “Create a bullet object” (Buatlah atau masukkan object Bullet). Setelah actionnya dijalankan, seluruh sub-eventnya juga akan dijalankan – yang mana juga dapat menguji atau test condition lainnya, kemudian jalankan action lainnya, dan juga sub-event lainnya, dan begitulah seterusnya. Dengan menggunakan sistem yang seperti itu, memungkinkan kita untuk membuat fungsional atau kemampuan yang canggih untuk game-game dan app kita. Meskipun begitu, untuk saat ini kita masih belum membutuhkan sub-event.
Singkatnya, pada dasarnya sebuah event akan berjalan seperti berikut ini:
Apakah seluruh condition terpenuhi?
----> Ya: jalankan seluruh action eventnya.
----> Tidak: lanjutkan ke event berikutnya (tidak termasuk sub-event).
----> Ya: jalankan seluruh action eventnya.
----> Tidak: lanjutkan ke event berikutnya (tidak termasuk sub-event).
Mungkin itu sedikit penyederhanaan yang berlebihan. Construct 2 menyediakan banyak fitur event untuk banyak keperluan yang berbeda-beda yang akan kita butuhkan. Meskipun begitu, untuk saat ini, hal tersebutlah yang sebaiknya kita pikirkan untuk gambaran sebuah event.
Event pertama kita
Kita ingin membuat Playernya selalu mengarah ke arah mouse. Eventnya akan terlihat seperti berikut ini nantinya:
Ingatlah bahwa satu tick akan berjalan setiap kali screennya digambarkan atau berubah, jadi jika kita membuat Playernya menghadap ke arah mouse setiap tick-nya, maka ia akan selalu menghadap ke mouse.
Ingatlah bahwa satu tick akan berjalan setiap kali screennya digambarkan atau berubah, jadi jika kita membuat Playernya menghadap ke arah mouse setiap tick-nya, maka ia akan selalu menghadap ke mouse.
Mari mulai membuat eventnya. Klik dua kali pada bagian sheet kosong di event sheetnya. Jendela Add event akan muncul di mana kita bisa menambahkan sebuah condition baru untuk sebuah event baru.
Tiap-tiap object yang berbeda memiliki condition dan action yang berbeda tergantung apa yang bisa dilakukan oleh object tersebut. Terdapat juga sebuah object dengan nama System, yang menunjukkan kemampuan built-in dari Construct 2. Klik dua kali object Sytem nya seperti pada gambar. Dialog atau jendelanya akan memunculkan list-list condition untuk object System:
Klik dua kali condition Every tick untuk memasukkannya. Jendelanya akan ditutup dan akan muncul eventnya pada event sheet tanpa adanya action. Tampilan seperti berikut ini:
Sekarang kita ingin menambahkan sebuah action yang membuat Playernya selalu mengarah ke mouse. Klik Add action yang terletak di sebelah kanan event nya. ( Pastikan untuk klik Add action, bukan Add event yang terletak di bawahnya yang hanya akan menambahkan seluruh event yang berbeda lagi.) Jendela Add action akan muncul:
Sama seperti menambahkan event, kita memiliki daftar object yang sama dengan object pada event, hanya saja kali ini kita memilih object untuk action. Coba untuk tidak keliru antara menambahkan conditon dengan menambahkan action! Seperti pada gambar, klik dua kali pada object Player, karena Player-lah yang kita inginkan untuk selalu mengarah ke mouse. Daftar list action yang dapat digunakan untuk object Player akan muncul:
Perhatikanlah bahwa Player yang sebelumnya kita terapkan behavior 8-direction movement memiliki actionnya sendiri. Tapi untuk saat ini kita tidak akan menggunakannya dulu.
Tiap-tiap object yang berbeda memiliki condition dan action yang berbeda tergantung apa yang bisa dilakukan oleh object tersebut. Terdapat juga sebuah object dengan nama System, yang menunjukkan kemampuan built-in dari Construct 2. Klik dua kali object Sytem nya seperti pada gambar. Dialog atau jendelanya akan memunculkan list-list condition untuk object System:
Klik dua kali condition Every tick untuk memasukkannya. Jendelanya akan ditutup dan akan muncul eventnya pada event sheet tanpa adanya action. Tampilan seperti berikut ini:
Sekarang kita ingin menambahkan sebuah action yang membuat Playernya selalu mengarah ke mouse. Klik Add action yang terletak di sebelah kanan event nya. ( Pastikan untuk klik Add action, bukan Add event yang terletak di bawahnya yang hanya akan menambahkan seluruh event yang berbeda lagi.) Jendela Add action akan muncul:
Sama seperti menambahkan event, kita memiliki daftar object yang sama dengan object pada event, hanya saja kali ini kita memilih object untuk action. Coba untuk tidak keliru antara menambahkan conditon dengan menambahkan action! Seperti pada gambar, klik dua kali pada object Player, karena Player-lah yang kita inginkan untuk selalu mengarah ke mouse. Daftar list action yang dapat digunakan untuk object Player akan muncul:
Perhatikanlah bahwa Player yang sebelumnya kita terapkan behavior 8-direction movement memiliki actionnya sendiri. Tapi untuk saat ini kita tidak akan menggunakannya dulu.
Dari pada mengatur angle Playernya ke beberapa derajat, akan lebih tidak menyusahkan jika kita menggunakan action Set angle towards position. Action ini akan secara otomatis menghitung angle Playernya menjadi koordinat X dan Y sesuai dengan yang kita tentukan, kemudian mengatur angle objectnya ke titik koordinat tersebut. Klik dua kali pada action Set angle toward positon.
Sekarang Construct 2 harus mengetahui titik koordinat X dan Y untuk menghadapkan Playernya ke arah tersebut:
Ini disebut dengan action parameter. Condition juga bisa memiliki parameter, akan tetapi Every tick tidak akan membutuhkannya.
Ini disebut dengan action parameter. Condition juga bisa memiliki parameter, akan tetapi Every tick tidak akan membutuhkannya.
Kita ingin mengatur anglenya ke arah posisi mouse. Object Mouse bisa mengaturnya. Masukkan Mouse.X pada kolom X, dan Mouse.Y pada kolom Y. Itulah yang disebut dengan expression. Misalnya seperti penjumlahan yang dihitung. Sebagai contoh, kita juga bisa memasukkan Mouse.X + 100 atau sin(Mouse.Y) (meskipun contoh-contoh tersebut lumayan kurang berguna!). Dengan cara demikian, kita bisa menggunakan data apapun dari object lainnya, atau perhitungan apapun, untuk menyelesaikan atau mengerjakan parameter kita dalam action dan condition. Hal ini benar-benar sangat berguna, serta sebagai suatu sumber tersembunyi dari banyaknya fleksibilitas Construct 2.
*Apakah ada yang mendapatkan error “Mouse is not an object name”? Pastikan object Mouse nya telah ditambahkan! Kembalilah ke halaman 2 dan lihatlah pada bagian “Menambahkan object input”.
Beberapa di antara kita pasti ada yang merasa ragu bagaimana caranya mengingat seluruh expression yang dapat dimasukkan. Beruntungnya, terdapat “object panel” yang dapat kita lihat mengambang di atasnya. Secara default, panel ini tersamar supaya tidak mengganggu.
arahkan kursor mouse ke atasnya, ataupun klik di atasnya, maka panel ini akan benar-benar tampak. Di dalamnya bisa kita anggap sebagai kamus yang menyediakan seluruh expression yang dapat kita gunakan, disertakan dengan deskripsinya, untuk membantu kita mengingatnya. Jika kita klik dua kali pada sebuah object, kita akan melihat seluruh expression-nya dilistkan. Jika kita klik dua kali pada sebuah expression, maka akan dimasukkan secara otomastis ke dalam game, menghemat waktu kita untuk mengetiknya.
arahkan kursor mouse ke atasnya, ataupun klik di atasnya, maka panel ini akan benar-benar tampak. Di dalamnya bisa kita anggap sebagai kamus yang menyediakan seluruh expression yang dapat kita gunakan, disertakan dengan deskripsinya, untuk membantu kita mengingatnya. Jika kita klik dua kali pada sebuah object, kita akan melihat seluruh expression-nya dilistkan. Jika kita klik dua kali pada sebuah expression, maka akan dimasukkan secara otomastis ke dalam game, menghemat waktu kita untuk mengetiknya.
Baiklah, klik Done pada dialog parameternya. Actionnya telah ditambahkan! Seperti yang telah kita lihat sebelumnya, tampilannya akan seperti ini:
Itulah event pertama kita! Coba jalankan gamenya, kita pasti dapat memindahkan Playernya seperti sebelumnya, tapi selalu mengarah ke mouse. Iniliah sedikit custome functionality kita yang pertama.
Itulah event pertama kita! Coba jalankan gamenya, kita pasti dapat memindahkan Playernya seperti sebelumnya, tapi selalu mengarah ke mouse. Iniliah sedikit custome functionality kita yang pertama.
Menambahkan fungsi permainan
Jika setiap event dijelaskan sedetail seperti sebelumnya, ini akan menjadi tutorial yang cukup panjang. Mari kita membuat deskripsi sedikit lebih singkat untuk event berikutnya. Ingat, langkah-langkah untuk menambahkan condition atau action adalah:
1. Klik dua kali untuk menyisipkan event baru, atau klik tanda add action link untuk menambahkan suatu action.
2. Klik dua kali di objek maka condition/action akan hadir.
3. Klik dua kali condition/action yang Anda inginkan.
4. Masukkan parameter, jika diperlukan.
2. Klik dua kali di objek maka condition/action akan hadir.
3. Klik dua kali condition/action yang Anda inginkan.
4. Masukkan parameter, jika diperlukan.
Mulai sekarang, event akan dijelaskan seperti obyek, diikuti oleh condition/action, diikuti dengan parameter apapun. Misalnya, event yang baru saja kita dimasukkan dapat ditulis:
Tambahkan condition System -> Every tick
Tambahkan Action Player -> Set angle toward position -> X: Mouse.X , Y: Mouse.Y
Tambahkan Action Player -> Set angle toward position -> X: Mouse.X , Y: Mouse.Y
Membuat pemain menembak
Dalam permainan ini, Ketika pemain meng klik mouse, maka player harus menembakkan peluru. Hal ini dapat dilakukan dengan memberikan actionSpawn an object di Player, yang akan memunculkan sebuah objek baru (peluru) pada posisi dan sudut tertentu. Behavior Bullet Movement yang kita tambahkan sebelumnya maka akan membuat peluru bergerak keluar ke depan. Buatlah event berikut:
condition: mouse -> On click -> Left clicked (default)
Action: Player -> Spawn another object -> Untuk Object , Pilih objek Bullet . UntukLayer , berikan nilai 1 (Layer "Main" adalah lapisan pertama - ingat construct 2 Menghitung dari nol). Biarkan image point bernilai 0.
Action: Player -> Spawn another object -> Untuk Object , Pilih objek Bullet . UntukLayer , berikan nilai 1 (Layer "Main" adalah lapisan pertama - ingat construct 2 Menghitung dari nol). Biarkan image point bernilai 0.
Event kita sekarang seharusnya terlihat seperti ini:
Jika Anda menjalankan permainan, Anda akan melihat peluru menembak dari tengah pemain, bukan dari ujung pistol. Mari kita memperbaikinya dengan menempatkan Image Point di ujung pistol. (Sebuah image Point adalah sebuah titik posisi pada gambar.)
Jika Anda menjalankan permainan, Anda akan melihat peluru menembak dari tengah pemain, bukan dari ujung pistol. Mari kita memperbaikinya dengan menempatkan Image Point di ujung pistol. (Sebuah image Point adalah sebuah titik posisi pada gambar.)
Klik kanan pemain dalam proyek atau objek bar dan pilih Edit animation .
Image editor untuk pemain muncul kembali. Klik tool Origin and image points:
... dan dialog image points pun terbuka:
Perhatikan imager point objek asal muncul sebagai titik merah. Itulah "hotspot" atau "titik poros" dari objek. Jika Anda memutar objek, maka objek akan berputar bersumbu pada titik tersebut. Kita menginginkan untuk menambahkan image point lain pada pistol, jadi klik tombol hijau add button . Sebuah titik biru muncul - itu adalah image point baru kita. klik kiri pada akhir pistol player untuk menempatkan image point:
Tutup jendela image editor. Klik dua kali action Spawn an object yang telah kita tambahkan sebelumnya, dan rubah Image Point Gambar ke 1 . (The Origin selalu menjadi image point gambar yang pertama, dan ingat Construct 2 Menghitung dari nol.) Event kita sekarang harus terlihat seperti di bawah ini - catatan : sekarang image point akan bernilai 1 :
Jalankan permainan. Peluru sekarang menembak dari ujung pistol Anda! Peluru tidak melakukan apa pun, meskipun. Namun, Mudah-mudahan, Anda akan mulai menyadari bahwa sekarang setelah Anda paham dengan event, anda bisa membuat sebuah fungsi (event) dengan cepat.
Image editor untuk pemain muncul kembali. Klik tool Origin and image points:
... dan dialog image points pun terbuka:
Perhatikan imager point objek asal muncul sebagai titik merah. Itulah "hotspot" atau "titik poros" dari objek. Jika Anda memutar objek, maka objek akan berputar bersumbu pada titik tersebut. Kita menginginkan untuk menambahkan image point lain pada pistol, jadi klik tombol hijau add button . Sebuah titik biru muncul - itu adalah image point baru kita. klik kiri pada akhir pistol player untuk menempatkan image point:
Tutup jendela image editor. Klik dua kali action Spawn an object yang telah kita tambahkan sebelumnya, dan rubah Image Point Gambar ke 1 . (The Origin selalu menjadi image point gambar yang pertama, dan ingat Construct 2 Menghitung dari nol.) Event kita sekarang harus terlihat seperti di bawah ini - catatan : sekarang image point akan bernilai 1 :
Jalankan permainan. Peluru sekarang menembak dari ujung pistol Anda! Peluru tidak melakukan apa pun, meskipun. Namun, Mudah-mudahan, Anda akan mulai menyadari bahwa sekarang setelah Anda paham dengan event, anda bisa membuat sebuah fungsi (event) dengan cepat.
Mari kita membuat peluru membunuh monster. Tambahkan event berikut:
Condition: Bullet -> On collision with another object -> pilih Monster.
Action: Monster -> Destroy
Action: Bullet -> Spawn another object -> Explosion, layer 1
Action: Bullet -> Destroy
Action: Monster -> Destroy
Action: Bullet -> Spawn another object -> Explosion, layer 1
Action: Bullet -> Destroy
Efek ledakan
Jalankan permainan, dan coba menembak monster. Ups, ledakan memiliki tepi hitam besar!
Anda mungkin telah memperkirakan itu akan terlihat seperti itu dari awal, dan bertanya-tanya apakah permainan kita benar-benar akan berakhir seperti itu! Jangan khawatir, tidak akan. Klik objek Ledakan baik dalam objek bar di kanan bawah, atau bar Project (tab dengan layer bar). Properties muncul di properti bar di sebelah kiri. Di bagian bawah, aturlah Blend mode properti ke Aditif . Sekarang coba mainkan game nya lagi.
bagaimana cara kerja nya? Tanpa perlu membahas hal teknis , ketika gambar biasa yang disisipkan di atas layar. Dengan efek aditif, setiap pixel akanmenambahkan (seperti didalam, dijumlahkan) dengan pixel latar belakangnya. Hitam adalah nilai awal pixel, sehingga tidak ada yang akan ditambahkan - Anda tidak melihat latar belakang hitam. Warna cerah menambahkan, sehingga tampil lebih kuat. Ini bagus untuk ledakan dan efek pencahayaan.
Anda mungkin telah memperkirakan itu akan terlihat seperti itu dari awal, dan bertanya-tanya apakah permainan kita benar-benar akan berakhir seperti itu! Jangan khawatir, tidak akan. Klik objek Ledakan baik dalam objek bar di kanan bawah, atau bar Project (tab dengan layer bar). Properties muncul di properti bar di sebelah kiri. Di bagian bawah, aturlah Blend mode properti ke Aditif . Sekarang coba mainkan game nya lagi.
bagaimana cara kerja nya? Tanpa perlu membahas hal teknis , ketika gambar biasa yang disisipkan di atas layar. Dengan efek aditif, setiap pixel akanmenambahkan (seperti didalam, dijumlahkan) dengan pixel latar belakangnya. Hitam adalah nilai awal pixel, sehingga tidak ada yang akan ditambahkan - Anda tidak melihat latar belakang hitam. Warna cerah menambahkan, sehingga tampil lebih kuat. Ini bagus untuk ledakan dan efek pencahayaan.
Membuat Monster sedikit lebih pintar
Sekarang monster hanya berkeliaran di layout ke kanan. Mari kita membuat mereka sedikit lebih menarik. Pertama-tama, mari kita arahkan mereka pada sudut menuju acak.
Condition: System -> On start of Layout
Action: Monster -> Set angle -> random(360)
Mereka masih akan berkeliaran selamanya, ketika mereka meninggalkan layout, maka akan tidak pernah terlihat lagi. Mari kita menjaga mereka di dalam layout. Apa yang akan kita lakukan adalah mengarahkan mereka kembali pada pemain ketika mereka meninggalkan Lay out. Ini memerlukan dua hal: mereka selalu tetap dalam tata letak, dan jika pemain masih berdiri, monster datang tepat kearah pemain!
Action: Monster -> Set angle -> random(360)
Mereka masih akan berkeliaran selamanya, ketika mereka meninggalkan layout, maka akan tidak pernah terlihat lagi. Mari kita menjaga mereka di dalam layout. Apa yang akan kita lakukan adalah mengarahkan mereka kembali pada pemain ketika mereka meninggalkan Lay out. Ini memerlukan dua hal: mereka selalu tetap dalam tata letak, dan jika pemain masih berdiri, monster datang tepat kearah pemain!
Condition: Monster -> Is outside layout
Action: Monster -> Set angle toward position -> For X, Player.X - for Y, Player.Y.
Action: Monster -> Set angle toward position -> For X, Player.X - for Y, Player.Y.
Jalankan permainan. Jika Anda bermain untuk sementara waktu, Anda akan melihat monster tinggal di sekitar layout, dan mereka akan bergerak ke segala arah.
Sekarang, misalkan kita ingin menembak monster lima kali sebelum meninggal, daripada kematian instan seperti itu pada saat ini. Bagaimana caranya? Jika kita hanya menyimpan satu nilai "Health", kemudian setelah kita telah memukul monster lima kali, semua monster akan mati. Sebaliknya, kita perlu setiapmonster memiliki sendiri nilai health nya. Kita dapat melakukannya denganInstance variable .
Variabel Instance
Variabel misalnya memungkinkan setiap rakasa untuk menyimpan nilai kesehatan sendiri. Variabel adalah hanya nilai yang dapat mengubah (ataubervariasi ), dan mereka disimpan secara terpisah untuk setiap contoh, maka nama variabel contoh .
Mari menambahkan kesehatan variabel misalnya untuk rakasa kami. Klik rakasa di bar proyek atau objek bar. Atau, Anda dapat beralih kembali ke tata letak dan pilih objek rakasa. Ini akan menunjukkan sifat rakasa itu di properti bar. KlikAdd / mengedit oleh Sunting variabel .
Dialog Variabel Instance muncul. Ini terlihat mirip dengan dialog Perilaku kita lihat sebelumnya, tetapi memungkinkan Anda untuk menambah dan mengubah variabel contoh untuk objek. Klik hijau Add tombol untuk menambahkan yang baru.
Pada dialog yang muncul, ketik kesehatan untuk nama, meninggalkan Jenissebagai Nomor , dan untuk nilai Initial masukkan 5 (seperti yang ditunjukkan). Ini dimulai setiap rakasa pada 5 kesehatan. Ketika mereka tertabrak kita akan kurangi 1 dari kesehatan, dan kemudian ketika kesehatan adalah nol kita akan menghancurkan objek.
Dialog Variabel Instance muncul. Ini terlihat mirip dengan dialog Perilaku kita lihat sebelumnya, tetapi memungkinkan Anda untuk menambah dan mengubah variabel contoh untuk objek. Klik hijau Add tombol untuk menambahkan yang baru.
Pada dialog yang muncul, ketik kesehatan untuk nama, meninggalkan Jenissebagai Nomor , dan untuk nilai Initial masukkan 5 (seperti yang ditunjukkan). Ini dimulai setiap rakasa pada 5 kesehatan. Ketika mereka tertabrak kita akan kurangi 1 dari kesehatan, dan kemudian ketika kesehatan adalah nol kita akan menghancurkan objek.
Setelah selesai klik OK. Perhatikan variabel sekarang muncul dalam dialog variabel misalnya dan juga di properti untuk rakasa juga. (Anda dapat dengan cepat mengubah nilai awal pada properti bar, tapi untuk menambah atau menghapus variabel Anda harus mengklik Tambah / Edit Link.)
Changing Peristiwa
Beralih kembali ke lembar acara. Sekarang, kita menghancurkan monster secepat peluru hits mereka. Mari kita mengubah itu untuk mengurangi 1 dari kesehatan.
Cari acara yang bertuliskan: Bullet - tabrakan dengan Rakasa . Perhatikan kita punya "menghancurkan rakasa" tindakan. Mari kita ganti bahwa dengan "kurangi 1 dari kesehatan". Klik kanan "menghancurkan rakasa" tindakan dan klik Ganti .
Dialog yang sama muncul seolah-olah kita memasukkan tindakan baru, tapi kali ini akan menggantikan tindakan kita diklik gantinya. Pilih Rakasa -> Kurangi dari(di variabel Instance kategori) -> variabel Instance "kesehatan", dan masukkan 1untuk Nilai . Klik Selesai . Tindakan seharusnya sekarang muncul seperti ini:
Sekarang ketika kita menembak monster mereka kehilangan 1 kesehatan dan meledak peluru, tapi kami belum membuat sebuah acara untuk membunuh monster ketika kesehatan mereka mencapai nol. Tambahkan acara lain:
Dialog yang sama muncul seolah-olah kita memasukkan tindakan baru, tapi kali ini akan menggantikan tindakan kita diklik gantinya. Pilih Rakasa -> Kurangi dari(di variabel Instance kategori) -> variabel Instance "kesehatan", dan masukkan 1untuk Nilai . Klik Selesai . Tindakan seharusnya sekarang muncul seperti ini:
Sekarang ketika kita menembak monster mereka kehilangan 1 kesehatan dan meledak peluru, tapi kami belum membuat sebuah acara untuk membunuh monster ketika kesehatan mereka mencapai nol. Tambahkan acara lain:
Kondisi: Rakasa -> Bandingkan variabel contoh -> Kesehatan, Kurang atau sama , 0
Aksi: Rakasa -> Telur ikan objek lain -> Ledakan, lapisan 1
Aksi: Rakasa -> Hancurkan
Mengapa "kurang atau sama 0" bukan "sama dengan 0"? Misalkan kita menambahkan lagi senjata yang lebih kuat yang dikurangi 2 dari kesehatan. Ketika Anda menembak rakasa, kesehatan akan pergi 5 , 3 , 1 , - 1 , - 3 ... pemberitahuan tanpa titik yang kesehatan langsung sama dengan nol , sehingga tidak pernah mati! Oleh karena itu, praktek yang baik untuk menggunakan "kurang atau sama" untuk menguji apakah kesehatan sesuatu telah habis.
Aksi: Rakasa -> Telur ikan objek lain -> Ledakan, lapisan 1
Aksi: Rakasa -> Hancurkan
Mengapa "kurang atau sama 0" bukan "sama dengan 0"? Misalkan kita menambahkan lagi senjata yang lebih kuat yang dikurangi 2 dari kesehatan. Ketika Anda menembak rakasa, kesehatan akan pergi 5 , 3 , 1 , - 1 , - 3 ... pemberitahuan tanpa titik yang kesehatan langsung sama dengan nol , sehingga tidak pernah mati! Oleh karena itu, praktek yang baik untuk menggunakan "kurang atau sama" untuk menguji apakah kesehatan sesuatu telah habis.
Menjalankan permainan. Anda sekarang harus memukul monster lima kali untuk membunuh mereka!
Menjaga nilai
Mari kita skor jadi pemain tahu seberapa baik mereka lakukan. Kita akan membutuhkan variabel lain untuk ini. Anda mungkin berpikir "memungkinkan menempatkan nilai sebagai salah satu variabel contoh pemain!". Itu bukan buruk ide pertama, tapi ingat nilai disimpan "di" objek. Jika tidak ada kasus, tidak ada variabel baik! Jadi jika kita menghancurkan pemain, kita tidak bisa lagi mengatakan apa nilai mereka, karena itu dihancurkan dengan pemain.
Sebaliknya, kita dapat menggunakan variabel global . Seperti variabel contoh, variabel global (atau hanya "global") dapat menyimpan teks atau nomor. Masing-masing variabel dapat menyimpan satu nomor atau satu bagian dari teks. Variabel global juga tersedia untuk seluruh permainan di semua layout - nyaman jika kita menambah tingkat lain.
Klik kanan ruang di bagian bawah lembar acara, dan pilih Tambahkan variabel global .
Masukkan Score sebagai nama. Default bidang lain yang OK, itu akan membuat sejumlah mulai dari 0.
Sekarang variabel global muncul sebagai garis dalam lembar acara. Ini dalam lembar acara ini, tetapi dapat diakses dari sheet acara di tata letak apapun.
Catatan: ada juga variabel lokal yang hanya dapat diakses oleh lebih kecil "lingkup" peristiwa, tapi kita tidak perlu khawatir tentang itu sekarang.
Masukkan Score sebagai nama. Default bidang lain yang OK, itu akan membuat sejumlah mulai dari 0.
Sekarang variabel global muncul sebagai garis dalam lembar acara. Ini dalam lembar acara ini, tetapi dapat diakses dari sheet acara di tata letak apapun.
Catatan: ada juga variabel lokal yang hanya dapat diakses oleh lebih kecil "lingkup" peristiwa, tapi kita tidak perlu khawatir tentang itu sekarang.
Mari kita memberikan pemain titik untuk membunuh rakasa. Dalam "Rakasa: kesehatan kurang atau sama 0" kami acara (ketika rakasa meninggal), klik Addtindakan , dan pilih Sistem -> Tambahkan ke (bawah global & variabel lokal) ->Skor , nilai 1 . Sekarang acara akan terlihat seperti ini:
Sekarang Player telah memiliki skor, yang akan bertambah 1 setiap monter terbunuh -
Sekarang Player telah memiliki skor, yang akan bertambah 1 setiap monter terbunuh -
Credit www.scirra.com/
Cara nya jadikan aplikasi gimana gusy. Agar tampil didestop dan bisa dimainkan
BalasHapus