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

คุณอาจสนใจ
Head
เว็บไทยดีดี (25,912 - 02 เม.ย. 51)
การทำภาพเอนิเมชั่นใน photoshop cs3
Charoen (419,865 - 30 ต.ค. 51)
คีย์บอร์ดตอบสนองช้า...มาก
เว็บไทยดีดี (19,200 - 08 ก.ย. 50)
การกำหนดวัตถุประสงค์ และการออกแบบฐานข้อมูล
Mr.N (24,056 - 30 เม.ย. 50)
การใช้เส้นที่เป็นจุดเชื่อมต่อ
หมูขุน (22,204 - 04 ก.พ. 50)
Magic Wand Tool (W)
Mr.GuruZ (112,828 - 22 ก.ย. 50)
การทำ Login แบบจดจำค่า Cookie
Zerohate (78,694 - 18 ส.ค. 50)
การตัดวัตถุ ตามที่เราต้องการ
first (29,676 - 02 เม.ย. 51)