ง่ายมากมายด้วย ExternalInterface
import flash.external.ExternalInterface; ... ExternalInterface.call("your_javascript_function()");
เริ่มเขียนบล็อกแบบไม่ค่อยมีความรู้ใหม่ๆละนะ การให้ FLEX เล่นเสียงเพลงที่เราต้องการมีหลายวิธีด้วยกัน แต่ที่ผมรู้ตอนนี้มีอยู่ 3 วิธี คือ
คราวนี้เปลี่ยนเรื่องเขียน blog บ้าง (เนื่องจาก Facebook ไม่รู้จะเขียนอะไร เอิ๊กๆ รอ facebook update หน้า homepage ใหม่คราวหน้าก่อนค่อยว่ากันครับ) หลายๆ คนในที่นี้คงจะใช้ Firefox กันอยู่ (หรือถ้าใช้ IE โดยเฉพาะอย่างยิ่ง IE6, IE7 ก็รีบ update ซะ! เพราะคุณกำลังใช้ browser ที่กากที่สุดในโลกอยู่!!) เมื่อก่อนผมก็เป็นแฟนคลับ Firefox ครับ แต่ว่าเนื่องจากผมมีปัญหาหลักๆ ดังนี้
แค่นี้ก็เพียงพอที่จะทำให้ผมเปลี่ยนใจมา Chrome ได้แล้วละครับ(ฮา) เพราะมันเร็วกว่ามาก และมีตัวจัดการ Process ของแต่ละ Extension ได้อย่างลื่นไหลโดยไม่ต้อง restart browser เอาเป็นว่ามาเข้าเรื่องกันดีกว่า เนื่องในตอนนี้ Google Chrome 4.0 ได้ support Extension ค่อนข้างสมบูรณ์มากแล้ว สามารถดาวน์โหลดได้ที่นี่ เมื่อดาวน์โหลดเสร็จแล้วมีเว็บรวม Extension อยู่สองเว็บคือ Official Site ของ Google และเว็บ Chrome Extension ส่วน Extension ที่ผมขอแนะนำมีดังนี้
http://blog.code-head.com/calling-a-javascript-function-from-actionscript-3-flash
ง่ายมากมายด้วย ExternalInterface
import flash.external.ExternalInterface; ... ExternalInterface.call("your_javascript_function()");
จะเอาค่า Return ก็ได้
var x:int = ExternalInterface.call("get_x()");
ส่ง Parameter กะได้
var retval:int = ExternalInterface.call("some_js_function", "the-argument");
http://codingforums.com/showthread.php?t=152181
Javascript
// Provides the proper address for the movie depending on browser function getFlashMovie(movieName) { var isIE = navigator.appName.indexOf("Microsoft") != -1; return (isIE) ? window[movieName] : document[movieName]; } function playMovie() { getFlashMovie("video").JStoASviaExternalInterface("start"); }
Action Script
function getTextFromJavaScript(str:String):Void { if (str = "start") { startVideo(); } } ExternalInterface.addCallback("JStoASviaExternalInterface", this, getTextFromJavaScript);
ตอนที่สองของการทำไอ้นี่ครับ
เป็นตอนต่อของ entryนี้ ครับ
อย่างที่ว่าไว้ในตอนที่แล้วครับ ส่วนที่2ของการทำโลกหมุนๆอันนี้ จะมาทำในโปรแกรม Photoshop ครับ
AS3 จะมีฟังค์ชัน addFrameScript เป็นฟังค์ชั่นของออบเจค MovieClip ใช้สำหรับให้รันฟังค์ชันที่กำหนดไว้เมื่อ movieClip รันมาถึงเฟรมที่เรากำหนดไว้
MovieClip.addFrameScript(frame_number:uint,function_to_call:Function)
frame_number – เฟรมที่เราต้องการให้ฟังค์ชั่นของเราเริ่มทำงาน มีการลำดับเฟรมแบบเริ่มต้นที่ 0
function_to_call – ฟังค์ชันที่เราต้องการให้เรียก