Tampilkan postingan dengan label Development Flash. Tampilkan semua postingan
Tampilkan postingan dengan label Development Flash. Tampilkan semua postingan

Sabtu, 02 Mei 2015

Cara Membuat Scrolling Background dengan Motion Tween

Cara Membuat Scrolling Background dengan Motion Tween

Scrolling background adalah animasi bakground yang bergerak secara terus menerus (berulang). Scrolling background biasanya digunakan di game-game pesawat. Sesuai judulnya, kita akan membuatnya dengan menggunakan animasi motion tween. Bacground pada tutorial kali ini akan bergerak ke kiri
1. Buatlah sebuah flash documents.
2. Buatlah sebuah objek seperti gambar di bawah ini dengan panjang yang sama dengan panjang stage dan letakan di tengah-tengah stage bagian bawah.
letak1
2. Seleksi objek tersebut dan tekan Ctrl+G agar objek tersebut menjadi group.
3. Seleksi objek yang sudah di group tadi dan tekan Ctrl+D.
4. Ubah letak objek kedua hasil duplikasi ke samping kanan objek pertama seperti gambar di bawah ini:
letak2
5. Seleksi kedua gambar tadi dan tekan F8. Pada panel yang muncul masukkan background sebagai name dan Movie clip sebagai type lalu tekan OK.
6. Klik kanan frame 41 pada stage dan pilih Insert Keyframe.
7. Ubah letak movie clip background di frame 41 seperti gambar di bawah ini :
letak3
8. Klik kanan frame 1 dan pilih Create Motion Tween.
9. Klik kanan frame 40 dan pilih Insert Keyframe.
10. Klik kanan frame 41 dan pilih Remove Frame.
11. Tekan Ctrl+Enter untuk melihat hasilnya.



Sourcenya dapat di download di sini
Cara Membuat Animasi Revolusi Bulan Dan Bumi

Cara Membuat Animasi Revolusi Bulan Dan Bumi

