As3 Class from string by plug.in
Nov0
เรื่องมันมีอยู่ว่า…
จะทำ Effect ในเกม Flash โดยให้เพิ่ม Effect ง่ายๆโดยไม่ต้องโค้ดใหม่ให้วุ่นวาย เลยจำเป็นที่ต้อง
ก็ไปหาโค้ดมาตามปกติ
var AnyClassName:String = "Effect_Some";
var ClassReference:Class = getDefinitionByName(AnyClassName) as Class;
var o = new ClassReference();
เรื่องก็น่าจะจบตรงนี้ เหมือนจะง่ายๆ แต่มันมีปัญหาว่า มันบั๊ก!
สุดท้ายก็ได้ข้อสรุปว่า ถ้าจะเรียก Class ตามวิธีข้างบนนี้ Class นั้นต้องเคยถูกเรียกใช้มาก่อนครั้งนีง! Chip lost ซิท่าน!
ตอนแรกก็เลยต้องถูกไถไปประมาณนี้
new effect_missile();
new effect_frost();
new effect_burn();
new effect_spark();
new effect_stun();
แต่ดูอนาคตมันมืดมนชะมัด สิ้นหวังแล้ว!
สุดท้ายก็ลองหาเรื่องปัญหานี้อีกครั้งจนพบทางสว่าง
http://synja.com/?tag=getdefinitionbyname
วิธีง่ายๆไม่ได้ต้องใช้สมองอะไรมาก เพียงแค่เพิ่ม
-include-libraries “/absolute/path/to/my/assets/assets.swc”
เข้าไปใน Complier Option ก็จบเรียบร้อย
จริงๆเหมือนจะมีวิธีอีกหลายวิธี แต่ดูยุ่งยาก ใช้อันนี้ก็ Work เลยจบ
Enjoy this article?
Consider subscribing to our RSS feed!
ไม่มีความเห็น
ยังไม่มีความเห็น