08
Nov

Memantulkan Bola

Written by admin


Kali ini kita akan mempelajari cara memantulkan bola/lingkaran. Ada dua cara yang akan kami berikan yaitu dengan menggunakan hitTest dan dengan mendekteksi x dan y. Untuk hitTest kita akan membuat 4 buah persegi panjang yang akan ditempatkan di ke empat sisi stage bagian luar. Apabila bola menyentuh persegi panjang ini maka memantul. Namun penggunaan hitTest ini kadang menimbulkan masalah. Masalah tersebut berupa gerakan pantulan yang menjadi aneh. Mislanya ketika bolanya terkena batas bawah maka akan memantul ke atas tetapi baru memantul sedikit saja bola sudah memantul ke bawah.

Jika masalah tersebut terjadi, silahkan menggunakan alternatif kedua yaitu dengan mendekteksi x dan y. Berikut 2 cara memantulkan bola :

A. Dengan hitTest

1. Buatlah sebuah flash document 400×400 pixel.

2. Buatlah sebuah persegi panjang berwarna merah dengan panjang 400 dan lebar 40. Seleksi persegi panjang ini dan tekan F8. Pada panel yang muncul masukkan batas sebagai name dan movie clip sebagai type lalu tekan ok.

3. Seleksi movie clip ini dan tekan Ctrl+D sebanyak 3 kali sehingga di stage muncul 4 buah movie clip batas. Seleksi 2 buah movie clip dari 4 buah movie clip yang ada dan ubah panjangnya menjadi 40 dan lebarnya menjadi 400.

4. Letakkan 2 buah movie clip batas yang berbentuk lurus keluar stage bagian atas dan bawah. Letakkan 2 buah movie clip batas yang berbentuk tegak keluar stage bagian kanan dan kiri.

5. Seleksi movie clip batas yang terletak di luar stage bagian atas kemudian tekan Ctrl+F3. Pada panel properties yang muncul masukkan atas sebagai instance name.

6. Seleksi movie clip batas yang terletak di luar stage bagian bawah kemudian pada panel properties masukkan bawah sebagai instance name.

7. Seleksi movie clip batas yang terletak di luar stage bagian kanan kemudian pada panel properties masukkan kanan sebagai instance name.

8. Seleksi movie clip batas yang terletak di luar stage bagian kiri kemudian pada panel properties masukkan kiri sebagai instance name.

9. Sehingga stage akan terlihat seperti gambar di bawah ini :

peletakan-batas

10. Buatlah sebuah lingkaran berwarna kuning dengan biru sebagai warna garisnya. Seleksi lingkaran ini dan tekan F8. Pada panel yang muncul masukkan bola sebagai name dan movie clip sebagai type lalu tekan ok.

11. Seleksi movie clip bola ini dan pada panel properties masukkan bola sebagai instance name. Letakkan movie clip bola ini di tengah-tengah stage.

12. Klik frame 1 dan tekan F9. Pada panel actions yang muncul masukkan script berikut :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//membuat variable kecepatanX dengan nilai 20
kecepatanX = 20;
//membuat variable kecepatanY dengan nilai 18
kecepatanY = 18;
//perintah yang dijalankan ketika frame pada movie clip bola dimainkan
bola.onEnterFrame = function() {
	//jika movie clip ini menabrak movie clip berinstance name atas atau bawah
	if (this.hitTest(atas) || this.hitTest(bawah)) {
		//minuskan nilai variable kecepatanY 
		kecepatanY = -kecepatanY;
	}
	//jika movie clip ini menabrak movie clip berinstance name kanan atau kiri  
	if (this.hitTest(kanan) || this.hitTest(kiri)) {
		//minuskan nilai variable kecepatanX 
		kecepatanX = -kecepatanX;
	}
	//koordinat x movie clip ini ditambah nilai kecepatanX 
	this._x += kecepatanX;
	//koordinat y movie clip ini ditambah nilai kecepatanY
	this._y += kecepatanY;
};

13. Tekan Ctrl+Enter untuk melihat hasilnya.

B. Dengan mendekteksi x dan y

1. Buatlah sebuah flash document 400×400 pixel.

