Frame 1>>>Pinball

Frame 1

	
	
/*http://www.duriyan.cjb.net/
==================================================
|Semua code ini adalah untuk pelajaran semata-mata
Hakcipta terpelihara, Anda dilarang menggunakannya untuk tujuan komersil.|
==================================================
  ** www.duriyan.cjb.net
   **
  <(  )>
  <(   )>
  <(   )>
   <( )>


*/


//Mulakan
//======Set=========
tetikus = "x guna"; //var Bagi mouse berfungsi seperti biasa atau tertumpu
block = null; //nilai block yang ada kat stage
jejak = true; 
laju = 20; //Kelajuan bola 
t = 1;//var +ve atau -ve
ball._x = random(400); // lempar bola pada permulaan
ball._rotation = 100; //setkan arah bola bergerak
//======End Set======
//Fungsi bola bergerak, batasannya dan arah bola boleh gerak
function moveBall() {
	//penahan = nama movieClip yang menjadi penahan bola supaya melambung ke atas
	lebarKiri = penahan._x-35; //ambik nilai x penahan belah kiri
	lebarKanan = penahan._x+35; //ambik nilai x penahan belah kanan
	lineAtas = penahan._y+5; //ambik nilai y penahan ketebalan atas
	lineBawah = penahan._y-5;//ambik nilai y penahan ketebalan bawah
	//Jika bola kena pada penahan apa yang harus berlaku ?
	//==Start 
	/*Penjelasan arah bola>>
	terdapat 2 paksi-x dan paksi-y
	bahagikan kepada empat. Seperti >

============graf Y melawan X===============
	        90-darjah+ve
	          paksi-y
	           ^
	           |
	           |
	           |
180-darjah+ve      |
-----------------------------------> paksi-x 0-darjah+ve
-180-darjah-ve     |                 0-darjah-ve
		   |
	           |
	           |
	     -90-darjah-ve
==============================================	
			
jika dalam lingkungan 0-90 darjah+ve maka bola akan ke arah timur laut
jika dalam lingkungan 90-180 darjah+ve maka bola akan ke arah barat laut
jika dalam lingkungan -0-(-90) darjah-ve maka bola akan ke arah tenggara 
jika dalam lingkungan -90-(-180) darjah-ve maka bola akan ke arah barat daya
				
Ada paham. Kalau tak paham copy je la.
Atau lama sikit baru paham.
Perhatian! Dalam pada bola mengarah ke arah tuju tadi. Pendaraban laju dengan kos dan darjah
		   mengambil peranan memesongkan ke arah yang lebih spesifik.
	*/
	//jika kena pada penahan bahagian kanan
	if (ball._x>penahan._x and ball._xlineBawah) {
		ball._rotation = 10; //arah timur laut
	}
	//jika kena pada penahan bahagian kiri
	if (ball._xlebarKiri and ball._ylineBawah) {
		ball._rotation = 100; // arah barat laut
	}
	//==End
	//Dinding atas
	if (ball._y<=top._y+5) { //lebarkan dinding supaya dalam lingkungan masa
		//Jika bola dari arah  timur laut
		if (_root.ball._rotation>0 and _root.ball._rotation<=90) {
			_root.ball._rotation = -10;  //lontar bola ke arah tenggara
		} else { // jika dari arah timur laut
			_root.ball._rotation = -100; //lontar bola ke arah barat daya
		}
	}
	//End dinding atas
	//Dinding kiri
	if (ball._x<=left._x+2) { //lebarkan dinding supaya dalam lingkungan masa
	//Jika bola dari arah  timur laut atau tenggara
		if (ball._rotation>90 and ball._rotation<=180) {
			t = -1; //tukar arah bagi berlaku pembalikan(pantulan)
		} else {
			t = 1; //tukar arah bagi berlaku pembalikan(pantulan)
		}
		ball._rotation = -10*t; /* lontar bola ke arah  timur laut atau tenggara
		bergantung kepada pantulan tadi*/
	}
	//End dinding kanan
	//Dinding kanan
	if (ball._x>=right._x-2) { //lebarkan dinding supaya dalam lingkungan masa
		if (ball._rotation>0 and ball._rotation<=90) {
			t = 1; //tukar arah bagi berlaku pembalikan(pantulan)
		} else {
			t = -1;//tukar arah bagi berlaku pembalikan(pantulan)
		}
		ball._rotation = 160*t; /* lontar bola ke arah  barat laut atau barat daya
		bergantung kepada pantulan tadi*/
	}
	//End Dinding kanan
	//===Gerak
	//+ve >0:90:180 dan -ve >0:-90:-180
	//kosinus positifkan(kuasa dua)
	kos = Math.cos(ball._rotation)*Math.cos(ball._rotation);
	//darjah positifkan(kuasa dua)
	darjah = 0.00001*ball._rotation*ball._rotation+1;
	//Penerangan seperti graf di atas. Graf Y melawan X.
	if (ball._rotation>0 and ball._rotation<=90) { //timur laut
		ball._x += laju*kos; //pesongkan ke arah spesifik pantulan
		ball._y -= laju; //gerakkan bola
	} else if (ball._rotation>90 and ball._rotation<=180) { //barat laut
		ball._x -= laju*kos; //pesongkan ke arah spesifik pantulan
		ball._y -= laju;//gerakkan bola
	} else if (ball._rotation>-180 and ball._rotation<=-90) {//barat daya
		ball._x -= laju*kos*darjah;//pesongkan ke arah spesifik pantulan
		ball._y += laju;//gerakkan bola
	} else if (ball._rotation>-90 and ball._rotation<=0) {//tenggara
		ball._x += laju*kos*darjah;//pesongkan ke arah spesifik pantulan
		ball._y += laju;//gerakkan bola
	}
	//End Gerak
	
}
//End Fungsi bola bergerak


	

Kembali


Copyright © 2003 by Duriyan, All rights reserved.