Dasar pembuatan game dengan Flash. bagian 2:Akselerasi Gerakan

AKSELERASI

Tutorial berseri ini adalah lanjutan dari bagian 1 sebelumnya yang membahas tentang kontrol dan gerakan dasar pesawat.

Sejauh ini, gerakan yang terjadi sangatlah mendasar dan terasa kurang realistis.. masih terasa ada hal yang kurang, yaitu akselerasi..
Biar pengontrolan pesawat lebih realistis sekaligus menambah kesulitan game, maka kita terapkan akselerasi dalam pergerakan. untuk itu kita harus sedikit mengingat kembali pelajaran fisika.. heh?,
tenang aja fisika yang dipake mendasar kok..

Nantinya hasilnya akan seperti berikut ini (gunakan tombol panah untuk menggerakkan pesawat):

menurut fisika, ada namanya kecepatan dan percepatan (dan perlambatan)..
saat kita menggerakkan pesawat, misal maju (dengan menekan gas), maka pesawat tidak akan bergerak dengan kecepatan langsung konstan, melainkan kecepatannya naik secara bertahap hingga kecepatan maksimalnya.. demikian pula kalo kita melepas pedal gas, maka sebelum berhenti, pesawat akan mengalami perlambatan.. (btw sejak kapan pesawat punya pedal gas.. :-p, ah sekedar contoh aja)

untuk itu dalam game ini kita definisikan 3 konstanta baru, yaitu percepatan,perlambatan,kecepatan maksimal, (untuk kecepatan minimal pasti bernilai 0, jadi enggak usah didefinisikan)

kebiasaan saya suka menaruh konstanta global di frame paling awal di layer khusus action tersendiri..
klik frame pertama, tekan F9 dan masukkan kode berikut

_root.percepatan = 4;
_root.perlambatan = 1;
_root.speedmax = 12;

karena konstanta berlaku global, maka ditulis di _root. sengaja saya beri awalan _root memberi tahu bahwa variabel itu di level _root.. (agar tidak bingung aja)

lalu ubah kode di pesawat_player menjadi berikut

onClipEvent (enterFrame) {
  this._x += speed_x;
  this._y += speed_y;

  if (Key.isDown(Key.RIGHT)) {
	// gerak ke kanan
	if (speed_x < _root.speed_max) speed_x+=_root.percepatan;
	//speed_x = 4;
  }
  if (Key.isDown(Key.LEFT)) {
	// gerak ke kiri
	if (speed_x > -_root.speed_max) speed_x-=_root.percepatan;
  }
  if (Key.isDown(Key.UP)) {
	// gerak ke atas
	if (speed_y > -_root.speed_max) speed_y-=_root.percepatan;
  }
  if (Key.isDown(Key.DOWN)) {
	// gerak ke bawah
	if (speed_y < _root.speed_max) speed_y+=_root.percepatan;
  }

  if ((not Key.isDown(Key.RIGHT)
	  and not Key.isDown(Key.LEFT))
	  or (not Key.isDown(Key.UP)
	  and not Key.isDown(Key.DOWN))
	  ) {
    if (speed_x>0) speed_x-=_root.perlambatan;
    else if (speed_x<0) speed_x+=_root.perlambatan;
    if (speed_y>0) speed_y-=_root.perlambatan;
    else if (speed_y<0) speed_y+=_root.perlambatan;
  }

}

perhatikan bedanya, lebih asyik khan

source:pesawat01_2.fla

Download Source Code


Bookmark and Share Tell a Friend