2. Buatlah sebuah lingkaran berwarna kuning dengan biru sebagai warna garisnya. Seleksi lingkaran ini dan tekan F8. Pada panel yang muncul masukkan bola sebagai name dan movie clip sebagai type lalu tekan ok.

3. Seleksi movie clip bola ini dan tekan Ctrl+F3. Pada panel properties yang muncul masukkan bola sebagai instance name. Letakkan movie clip bola ini di tengah-tengah stage.

4. Klik frame 1 dan tekan F9. Pada panel actions yang muncul masukkan script berikut :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
kecepatanX = 20;
//membuat variable kecepatanY dengan nilai 18
kecepatanY = 18;
//perintah yang dijalankan ketika frame pada movie clip bola dimainkan
bola.onEnterFrame = function() {
	//jika koordniat y movie clip ini berada kurang dari 30 atau lebih dari 370
	if (this._y<30 || this._y>370) {
		//minuskan nilai variable kecepatanY 
		kecepatanY = -kecepatanY;
	}
	//jika koordniat x movie clip ini berada kurang dari 30 atau lebih dari 370 
	if (this._x<30 || this._x>370) {
		//minuskan nilai variable kecepatanX 
		kecepatanX = -kecepatanX;
	}
	//koordinat x movie clip ini ditambah nilai kecepatanX    
	this._x += kecepatanX;
	//koordinat y movie clip ini ditambah nilai kecepatanY
	this._y += kecepatanY;
};

5. Tekan Ctrl+Enter untuk melihat hasilnya.

Kelebihan dengan menggunakan hitTest dibanding dengan mendekteksi x dan y adalah anda hanya tinggal meletakkan movie clip batasnya saja. Sedangkan dengan mendekteksi x dan y anda harus menentukan koordinatnya terlebih dahulu. Namun demikian penggunaan hitTest terkadang menimbulkan masalah seperti yang dikatakan di atas.

Sourcenya dapat di download di sini

Apakah tutorial di atas menarik atau bermanfaat bagi anda? Bantulah Warung Flash agar tetap ada dan memberikan tutorial-tutorial yang lebih bagus dan bermanfaat lagi. Silahkan klik link berikut ini untuk lebih jelasnya : Bantu Warung Flash



Bookmark and Share

8 Responses to “Memantulkan Bola”

  1. Daniel Says:

    oke mas, yg ini sdh bisa, baru ja nyobanya, tapi misal kalo mo nambahin link, misal bolanya tetep gerak tapi jika diklik maka akan menuju ke halaman web yg ditentukan, gimana ya? kan itu movie clip, bkn button :-SS

  2. admin Says:

    Untuk membuka halaman web coba tutorial berikut : http://warungflash.com/2009/08/membuat-link-pada-teks-atau-gambar/

  3. Hilmi Says:

    mas, kalo mo bikin animasi hujan jatuh ke genangan air dan kemudian ada animasi riak air-nya gimana mas?

    thanks, before.

    :hope: :)

  4. admin Says:

    Akan kami coba buatkan. Tapi kami tidak tahu kapan pasti jadinya. Soalnya kami juga sedang sibuk :respect:

  5. VIA Says:

    SUSAH JUGA TERNYATA… ~x(

  6. admin Says:

    Susahnya yang bagian mana?

  7. sikile_kuneng Says:

    mas kalo mo membuat link tapi link buat menampilkan tab flash baru gmna ya? jadi kalo di click kluar tab baru yang bisa di geser2….. tlg tutorialnya mas….. : @-)

  8. admin Says:

    Kalau tab kami kurang tahu. Atau mungkin maksud anda muncul swf baru? Kalau iya, itu scriptnya pake load movie http://warungflash.com/2009/08/loadmovienum/

Leave a Reply

B-) =D> <:-P ;)) ;) :yeye: :respect: :peace: :p :idea: :hope: :I: :D :-SS :-? :-/ :)) :) :(( 8-> more »

Komentar yang berisi pertanyaan atau request tutorial kemungkinan besar tidak bisa kami jawab dan penuhi. Hal ini dikarenakan kesibukan kami yang padat . Oleh karena itu kami mohon maaf dan pengertiannya.