ปัญหาในการพยายามโหลดค่า flashvars จาก swf ที่ถูกโหลดเข้ามาภายใน swf อีกตัว เป็นปัญหาที่เรียกได้ว่าน่าปวดหัวไม่น้อยทีเดียว แต่จริงๆ แล้ววิธีแก้ปัญหานั้นไม่ยากครับ หลังจากที่ผมพยายามแก้ปัญหาและหาข้อมูลอยู่พักใหญ่ ในที่สุดก็ได้ข้อสรุป คือ
ที่ตัว Main นะครับ เวลาอ่านค่า flashvars จะใช้คำสั่ง
|
1 |
var myVar:String = this.root.loaderInfo.parameters.whatever; |
ในขณะที่ถ้าต้องการอ่านค่า flashvars จาก swf ที่ถูกโหลดเข้ามาจะต้องเปลี่ยนคำสั่งเป็น
|
1 |
var myVar:String = stage.loaderInfo.parameters.whatever; |
การเรียกผ่านตัวแปร stage จะเป็นการเรียกไปยัง display container ของ swf ที่ถูกโหลดเข้ามานั่นเอง
และหากยังไม่ได้ ก็ยังมีอีกวิธี โดยการส่งค่าตัวแปรต่างๆ เข้าไปตอนโหลด swf อีกตัวนั่นเอง
|
1 2 3 4 5 6 7 8 9 10 |
//:: Store loader info var lInfo:Object = this.root.loaderInfo.parameters; //:: Flashvars var fVars:String = "?whee=nada"; //:: Getting the syntax change (? --> &) out of the way with a dummy var //:: Set path + data for (var flashVar in lInfo) { fVars += "&" + flashVar + "=" + lInfo[flashVar]; } |
var myRequest:URLRequest = new URLRequest(String(“/myPath.swf” + fVars));