เชื่อมต่อ 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
|