18 Comments »

  • Feri   |   July 16th, 2009 at 7:01 pm

    Saya sangat tertarik dg artikel di atas, apakah Macromedia Flash mx ini dapat d gunakan utk mmbuat brbagai macam kategori game (action, adventure, RPG, dll) ? Dan bisa dgunakan sampek finishing nya nggak, atau perlu aplikasi lain ? Thanks

  • BayuBayu   |   July 27th, 2009 at 12:25 pm

    Flash bisa digunakan untuk bikin berbagai game yg anda sebutkan td.. sampe finishingnya :-). Pada dasarnya flash bisa melakukan hampir semua, mulai dari desain/gambar (jika vector/kartun), animasi, hingga programming.

    Dan semakin hebat lagi jika ditunjang aplikasi lainnya:
    Untuk gambar bertipe bitmap, dibutuhkan program image editor semacam photoshop, gimp, dll…
    Untuk sound dan music, dibutuhkan program audio editor semacam audacity :-)

    kalo mau lebih kreatif lagi, kita bisa memanfaatkan gambar 3D prerendered dari aplikasi 3D semacam Blender.

  • ipoenk   |   December 5th, 2009 at 9:32 am

    Mas pny tutorial tips & trik buat game dengan menggunakan flash, klo da krim ke Email qu yaaaaaaaaaaaaaaaa……!!!

  • ive   |   December 6th, 2009 at 2:15 pm

    asyik juga bwt koding di flash,boleh minta source code lain untuk bwt game nih.karena ada tugas besar buat game dari flash tapi harus ada codingannya hehe

  • eriq   |   January 2nd, 2010 at 4:30 pm

    Siip tutorialnya,,,,

    dx += time * speed;
    dy += time * speed;

    :)

  • Dani   |   December 17th, 2010 at 10:44 pm

    Thanks banget buat codingannya…!
    semoga kedepannya akan di tampilkan yang lebih banyak dan canggih.

  • guest   |   January 22nd, 2011 at 4:56 pm

    kok malah ndak jalan???mohon bantuannya

  • paul   |   April 27th, 2011 at 10:17 am

    weyzzz mantap …….

    bleh mnta tutornya lengkap mas…???

    klo boleh kirim lwat email ya…….!!!!

    thanks bngt nih……

    mantaaaaaap…………..

  • muktionodimi   |   August 21st, 2011 at 1:47 pm

    mas… kog gakbisa… tolong jelaskan lebih detail lagi mengenai frame.. thx

  • om_om   |   October 23rd, 2011 at 7:09 pm

    UP

    LEFT RIGHT

    DOWN

    maksudnya, baru bisa maju mundur + kanan kiri yawh….
    Event Lainnya apa Lagi??? :)

  • mukhlis   |   December 19th, 2011 at 12:35 pm

    wah!!! qren y,stlah dicoba gerak objekny sangat ‘mulus’ beda dgn gerak objek sprti biasanya. Btw mas, bs minta source code complete step by step tutorialnya gk..? klo ad kirim ke email aq y.. soalnya gw tertarik bnget nih game djadikn judul, thnks y mas bayu smoga makin maju.

  • Zkiba Zaisin   |   December 24th, 2011 at 12:39 am

    Asek-Asek… kasih tutor pesawatnya menembakkan peluru donk mas bayu, trus sasarannya hilang atau hancur gthu… :)

  • Zkiba Zaisin   |   December 24th, 2011 at 12:47 am

    oh iya mas bayu, ternyata setelah diganti codenya, pesawat tadi malah gk bergerak sma skali, gmna nih? pdahal di periksa udh bner codenya…

  • pendosa   |   February 16th, 2012 at 1:43 am

    _root.percepatan = 4;
    _root.perlambatan = 1;
    _root.speedmax = 12;

    jadi

    _root.percepatan = 4;
    _root.perlambatan = 1;
    _root.speed_max = 12;

  • namikaze_YL   |   May 28th, 2013 at 3:32 pm

    pas codingannya di ganti jdi gak gerak,,gan :/

  • Mebel Ukir Jepara   |   February 13th, 2014 at 8:22 am

    artikelnya sangat bagus

  • Kader   |   April 18th, 2017 at 9:12 pm

    Bang minta link download aplikasi flashnya.

  • jepara   |   August 26th, 2017 at 8:18 am

    Cocok juga coodingnya, bisa buat praktek di rumah

RSS feed for comments on this post. TrackBack URL

Leave a comment