1. Buatlah sebuah flash document dengan panjang 300px serta lebar 300px dan juga 12fps sebagai frame rate. Berikan warna hitam pada Backgroundnya
2. Tekan Ctrl+F8 untuk memunculkan kotak dialog Create New Symbol. Masukkan revolusi bulan sebagai Name dan Movie clip sebagai Typenya lalu tekan OK.
3. Anda akan masuk ke dalam stage movie clip revolusi bulan. Masukkan 2 buah layer baru sehingga timeline akan tampil seperti di bawah ini:
tm-rb
Timeline movie clip revolusi bulan
4. Klik Layer 1, buatlah sebuah lingkaran cukup besar (berfungsi sebagai bumi) berwarna Radial dengan kode #B4B5FE dan #4545FE.
bumi
Gambar lingkaran bumi
5. Klik Layer 3, buatlah sebuah garis lingkaran (berfungsi sebagai jalur bulan) yang lebih besar dari lingkaran di Layer 1. Hilangkan sedikit garis di bagian atas garis lingkaran sehingga garis lingkaran bagian atas tersebut terpisah.
garis
Garis untuk jalur bulan
6. Klik Layer 2, buatlah sebuah lingkaran kecil (berfungsi sebagai bulan) dengan kode #FFFFFF dan #CCCCCC. Seleksi lingkaran kecil ini dan tekan F8.
bulan
Gambar lingkaran bulan
7. Pada kotak dialog yang muncul masukkan bulan sebagai Name dan Movie clip sebagai Type lalu tekan OK. Letakkan movie clip bulan ini ke ujung garis lingkaran bagian kiri di Layer 3 (titik registration movie clip bulan harus berada tepat di ujung garis).
bulan-1
Letak movie clip bulan di frame 1
8. Klik kanan frame 31 Layer 3 dan pilih Insert Frame.
9. Kilk kanan frame 31 Layer 2 dan pilih Insert Keyframe. Ubah letak movie clip bulan di frame 31 Layer 2 ke ujung garis lingkaran bagian kanan di Layer 3 (titik registration movie clip bulan harus berada tepat di ujung garis).
bulan-2
Letak movie clip bulan di frame 31
10. Klik kanan frame 1 Layer 2 dan pilih Create Motion Tween.
11. Klik kanan frame 31 Layer 3 dan pilih Remove Frames.
12. Kilk kanan frame 30 Layer 2 dan pilih Insert Keyframe.
13. Klik kanan frame 31 Layer 2 dan pilih Remove Frames.
14. Klik kanan frame 30 Layer 1 dan pilih Insert Frame.
15. Klik kanan Layer 3 dan pilih Guide. Singgungkan Layer 2 ke Layer 3.Jika sudah tekan Ctrl+E untuk kembali ke stage Scene 1.
16. Masukkan 2 buah layer baru sehingga timeline akan tampil seperti di bawah ini:
tm-sc1
Timeline Scene 1
17. Klik Layer 1 dan buatlah lingkaran besar (berfungsi sebagai matahari) berwarna Radial dengan kode #FFFF00 dan #FF6600.
matahari
Gambar lingkaran matahari
18. Klik Layer 3 dan buatlah sebuah garis lingkaran (berfungsi sebagai jalur bumi) yang lebih besar dari lingkaran di Layer 1. Hilangkan sedikit garis di bagian atas garis lingkaran sehingga garis lingkaran bagian atas tersebut terpisah.
garis
Garis untuk jalur bumi
19. Klik Layer 2 agar anda aktif di layer tersebut kemudian bukalah panel Library dengan menekan Ctrl+L pada keyboard. Drag movie clip revolusi bulan ke stage pada Layer 2 frame 1. Letakan movie clip ini ke ujung garis lingkaran bagian kiri di Layer 3 (titik registration movie clip revolusi bulan harus berada tepat di ujung garis).
revo-bulan-1
Letak movie clip revolusi bulan di frame 1
20. Klik kanan frame 120 Layer 1 dan pilih Insert Frame.
21. Klik kanan frame 121 Layer 3 dam pilih Insert Frame.
22. Klik kanan frame 121 Layer 2 dan pilih Insert Keyframe. Ubah letak movie clip revolusi bulan di frame 121 Layer 2 ke ujung garis lingkaran bagian kanan di Layer 3 (titik registration movie clip bulan harus berada tepat di ujung garis).
revo-bulan-2
Letak movie clip revolusi bulan di frame 121
23. Klik frame 1 Layer 2 dan pilih Create Motion Tween.
24. Klik kanan frame 120 Layer 2 dan pilih Insert Keyframe.
25. Klik kanan frame 121 Layer 2 dan pilih Remove Frames.
26. Klik kanan frame 121 Layer 3 dan pilih remove Frames.
27. Klik kanan Layer 3 dan pilih Guide. Singgungkan Layer 2 dengan Layer 3.
28. Terakhir Test Movie dengan menekan Ctrl+Enter.



 
Sourcenya dapat di download di sini
Cara Membuat Animasi Dengan Actionscript di Flash

Cara Membuat Animasi Dengan Actionscript di Flash

Berikut ini kita akan membuat sebuah animasi gerakan dengan menggunakan actionscript. Gerakan yang akan kita gunakan adalah gerakan ke kanan dan ke kiri.
1. Buatlah sebuah lingkaran. Seleksi lingkaran tersebut dan tekan F8. Pada kotak dialog yang muncul pilih Movie Clip sebagai Type dan tekan OK.
2. Klik movie clip lingkaran dan tekan Ctrl+F3 untuk memunculkan panel properties. Ubah niali X: pada panel properties menjadi 9,7
3. Select movie clip lingkaran tadi dan tekan F9.
4. Masukan actionscript ini pada kotak actions yang muncul :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
onClipEvent (load) {
 gerak = 1;
}
onClipEvent (enterFrame) {
 //jika koordinat x movie clip ini berada lebih dari 255
 if (_x>255) {
  gerak = 2;
 }
 //jika koordinat x movie clip ini berada kurang dari 45
 if (_x<45) {
  gerak = 1;
 }
 //jika gerak sama dengan 1
 if (gerak == 1) {
  //koordinat x movie clip ini akan ditambah 20 (movie clip ini akan bergerak kekanan)
  //semakin besar nilainya semakin cepat gerakannya
  _x += 20;
 }
 //jika gerak sama dengan 2
 if (gerak == 2) {
  //koordinat x movie clip ini akan dikurangi 20 (movie clip ini akan bergerak kekiri)
  //semakin besar nilainya semakin cepat gerakannya
  _x -= 20;
 }
}
5. Terakhir test movie dengan menekan CTRL+ENTER.

