Membuat Game simple menggunakan Flash dengan Keyboard(Part 2)


Ini adalah kelanjutan dari Membuat game simple menggunakan Flash dengan Mouse(Part 1)


selanjutnya kita akan mencoba menggunakan keyboard untuk mengendalikan object pada flash

/*
* author jasaprintkosan@gmail.com
* muhammad Yasin
* Mouse Event with flash
*/
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;

public class Pemandangan extends MovieClip
{

var startpage:StartPage;
var middlepage:MiddlePage;
var endpage:EndPage;


public function Pemandangan()
{
// constructor code
startpage=new StartPage();
middlepage=new MiddlePage();
endpage=new EndPage();


trace("Hello World");

init();
}

public function init()
{
addChild(startpage);
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownStart);
}

public function onKeyDownStart(event:KeyboardEvent)
{
if(event.keyCode == Keyboard.LEFT){
startpage.women.x-=10;
}else if(event.keyCode == Keyboard.RIGHT){
startpage.women.x+=10;
}else if(event.keyCode == Keyboard.DOWN){
startpage.women.y-=10;
}else if(event.keyCode == Keyboard.UP){
startpage.women.y+=10;
}
}
}

}

Jika anda test maka yang terjadi anda bisa menggerakkan karakter women.

flash with keyboard part 1
keyboard women

anda bisa mendownloadnya disini


Kekurangan: 
  • Pada percobaan di atas anda tidak bisa membuat setiap karakter di stage yang berbeda bergerak. karena jika anda memanggil movieclip/stage kuning maka movieclip yang lain di anggap kosong atau tidak terbaca.(pemanggilan menggunakan addChild) 


Selanjutnya Saya akan membuat basic untuk keyboard yang sama.
namun ada beberapa hal yang anda tidak bisa lakukan pertama anda tidak bisa menggunakan stage kosong pada file fla seperti yang kita coba di atas di karenakan kita akan menggunakan fungsi ENTER_FRAME, yang akan jalan pertama kali. jika kita menggunakan addchild sedangkan pada fungsi ENTER_FRAME memanggil object tersebut maka akan memberikan info error. Berikut penjelasan dalam bentuk gambar:

jangan mengexport movieclip library ke actionscript
jangan memanggil movieclip di library dengan addchild

Jika anda melakukan 2 hal di atas maka yang terjadi adalah :
error karena function enter frame mencari object player

Berikut ini adalah script untuk menbuat simple game menggunakan keyboard. Jika anda bingung anda dapat melihat artikel sebelumnya.


/*
* author jasaprintkosan@gmail.com
* muhammad Yasin
* Keyboard Event with flash
*/
package  {

import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.events.Event;

public class percobaanKeyboard extends MovieClip {
var vx:int;
var vy:int;


public function percobaanKeyboard() {
// constructor code


init();

}

public function init()
{
vx=0;
vy=0;

stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownStart);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUpStart);
addEventListener(Event.ENTER_FRAME, onEnterFrameStart);
}


public function onKeyDownStart(event:KeyboardEvent)
{
if(event.keyCode == Keyboard.LEFT){
vx=-5;
player.mata.mata_kiri.gotoAndStop(2);
player.mata.mata_kanan.gotoAndStop(2);
player.mulut.gotoAndStop(3)
}else if(event.keyCode == Keyboard.RIGHT){
vx=5;
player.mata.mata_kiri.gotoAndStop(3);
player.mata.mata_kanan.gotoAndStop(3);
player.mulut.goto
}else if(event.keyCode == Keyboard.DOWN){
vy=-5;
}else if(event.keyCode == Keyboard.UP){
vy=5;
}
}

public function onKeyUpStart(event:KeyboardEvent)
{
if(event.keyCode == Keyboard.LEFT || event.keyCode == Keyboard.RIGHT){
vx=0;
player.mata.mata_kiri.gotoAndStop(1);
player.mata.mata_kanan.gotoAndStop(1);
}else if(event.keyCode == Keyboard.UP ||event.keyCode == Keyboard.DOWN){
vy=0;
}
}

public function onEnterFrameStart(event:Event)
{
player.x+=vx;
player.y+=vy;

}

}

}


selanjutnya anda bisa menggerakkan karakter anda.

hasil keyboard
Anda bisa mencoba script di atas dengan mendownload di sini



selemat mencoba...

Perbedaan Keyboard event antara yang pertama dan kedua adalah :

  • Yang pertama menggerakkan karakter dengan mengubah posisi player, yang ke dua menggerakkan karakter dengan menambahkan kecepatan yaitu vx.
  • Yang pertama tidak menggunakan enter frame sedangkan yang kedua menggunakannya.



Comments

  1. Water Hack Burns 2 lb of Fat OVERNIGHT

    More than 160000 women and men are using a simple and SECRET "liquid hack" to drop 2 lbs each and every night in their sleep.

    It's very easy and it works on everybody.

    Here's how to do it yourself:

    1) Go grab a glass and fill it up with water half the way

    2) Now follow this amazing HACK

    and you'll be 2 lbs thinner the next day!

    ReplyDelete

Post a Comment

Popular posts from this blog

10 CMS untuk Forum

11 Website yang Membayar Anda untuk Meng-upload File

10 Soal Ujian dari Perusahaan untuk Web Programmer