เชื่อมต่อ Flash MX กับเท็กซ์ไฟล์ และ XML (ตอนที่ 2) จัดทำโดย : Ching Ching พิมพ์


เชื่อมต่อ Flash MX กับเท็กซ์ไฟล์ และ XML (ตอนที่ 2)

จากนั้นไปกำหนดแอ็กชัน การกำหนดค่าตัวแปร Sites และ URLs, ค่าดีฟอลต์ของ ComboBox ที่แสดงและลูปการแสดงค่าใน ComboBox

var ComboSites = sitestext.Sites.split(“,”);
var ComboURLs = sitestext.URLs.split(“,”);
CBOLoadSites.addItem(“ select site ”);
for (i=0; i < ComboSites.length;i++) {
CBOLoadSites.addItem(ComboSites[i],ComboURLs[i]);
}

จากนั้นสร้างฟังก์ชัน รองรับการโหลดหน้าต่างใหม่ขึ้นมาดังนี้...

CBOLoadSites.setChangeHandler(“loadSite”);

function loadSite(component) {
var SiteURL = component.getSelectedItem().data;
getURL(SiteURL, “_blank”);
}

ในเฟรมที่ 3 จะได้ Actionscript ออกมาดังนี้

var ComboSites = sitestext.Sites.split(“,”);
var ComboURLs = sitestext.URLs.split(“,”);
CBOLoadSites.addItem(“ select site ”);
for (i=0; i < ComboSites.length;i++) {
CBOLoadSites.addItem(ComboSites[i],ComboURLs[i]);
}
CBOLoadSites.setChangeHandler(“loadSite”);

function loadSite(component) {
var SiteURL = component.getSelectedItem().data;
getURL(SiteURL, “_blank”);
}

stop();



                    รูปที่ 1

ไปสร้างลาเบลในเฟรมที่ 3 ของเลเยอร์ labels แล้วตั้งชื่อ end ดูรูปที่ 1

จากนั้นทำการ Publish ไฟล์โดยไปคลิ้กที่เมนูคำสั่ง File > Publish

จากนั้นทดลองคลิ้กใช้งานไฟล์ที่สร้างขึ้น แล้วคลิ้กเลือกเว็บไซต์ จะแสดงหน้าต่างใหม่ และเปิดเว็บไซต์ดังกล่าวทันที
หากต้องการโหลดไฟล์ XML เข้าไปในมูพวี่
คลิ้กปุ่ม New เพื่อเปิดมูพวี่ใหม่ขึ้นมา และกำหนดขนาดมูพวี่ไปที่ 300x100 พิกเซล



                    รูปที่ 2

ลากคอมโพเน็นต์ ComboBox พร้อมกำหนดชื่อคอมโพเน็นต์เป็น CBOLoadSites และสร้างลาเบลข้อความ ดูรูปที่ 2

สร้างเลเยอร์ใหม่ขึ้นมาชื่อ actions แล้วคลิ้กขวาเลือก Insert Keyframe

จากนั้นไปใส่แอ็กชันในเฟรมที่ 1 โดยใส่สคริปต์ดังนี้...

//สร้างออบเจ็กต์ XML
thisXML = new XML();
thisXML.ignoreWhite = true;

//เรียกฟังก์ชัน LoadCombo เมื่อโหลดไฟล์ XML
thisXML.onLoad = LoadCombo;
//โหลดไฟล์ xml
thisXML.load(“sites.xml”);
stop();

จากนั้นไปสร้างฟังก์ชันในการโหลดข้อมูลลงใน คอมโบบ็อกซ์

function LoadCombo(success) {
if (success) {
//กำหนดตัวแปร
var BaseNode=thisXML.childNodes[0];
var ComboSites = new Array();
var ComboURLs = new Array();
var ThisNode;
//กำหนดค่าดีฟอลต์คอมโบบ็อกซ์
CBOLoadSites.addItem(“ select site ”);
//แสดงข้อมูลไซต์
for (i=0; i
ThisNode = BaseNode.childNodes[i];
ComboSites[i] = ThisNode.attributes[“siteName”];
ComboURLs[i] = ThisNode.attributes[“siteURL”];
//ใส่ค่าลงคอมโบบ็อกซ์
CBOLoadSites.addItem(ComboSites[i],ComboURLs[i]);
}
}
} ดูรูปที่ 3



                  รูปที่ 3

สร้างไฟล์ XML ที่กำหนดข้อมูลที่ต้องการดึงมาใช้งานดังนี้

สคริปทั้งหมดจะเป็นดังนี้...

thisXML = new XML();
thisXML.ignoreWhite = true;
thisXML.onLoad = LoadCombo;
thisXML.load(“sites.xml”);
function LoadCombo(success) {
if (success) {
var BaseNode=thisXML.childNodes[0];
var ComboSites = new Array();
var ComboURLs = new Array();
var ThisNode;

CBOLoadSites.addItem(“ select site ”);
for (i=0; i < BaseNode.childNodes.length; i++) {
ThisNode = BaseNode.childNodes[i];
ComboSites[i] = ThisNode.attributes[“siteName”];
ComboURLs[i] = ThisNode.attributes[“siteURL”];
CBOLoadSites.addItem(ComboSites[i],ComboURLs[i]);
}
}
}
stop();

ข้อมูลจาก : http://www.arip.co.th
โดย Ching Ching

คุณอาจสนใจ
สร้างพื้นหลังกราฟฟิกอย่างงายด้วย Photoshop
langjuko (278,278 - 08 ต.ค. 51)
โปรแกรมแรกของภาษา c
Mr.POP (30,249 - 26 พ.ย. 50)
การทำ Counter โดยใช้ฐานข้อมูล MySQL
อี๊ด (84,082 - 03 มิ.ย. 49)
เทคนิคการเก็บโค้ด PHP ไว้ใน Dream MX
Mr.GuruZ (34,788 - 04 มิ.ย. 49)
การปรับเปลี่ยนขนาดฟอนต์ Font
อ้อม (20,240 - 13 ม.ค. 50)
การเพิ่มข้อมูลลงในฐานข้อมูล MySQL โดยใช้ Form
Mr.GuruZ (141,212 - 03 มิ.ย. 49)
การจัดเรียง Objects
หมูขุน (17,254 - 04 ก.พ. 50)
การกำหนดหัวกระดาษและท้ายกระดาษ
P'nutthapon (28,744 - 13 ม.ค. 50)