Sourcenya dapat didownload di sini

Senin, 16 Februari 2015

Cara Membuat Games Jigsaw Pada Flash (AS2)

Cara Membuat Games Jigsaw Pada Flash (AS2)

1. Buatlah sebuah flash document.
2. Buatlah beberapa objek seperti gambar dibawah ini :
3. Tekan Ctrl+R dan pada panel yang muncul cari gambar yang diinginkan kemudian tekan Open.
4. Seleksi gambar yang baru dimport tadi, kemudian tekan Ctrl+B untuk membuat gambar bitmap menjadi shape.
5. Jika sudah gambarlah garis pada gambar tadi. Buatlah garis yang membuat gambar tadi menjadi berkeping-keping.
6. Pada tutorial ini, kami membagi gambarnya menjadi 4 keping dengan garis sebagai berikut :
7. Seleksi kepingan pertama (garis tidak perlu diseleksi), kemudian tekan F8. Pada panel yang muncul ketikkanBagian1 pada kotak Name, pilih MovieClip sebagai Typenya, lalu tekan Ok.
8. Seleksi movie clip Bagian1 kemudian tekan Ctrl+F3. Pada panel properties yang muncul ketikkan Bagian1pada kotak Instance Name.
9. Seleksi kepingan kedua (garis tidak perlu diseleksi), kemudian tekan F8. Pada panel yang muncul ketikkanBagian2 pada kotak Name, pilih MovieClip sebagai Typenya, lalu tekan Ok.
10. Seleksi movie clip Bagian2 dan pada panel properties ketikkan Bagian2 pada kotak Instance Name.
11. Seleksi kepingan ketiga (garis tidak perlu diseleksi), kemudian tekan F8. Pada panel yang muncul ketikkanBagian3 pada kotak Name, pilih MovieClip sebagai Typenya, lalu tekan Ok.
12. Seleksi movie clip Bagian3 dan pada panel properties ketikkan Bagian3 pada kotak Instance Name.
13. Seleksi kepingan keempat (garis tidak perlu diseleksi), kemudian tekan F8. Pada panel yang muncul ketikkan Bagian4 pada kotak Name, pilih MovieClip sebagai Typenya, lalu tekan Ok.
14. Seleksi movie clip Bagian4 dan pada panel properties ketikkan Bagian4 pada kotak Instance Name.
15. Jika semua kepingan sudah menjadi movie clip, hapus garis-garis yang digunakan untuk membuat kepingan tadi.
16. Letakkan keempat kepingan tadi seperti gambar dibawah ini :
17. Jika seandainya kotak yang dibuat pada Tutorial Nomor 2 terlalu kecil, anda dapat membesarkannya.
18. Seleksi keempat keping movie clip kemudian tekan Ctrl+C untuk mengcopynya.
19. Jika sudah tekan Ctrl+V untuk menduplikasinya. Letakkan kepingan hasil duplikasi sepeti gambar dibawah ini :
20. Pastikan anda masih menyeleksi kepingan hasil duplikasi. Lalu pada panel propeties anda ganti Color menjadi Alpha 10%.
21. Jika sudah, seleksi salah satu kepingan hasil duplikasi kemudian pada panel properties tambahkan kata Target pada kotak instance name.
22. Lakukan Tutorial Nomor 21 pada ketiga keping duplikasi lainnya.
23. Sehingga nantinya Instance Name pada masing-masing keping duplikasi menjadi menjadi TargetBagian1, TargetBagian2, TargetBagian3, TargetBagian4
24. Sekarang acak kepingan pada keping asli seperti gambar dibawah ini :
25. Buatlah sebuah dynamic text. Seleksi dynamic text tersebut kemudian pada panel properties anda ketikkanpesan di kotak Var.
26. Letakkan dynamic text tadi seperti gambar dibawah ini :
27. 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
22
23
24
25
26
27
28
29
30
31
32
33
34
//jumlah kepingan puzzle
//sesuaikan nilai variable jumlahBagian dengan jumlah kepingan yang anda buat
jumlahBagian = 4;
for (i=1; i<=jumlahBagian; i++) {
 _root["Bagian"+i].id = i;
 //bila kepingan puzzle ditekan
 _root["Bagian"+i].onPress = function() {
  //buat posisi kepingan berada di paling atas
  this.swapDepths(_root.getNextHighestDepth());
  //kepingan dapat didrag
  startDrag(this);
 };
 //bila kepingan tidak ditekan
 _root["Bagian"+i].onRelease = _root["Bagian"+i].onReleaseOutside=function () {
  //kepingan tidak dapat ditekan
  stopDrag();
  target_mc = _root["TargetBagian"+this.id]
  //jika kepingan berada di sekitar target
  if (eval(this._droptarget) == target_mc) {
   //letakan kepingan di target
   this._x = target_mc._x;
   this._y = target_mc._y;
   //kepingan tidak bisa ditekan
   this.enabled = false;
   //kurangi variable jumlahBagian
   jumlahBagian--
   //jika variable jumlahBagian bernilai 0
   if (jumlahBagian == 0) {
    //tampilkan tulisan Puzzle Komplit pada dynamic text pesan
    pesan = "Puzzle Komplit";
   }
  }
 };
}
28. Tekan Ctrl+Enter untuk melihat hasilnya.
Cara Membuat Hit Test Object Pada Flash (AS2)

