Kamis, 08 Mei 2008

Cara Mengirim Parameter ke Flash dari HTML

Terkadang kita butuh untuk mendefenisikan suatu variabel di flash, tapi variable tersebut berasal dari halaman HTML kita. Misal Seperti memberi perintah agar FLash meLoad file video di suatu path tertentu. Untuk itu kita perlu untuk mengirim perintah dari halaman HTML kita ke Flash.

Berikut caranya,
Kita biasanya Meload File flash dengan syntax berikut
Code:
<object>
<param name="allowScriptAccess" value="sameDomain" \>
<param name="allowFullScreen" value="false" \>
<param name="movie" value="suatufile.swf" \>
<param name="quality" value="high" \>
<param name="bgcolor" value="#d0d2d2" \>
<embed src="suatufile.swf" ...danseterusnya>
</embed>
</object>
Nah agar bisa mengirimkan suatu paramater ke Flash, kita harus sedikit memodifikasi Inisialisasi di atas. Anggap kita ingin mengirim parameter bernama "namasaya" dan bernilai "Reza". Berikut adalah caranya :
<object>
<param name="allowScriptAccess" value="sameDomain" \>
<param name="allowFullScreen" value="false" \>
<param name="movie" value="suatufile.swf?namasaya=Reza" \>
<param name="quality" value="high" \>
<param name="bgcolor" value="#d0d2d2" \>
<embed src="suatufile.swf" ...danseterusnya >
</embed>
</object>
Yak dibagian inisialisasi HTML cukup itu yang kita tambahkan, kalau ada lebih dari satu parameter cukup tambahkan seperti kita menambahkan parameter di sebuah request url.
contoh : "suatufile.swf?namasaya=Reza&tinggi=175"

Selanjutnya kita akan membuat code untuk menangkap parameter tersebut dari actionscript kita. Untuk AS3 berikut caranya, tambahkan code ini di action salah satu layer atau di document class.
Code:

import flash.display.LoaderInfo;

var nama:String;
var tinggi:int;
var keyStr:String;
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
for (keyStr in paramObj) {
if(keyStr.toLocaleLowerCase() == "namasaya")
nama = paramObj[keyStr].toString();
else if(keyStr.toLocaleLowerCase() == "tinggi")
tinggi = parseInt(paramObj[keyStr].toString());
}


Cukup mudah bukan.. Jangan tertipu dengan kode diatas ya.. Tinggi gw bukan 175 cm.. Wuih.. ini cuma harapan.. hehehe..

Tidak ada komentar: