As3 Class from string by

30
Nov
0

เรื่องมันมีอยู่ว่า…

จะทำ 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!

ไม่มีความเห็น

ยังไม่มีความเห็น

ใส่ความเห็น

RSS feed for comments on this post

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน