หมวดหมู่

การอ่านค่า FlashVars บน Flex 4

วันที่ 18 ต.ค. 53 + 00:00.00 , กลุ่ม Flash & Flex , ป้าย flashvar, flex

หากต้องการส่งค่าต่างๆ จากภายนอกให้เข้าไปในไฟล์ Flash ที่สร้างด้วย Flex 4 นั้นโดยหลักการแล้ว เราต้องใช้ FlashVars ซึ่งเป็นพื้นฐานของการผ่านค่าเข้าไปใน ไฟล์ Flash

1. ทำไมกันวะ ถึงทำแบบ Flash ไม่ได้

คือเริ่มต้น ถ้าจะใช้ FlashVars เราก็มีหลายๆ วิธีที่ได้ลองหาๆ มา ตัวอย่างเช่น

public function initialize():void
{
     var flashvars:Object = this.root.loaderInfo.parameters;
}


ปัญหาใหญ่ที่เจอคือ ไอ้ this.root มีค่าเป็น null (อ่านว่า เน่า และแปลว่า เน่า) ลองแล้วลองอีก ก็ไม่สามารถทำให้ไอ้สิ่งนี้หายเน่าได้ ไม่รู้เพราะสากกระเบืออะไร


2. จากนั้นลองพยายาม ลองใหม่

ด้วยการเขียนด้วยโค้ด Action Script เพียวๆ (ก็คือ ไม่ใช้งาน Flex แล้ว) ด้วยตัวอย่างแบบนี้ (พอดีได้ตัวอย่าง Source code ใหม่มาน่ะ เลยลองดูหน่อย)

package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.TextField;

	/**
	 * ...
	 * @author srs
	 */
	public class Main extends Sprite
	{

		public function Main():void
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}

		private function init(e:Event = null):void
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			var flashVars:Object = loaderInfo.parameters;
			trace(flashVars.myVar);
			var tf:TextField = new TextField();
			tf.text = flashVars.myVar || "flashvars not read";
			addChild(tf);
		}

	}
}


เฮ้ย แม่งออกว่ะ !!


3. จากนั้นเลย ลอกๆ ตามตัวอย่าง มาใส่ Flex ใหม่อีกที

เพราะมันมีส่วนต่าง กันอยู่บ้างเล็กน้อย ... แต่ปรากฏว่า เน่าเหมือนเดิมครับ


4. สรุปได้ว่าอ่านค่า FlashVars ด้วย Flex ไม่เหมือนวิธีปกติ

คงต้องหาวิธ๊ใหม่ ค้นๆ อยู่ซักพัก ก็ไปเจอ ว่าให้ใช้

this.parameters


เฮ้ย!! มึงจะง่ายเกินไปมั้ยวะ ? เลยจัดแจง ทดลองดู ... โอ้ววว อ่านค่าได้แล้ว นี่ไปอ้อมโลกไหนอยู่ตั้งนานวะเนี่ย ค่าที่ได้จาก this.parameters จะเป็น object เลย ถ้าเราเว็บ FlashVars มาด้วยชื่อ myVar เราก็ get ค่าได้ด้วย this.parameters.myVar ทันที


5. แสงสว่าง

http://blog.flexexamples.com/2009/03/04/grabbing-flashvars-from-the-embedding-html-template-in-flex-gumbo-swfobject-edition/
avatar
Synchronize ใครกันล่ะหว่า ?

ไม่สามารถแสดงความคิดเห็นได้ จำเป็นต้อง เข้าระบบสมาชิก ก่อน หรือ สมัครสมาชิกใหม่

ขับเคลื่อนโดย un-no Engine 2.2.0 © ลิขสิทธ์โดย บริษัท อันโน คอร์ปอเรชั่น จำกัด [ แผนที่เว็บไซต์ ]

แก้ไขล่าสุด: 2011-10-12 18:22:02, หมายเลขเซสชั่น: cf3a2tnfe1k0gp6be6mi9mjjf5, ใช้เวลาสร้าง: 0.019055128 วินาที (force)