Cara Membuat Hit Test Object Pada Flash (AS2)

Assalamu'alaikum wr wb.
hitTest digunakan untuk mendekteksi tabrakan antara 2 buah objek. hitTest biasanya digunakan dengan script kondisi semisal if.
Penulisannya : if (instance name penabrak.hitTest(instance name ditabarak)) {}.
instance name penabrak : instance name dari objek yang akan menabrak
instance name ditabarak : instance name dari objek yang akan ditabrak
Berikut contoh pengunaannya :
1. Buatlah sebuah persegi. Seleksi persegi tersebut dan tekan F8. Pada kotak dialog yang muncul masukkan kotak sebagai name dan Movie clip sebagai Type lalu tekan OK.
2. Seleksi movie clip kotak dan tekan Ctrl+D. Ubah ukuran kotak hasil duplikasi menjadi lebih kecil.
3. Seleksi movie clip kotak yang besar dan tekan Ctrl+F3. Pada panel properties masukkan kotak_besar sebagai Instance name.
4. Seleksi movie clip kotak yang kecil dan tekan Ctrl+F3. Pada panel properties masukkan kotak_kecil sebagai Instance name.
5. Buatlah sebuah dynamic text dengan var note.
6. Klik frame 1 dan tekan F9. Pada kotak 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
//ketika movie clip kotak_kecil ditekan
kotak_kecil.onPress = function() {
 //movie clip ini dapat didrag
 this.startDrag();
};
//ketka tekanan pada movie clip kotak_kecil dilepaskan
kotak_kecil.onRelease = function() {
 //movie clip ini tidak bisa didrag
 this.stopDrag();
};
kotak_kecil.onEnterFrame = function() {
 //jika movie clip ini menabrak kotak_besar
 if (this.hitTest(kotak_besar)) {
  //tampilkan tulisan menabrak pada variable note
  note = "menabrak";
 //jika tidak
 } else {
  //tampilkan tulisan tidak menabrak pada variable note
  note = "tidak menabrak";
 }
};
7. Tekan Ctrl+Enter untuk melihat hasilnya.
Cara Koneksi Database Mysql Ke Flash

Cara Koneksi Database Mysql Ke Flash

Assalamu'alaikum wr wb.
Ini adalah tutorial pamungkas tentang koneksi Flash, PHP, dan MySql dengan actionscript (AS) 1 dan 2 (perbedaannya kedua AS ini tidak signifikan, namun sangat berbeda jika dibandingkan dengan AS3). Tutorial ini tidak menyertakan demo atau preview.

Prinsip-prinsip Dasar Flash+PHP+MySQL
  • Untuk mengambil data dari database, Flash membutuhkan bantuan bahasa server-side, yakni PHP sebagai "perantara" untuk mengambil data dari server database, dalam hal ini MySQL. PHP bertugas melakukan koneksi berdasarkan variabel yang dikirim Flash dan mengirimkan variabel outputnya kembali ke Flash.
  • Output PHP yang dimengerti AS1 dan AS2 adalah variabel yang ditandai dengan tanda "&" atau ampersand jika hasilnya adalah string atau teks. Ada juga metode yang membuat output PHP dalam format XML. Sebagai catatan, akan lebih efisien jika Flash langsung mengambil output dari PHP ketimbang dari XML. Meski begitu, metode mana yang dipilih tergantung preferensi pribadi Anda.
  • Untuk menghasilkan output PHP yang dimengerti Flash, nilai-nilai yang diambil dari tabel database dikirim sebagai output dengan perintah echo() atau print();

