วิธีการเรียกคลาสที่อยู่ใน SWC ขณะรันไทม์ (โดยไม่ต้องประกาศให้ Flash รู้จักไว้ก่อน) by

31
Jan
0

โดยปกติแล้วเวลาที่เราจะเรียกใช้คลาสต่างๆใน SWC ที่เราใส่ไว้ใน Library นั้นจะต้องมีการเรียกคลาสนั้นๆ(เรียกชื่อ)ในโค้ดเลย เช่น

var mc:SpecialClass1= new SpecialClass1();
var mc:SpecialClass2= new SpecialClass2();
var mc:SpecialClass3= new SpecialClass3();

ทีนี้ปัญหาอยู่ที่ถ้าสมมติเราต้องการเรียกแบบนี้ 20 คลาส เราต้องมานั่งประกาศทั้งหมดหรืออย่างน้อยก็ต้องประกาศชื่อทิ้งไว้ให้ตัว Flash ได้ import เข้ามาก่อน เช่น

SpecialClass1;
SpecialClass2;
SpecialClass3;

วันนี้เลยมาเสนอวิธีเรียกผ่านสตริง ซึ่งสามารถใช้ลูปรันขณะรันไทม์ได้ครับ

- ให้เราคลิ้กขวาที่ Project ของเราแล้วเลือก Properties ครับ
swcruntime01

- จากนั้นไปที่หัวข้อ Flex Compiler และตรงช่อง Additional compiler arguments: ให้ใส่คำสั่งพร้อม path ของ swc ของเราซึ่งต้องย้ายเข้ามาอยู่ใน assets ก่อนนะครับ(ปกติจะไว้ใน libs) ในรูปแบบดังนี้ครับ

-include-libraries /assets/myclass.swc

swcruntime02

จากรูป Class ทั้งหมดที่เราสร้างไว้ใน emo.swc และ action.swc ก็จะสามารถเรียกขณะรันไทม์ได้แล้วล่ะครับ ยกตัวอย่าง

for(var i:int=1;i<=20;i++)

this.addChild(new this["SpecialClass"]+i)

เท่านี้ก็จะได้ทั้ง 20 คลาสขณะรันไทม์ได้เลยล่ะครับ

credits : http://www.thegrego.com/2012/03/20/swc-file-as-embedded-runtime-asset-library/

Enjoy this article?

Consider subscribing to our RSS feed!

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

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

ใส่ความเห็น

RSS feed for comments on this post

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