Beberapa hari yang lalu banyak dari programer flash yang mengalami masalah,.. pada script go to scene pada as2 yang menyebabkan error di script ,.. dan saya juga tidak mengerti mengapa ,.. para programer as2 masih saja suka menggunakan scene by scene padahal jika mereka tau akan lebih menyenangkan bermain
frame
by frame di as2 dibanding scene by scene
yang penuh tanda tanya dan misteri,.. akan tetapi jika anda sudah terlanjur mencintai scene by scene ini dan mengalami masalah pada navigasi
yang menghubungkan antara scene dengan scene ini, mungkin tutorial kali ini bisa berguna bagi anda.tutorial ini dipecahkan oleh salah satu member aktif di forum baba dengan nama user 42unregistered yang mempunyai situs web bernama nayzuko dengan memberikan acuan link http://www.senocular.com/flash/tutorials/faq/#gotoscene sebagai referensi beliau mencoba memberikan pencerahan seperti berikut
- Hindari memakai scene!
- Jika sudah terlanjur,
Pahami bahwa meski di file fla ada banyak "scene", file tersebut akan dicompile menjadi swf yang merupakan SATU scene besar. Karena itu akan terjadi kekacauan scope bila memakai nomor frame di scene karena semua scene dilebur menjadi satu timeline besar. Nomor frame di scene tidak berguna lagi.
metode dengan mc di suatu scene begini masih bisa:
bti_btn.onRelease=function(){
gotoAndStop("dragon_scene", 1);
};
atau :
on(release) {
gotoAndStop("dragon_scene", 1);
selama mc dan button itu ada di _root scene, yang artinya nanti ketika dilebur jadi scene besar, tetap ada di _root.
Jika dicoba memasukkan mc atau button dalam mc lain di scene, metode tersebut tidak berhasil. karena mc/button ada di _root mc
Karena itu, untuk mengakses timeline di scene, gunakan _root sebagai referensi karena semua scene sudah menjadi satu _root. Karena yang dipakai adalah _root swf yang merupakan kompilasi semua scene maka nomor frame scene sudah tidak berguna, jadi gunakan frame label drpd frame number.
utk mc/button di dalam mc yang ada di scene, mengakses frame label "dragon_scene" di scene "dragon_scene"
bti_btn.onRelease=function(){
_root.gotoAndStop("dragon_scene");
};
atau dengan button, juga bisa:
on(release) {
_root.gotoAndStop("dragon_scene");
}
Jika kita tahu jumlah frame, kita bisa pakai frame number.
Misalnya scene "preloader" 4 frame, frame "menuindex" ada 4 frame, maka untuk mengakses frame 1 di scene berikutnya, yakni "dragon_scene", berarti mengakses farme ke-9 di _root (4+4+1)
metode ini akan berhasil:
bti_btn.onRelease=function(){
_root.gotoAndStop(9);
};
masalahnya dengan frame number, sekali kita melakukan edit, mengurangi frame, maka semua script jadi gak berguna lagi karena framenya berubah.
jadi, selalu gunakan "frame label", pakai scene atau tidak.
Dan bagi anda yang mengalami masalah yang sama,.. semoga Solusi permasalahan go to scene as2 ini bisa membantu.
0 komentar:
Post a Comment