Pertama, kita harus melakukan koneksi dengan MySQL.
Kode dasar file PHP.
?
1
2
3
4
5
6
7
8
9
10
<?php
$server "localhost";
$username "root";
$password "";
$database "nama_database";
$tabel "nama_tabel";
mysql_connect ($server$username$passwordor die (mysql_error());
mysql_select_db ($databaseor die (mysql_error());
?>

Jika masih di server lokal (contoh server lokal Xampp, Wamp, Mamp, AppServ, dll) , nama server adalah "localhost" dan username "root", password dikosongkan kecuali Anda membuat password database di server local. Jika sudah online, variabel koneksi seperti nama server, username, password, database, tabel bisa dilihat dengan menggunakan Phpmyadmin. Jika sudah masuk ke database dan tabel tujuan, di bagian kepala akan tercantum nama server, nama database, dan nama tabel. Username dan password akan tergantung setting hosting. Umumnya, username dan password yang dipakai sama dengan yang dipakai untuk control panel.
Dengan alasan kepraktisan, konfigurasi variabel koneksi biasanya dipisahkan dalam file php sendiri. Misalnya "config.php" atau "connect.php" dst. Dengan demikian, sebelum melakukan query ke tabel, file php tersebut harus dimasukkan dalam file php berikutnya. Pemisahan variabel koneksi menjadi file tersendiri berguna jika Anda menggunakan banyak file php yang memerlukan koneksi ke database yang sama. Cukup include file koneksinya di awal, lalu lakukan query ke tabel.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include_once("connect.php");
$qr = mysql_query("SELECT id, username, user_bio from $tabel");
$nr = 0;
while($kolom=mysql_fetch_row($qr) )
$ids=$kolom[0];
$usern=$kolom[1];
$ubio=$kolom[2];
echo "&idlv$nr=$ids&usernlv$nr=$usern&ubiolv$nr=$ubio";
$nr++;
}
echo "&nr=$nr&";
?>


Pada kode di atas, field di tabel database yang dipilih (SELECT) sebaiknya ditentukan. Penggunaan SELECT * from $tabel (memilih semua field di tabel) harus dihindari karena alasan keamanan.
Penggunaan mysql_fetch_row akan menghasilkan baris-baris nilai berdasarkan kolom yang dipilih. Ini sumber data yang akan dikirim ke Flash. Kita menamakan sumber data ini berdasarkan kolom di tabel yang dipilih (dalam contoh: kolom1=field id, kolom2= field username, kolom3= field user_bio), tidak peduli apakah user_bio ada di field urutan ke-3 atau urutan ke-7 dalam tabel database.
Save as file php di atas menjadi "getrow.php".
Ketika diketik di alamat pada browser, hasil yang sukses menunjukkan data seperti ini, di mana variabel akhir ("nr") adalah jumlah baris data tabel database:

&idlv0=1&usernlv0=sad&ubiolv0=Bos besar&idlv1=2&usernlv1=Anu&ubiolv1=pemulung&idlv2=3&usernlv2=bandit&ubiolv2=outlaw... &nr=10&

Itulah data yang BISA dibaca Flash. Itu struktur data eksternal yang biasa di-load Flash. Baca tutorial tentang LoadVars untuk eksternal teks.
Variabel untuk Flash adalah:
idlv0, usernlv0, ubiolv0 ... idlv1, usernlv1, ubiolv1 ... dst sampai idlv10, usernlv10, ubiolv10 sesuai jumlah row (nr)

Objek LoadVars sebagai Penampung Data
Sekarang kita akan mengambil data tersebut dengan objek LoadVars di Flash.
?
1
2
3
4
5
6
7
8
l = new LoadVars();
l.onLoad = function(ok) {
ids0=l.idlv0; sek0=l.usernlv0; pik0=l.ubiolv0;
ids1=l.idlv1; sek1=l.usernlv1; pik1=l.ubiolv1;
};
l.sendAndLoad("http://localhost/getrow.php", l, "POST"); //Metode "GET" bisa menunjukkan hasilnya langsung tanpa browser namun metode "POST" disebut lebih aman.

Ingat struktur data output PHP adalah:
idlv0, usernlv0, ubiolv0Kita akan tampung dalam variabel:
ids0, sek0, pik0Buat dynamic teks dengan variabel seperti di atas, yang akan menampung objek LoadVars kita:
ids0=l.idlv0; sek0=l.usernlv0; pik0=l.ubiolv0;
ids1=l.idlv1; sek1=l.usernlv1; pik1=l.ubiolv1;
...
ids10=l.idlv10; sek10=l.usernlv10; pik10=l.ubiolv10;

Preview. Dan Anda akan bisa melihat dynamic text berisi variabel dari PHP sesuai isi tabel di database.

l = new LoadVars(); adalah objek LoadVars. Anda bisa mengganti huruf "el" ("l") dengan nama lain, bisa saja "lv= new LoadVars()" atau "myLoadVars= new LoadVars()" dst. Metode l.onLoad digunakan untuk mendapatkan sumber data yang dihasilkan file PHP. Artinya, onLoad dijalankan jika Flash sudah menerima hasil dari metode "sendAndLoad".

Jika Anda menginginkan variabel LoadVars mengisi dynamic text di frame yang sama, penggunaan "this" bisa menggantikan LoadVars (objek "l").
?
1
2
3
4
5
6
7
8
l = new LoadVars();
l.onLoad = function(ok) {
ids0=this.idlv0; sek0=this.usernlv0; pik0=this.ubiolv0;
ids1=this.idlv1; sek1=this.usernlv1; pik1=this.ubiolv1;
};
l.sendAndLoad("http://localhost/getrow.php", l, "POST");

Kesalahan yang kerap terjadi adalah mengolah variabel LoadVars di frame yang sama (meski kode diletakkan di dalam onLoad) ketika belum semua variabel terdownload.
Cara yang paling aman adalah menyuruh Flash ke frame lain jika sukses me-load semua variabel.
?
1
2
3
4
5
6
7
l = new LoadVars();
l.onLoad = function(ok) {
gotoAndStop("sukses")
};
l.sendAndLoad("http://localhost/getrow.php", l, "POST");

Kode di atas menyuruh Flash ke frame dengan label "sukses" jika sudah berhasil me-load semua variabel.
Di frame "sukses", masukkan kode yang untuk mengelola variabel LoadVars. Kita tidak memakai "this" untuk merujuk objek LoadVars, tapi cukup menuliskan nama objeknya, yakni "l".
stop();
ids0=l.idlv0; sek0=l.usernlv0; pik0=l.ubiolv0;
ids1=l.idlv1; sek1=l.usernlv1; pik1=l.ubiolv1;

Menggunakan iterasi tanpa terperangkap "this" yang menjadi objek LoadVars menjadi lebih mudah jika dilakukan di frame lain. Dengan "this" yang merujuk _root di timeline, kode di frame "sukses" bisa dipersingkat menjadi:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for (i=0; i<l.nr; i++) {
this["ids"+i]=l["idlv"+i];
this["sek"+i]=l["usernlv"+i];
this["pik"+i]=l["ubiolv"+i]
}
//Bagaimana versi me-load data dengan button? Masukkan onLoad dan metode sendAndLoad dalam satu fungsi seperti ini:
l = new LoadVars();
function ambil_data() {
l.onLoad = function(ok) {
gotoAndStop("sukses")
}
l.sendAndLoad("http://localhost/getrow.php", l, "POST");
};
btn.onRelease=ambil_data;
MySQL_fetch_row vs mySQL_fetch_assoc vs mySQL_fetch_array
MySQL_fetch_row disebut lebih cepat dari fetch_assoc dan fetch_array. Jika memakai mysql_fetch_row, kita mendapat hasilnya berupa baris data setiap kolom yang disimpan dalam array yang dimulai dari 0. Kelemahannya, kita harus mengingat posisi kolom dengan benar, apakah kolom[1] adalah field "username" ataukah kolom[2]?
Mysql_fetch_assoc akan menghasilkan data string dalam bentuk associative array. Setiap kunci dalam array mewakili nama kolom field tabel database. Metode fetch_assoc lebih mudah digunakan karena kita bisa menggunakan nama field atau kolom. Sementara fetch_array menghasilkan baris string dalam bentuk associative array seperti fetch_assoc, atau urutan baris yang numerik sepeti fetch_row atau keduanya.
Ada debat tentang yang mana metode mengambil data MySQL yang lebih cepat, sebagian memihak fetch_assoc karena fetch_array sebenarnya merupakan gabungan fetch_row dan fetch_assoc. Namun, jika data yang diambil tidak "banyak", perbedaannya tidak begitu signifikan. Ujung-ujungnya terserah Anda.

Contoh dan perbandingan.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
mysql_fetch_row
<?php
include_once("connect.php");
$qr = mysql_query("SELECT id, username, user_bio from $tabel");
$nr = 0;
while($kolom=mysql_fetch_row($qr) )
$ids=$kolom[0];
$usern=$kolom[1];
$ubio=$kolom[2];
echo "&idlv$nr=$ids&usernlv$nr=$usern&ubiolv$nr=$ubio";
$nr++;
}
echo "&nr=$nr&";
?>
//mysql_fetch_assoc
{code}
<?php
include_once("connect.php");
$qr = mysql_query("SELECT id, username, user_bio from $tabel");
$nr = 0;
while($row = mysql_fetch_assoc($qr))
{
echo "&idlv$nr=$row[id]&usernlv$nr=$row[username]&ubiolv$nr=$row[ user_bio]&<br>";
$nr++;   
}
echo "&nr=$nr&";
?>
//mysql_fetch_array
<?php
include_once("connect.php");
$qr = mysql_query("SELECT id, username, user_bio from $tabel");
$nr = 0;
while($row=mysql_fetch_array($qr))
{
echo "&idlv$nr=$row[id]&usernlv$nr=$row[username]&ubiolv$nr=$row[ user_bio]&<br>";
$nr++;
}
echo "&nr=$nr&";
?>


