"TRIGONOMETRY" dalam flash

Trigonometry.. pe benda tuh..?? adakah ianya sejenis haiwan ataupon nama sejenih kuih seperti onde-onde?? jika anda berfikiran seperti di atas.. awas!! virus keNOOBpan sdg merapati anda... haha... trigonometry adalah salah satu teknik matematik yg digunakn utk mencari:

1)Hubungan "angle" dgn "speed"
2)Hubungan "angle" dgn "length"

penting ke trigonometry nih??? trigonometry sgt penting apabila flash game yg kita nk buat berkaitan dgn sudut,kelajuan dan perubahan kedudukan objek(brapa jauh atau brapa panjang)... contoh:flash yg kita buat perlu men"detect" atau dlm bhase melayunya mengesan angle atau "sudut" dripada satu point ke point yg lain...

sebelum kita melakukan aktiviti noob ini... mari kita review sikit matematik kita yg x seberapa waktu kt sekolah dlu.. haha... noob!!!

formula trigonometry:

sin=opposite/hypotenuse
cos=adjacent/hypotenuse
tan=opposite/adjacent


dlm flash pulak.. codingnye seperti di bwah-->>


Math.sin(nombor yg kita nk);
Math.cos(nombor yg kita nk);
Math.tan(nombor yg kita nk);


utk inverse function (sin kuasa negatif 1(sin^-1) ) lak-->>

Math.asin(nombor yg kita nk);
Math.acos(nombor yg kita nk);
Math.atan(nombor yg kita nk);

p/s:aku gune action scrip 2.0 ye noob....

oh ye!! seblum aku terlupa.. aku nk ingatkan flash bace dlm radian bukan degree...

jdi utk tukar kepada degree-->

Math.sin(nombor/(180/Math.PI));

kita bhagikan nombor kita dgn 180 per PI...

jika inverse plak-->

Math.sin((nombor)*(180/Math.PI));

kita darabkan nombor kita dgn 180 per PI...

ok dah.. meh buat ni... di akhir aktiviti ni akan dpt mcm kt bwah ni-->>
arahan:anak panah tu akan ikot sudut cursor mouse anda ..


1)first open korang nye flash pahtu pilih action scrip 2.0...

2)pahtu korang lukis anak panah kt drwing space flash korang..


3)double klik kat anak panah tu pahtu tekan f8 utk tukarkan kepada simbol.. pahtu setting mcm kat bwah ni.. dan trus tekan ok... registeration point tulah akan jadi point utk anak panah korang nanti....


4)nmekan variable simbol tu sebagai "panah"..


5)pilih "text" atau tekan "T".. pahtu korang letak je kat ats anak panah 2.. 3 text yg kita nk guna.. yg petama utk "angle".. kedua dan ketiga utk kordinat "x" dan "y"..


6)klik text pertama... namekan variable sebagai "sudut".. setting mcm kat bawah ni.. ulang perkara yg sme utk yg len.. cme tukar nme variable.. je.. nme variable yg dua lgi ialah "axisx" dan "axisy"...




7)selesai.. klik pada frame pahtu tekan "f9" utk tulis program...


8)review:contohnye kita ade 2 point iaitu point A dan point B.dan point A sebagai objek dan point B sebagai arah tuju..


9)jadi... utk dpt perbezaan x-axis dan y-axis.. kita kena tolakkan axis x dan y point A dengan point B...


10)jadi dlm aktiviti kita nih.. anak panah yg kita lukis sebelum ni sebagai point A dan mouse cursor sebagai point B...


11)jdi dlam coding kita patut jdi:

xaxis=_xmouse-panah._x;
yaxis=panah._y-_ymouse;

12)guna trigonometry utk dpatkan angle point A ke point B...


13)tambahan utk program kita:

xaxis=_xmouse-panah._x;
yaxis=panah._y-_ymouse;
angle=Math.atan(yaxis/xaxis)*(180/Math.PI);

p/s:axis dan yaxis kat ats 2 nme veriable yg aku kasi.. korang boleh juga buat camni:

noob=_xmouse-panah._x;
sohai=panah._y-_ymouse;
angle=Math.atan(sohai/noob)*(180/Math.PI);

haha...

14)sekarang cursor mouse yg user akan kawal ade 4 kemungkinan bahagian iaitu:


15)jdi dlm program korang tambah:

xaxis=_xmouse-panah._x;
yaxis=panah._y-_ymouse;
angle=Math.atan(yaxis/xaxis)*(180/Math.PI);
if(_xmouse>panah._x&&_ymouse<panah._y){
        angle=90-angle}
        if(_xmouse>panah._x&&_ymouse>panah._y){
        angle=-angle+90}
        if(_xmouse<panah._x&&_ymouse>panah._y){
            angle=180+(90-angle)
        }
        if(_xmouse<panah._x&&_ymouse<panah._y){
            angle=270+(-angle)
        }

-darjah mula dri kiri ke kanan mcm gamba kat bawah... 90->360...





16)dan program lengkapnya seperti dibawah.. copy dan masukkan dlm coding anda.. haha..

panah.onEnterFrame=function(){
xaxis=_xmouse-panah._x;
yaxis=panah._y-_ymouse;
angle=Math.atan(yaxis/xaxis)*(180/Math.PI);
if(_xmouse>panah._x&&_ymouse<panah._y){
        angle=90-angle}
        if(_xmouse>panah._x&&_ymouse>panah._y){
        angle=-angle+90}
        if(_xmouse<panah._x&&_ymouse>panah._y){
            angle=180+(90-angle)
        }
        if(_xmouse<panah._x&&_ymouse<panah._y){
            angle=270+(-angle)
        }
sudut="sudut="+angle;
    axisx="x="+xaxis
    axisy="y="+yaxis
    panah._rotation=angle
}




akhir katanye.. ingatlah... noob jua boleh berkorban utk negara... selamat!! zzzz...noob!!!

Popular posts from this blog

Relay

Pendahuluan: Proteus simulasi yg berguna

Electronic component:Resistor