Memakai Array untuk menampung variabel LoadVarsSebenarnya, output dari PHP yang diterima Flash merupakan array, di mana baris pertama tabel merupakan row[0] pada field yang ada. Misalnya data yang diambil 10 baris, maka nilai baris pertama field "id" adalah "id0", dan baris kedua adalah "id1", begitu juga pada field "username" adalah "username0" dan "username1". Pada praktiknya, demi alasan kemudahan membaca kode, kita mendefinisikan ulang variabel yang diterima dari PHP ke dalam variabel Loadvars. Misalnya untuk "id" kita namakan "idlv" dan untuk "username" kita namakan "usernlv". Isinya adalah array. "usernlv1" akan menampung "username1".
Menggunakan array di Flash untuk menampung variabel dari PHP (yang sebenarnya array juga) meski agak berlebihan (soalnya kita bisa mengakses langsung output variabel PHP) akan ada gunanya. Seandainya kita mengambil sekian banyak field dari tabel namun hanya mengolah satu dua field secara dinamis, penggunaan array Flash akan membantu. Yang mesti diingat, agar bisa diakses di manapun di dalam Flash, array didefinisikan secara_global (dimulai pada AS2). Walau tanpa _global, kode tetap bisa dijalankan, ketika struktur aplikasi sudah kompleks, Anda bisa kehilangan scope. Jadi, sebaiknya tetap memakai _global.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
getlv.= new LoadVars();
myArray = new Array(); // atau _global.myArray = new Array();
getlv.onLoad = function(ok:Boolean) {
for (var i:Number = 0; i<3; i++)
{
myArray.push (getlv["user_bio"+i]);      
}
gotoAndStop("sukses");   
};
getlv.sendAndLoad("http://localhost/getarray.php", getlv, "POST");
//Kita memasukkan output dari "getarray.php" (ambil dari contoh fetch_array sebelumnya) ke dalam array myArray dengan metode "push".
//Lalu di frame "sukses", kita menampung array dalam dynamic text dengan nama variabel masing-masing "dat0"..."dat2".
dat0=myArray[0];
dat1=myArray[1];
dat2=myArray[2];
//versi yang ringkas dengan iterasi
for (var i:Number = 0; i<myArray.length; i++) {
this["dat"+i]=myArray[i]
}
 Ctrl+Enter. 
Sukses.