日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

as3是js和java_AS3与JS进行交互(一)

發布時間:2023/12/19 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 as3是js和java_AS3与JS进行交互(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個話題在網上應該說很好找,有很多這方面的資料。比者也看過一些,不過大部分都是AS2與JS進行交互。很少提到AS3,即使有,也讓人感覺淺嘗輒止。很多東西并沒有介紹的太清楚。所有筆者萌生了寫這樣一篇教程的想法!

提及AS3與外部腳本的交互,筆者認為可以總結成兩種。一是AS3調用外部函數,二是外部腳本調用AS3函數。無外乎就這兩種。在調用函數的同時,我們還

可以向函數傳遞一些參數。這就達到了傳遞數據的目的。舉一個最簡單的例子。我們平時在網絡上看視頻的時候,這些用AS3制作的播放器就是由外部腳本(可能

是JS,也可能是ASP或其他腳本)傳遞給它的視頻地址。從而就簡化我們的后臺程序。有的人會問!你用播放器去讀取外部的XML數據不是也可以嗎?確實,

當時,當你有成千上萬個視頻的時候,你不可能輸入這么多數據。一是比較麻煩,二來是影響了網頁運行的速度。所以,AS3與外部腳本進行交互是非常重要的。

其實,我們做的絕大多數帶有交互性的FLASH程序都要多多少少與后臺的其他語言進行交互。這里,我們就以JS腳本來舉例說明交互的過程。當然,AS3與

JS腳本可以說有血緣關系,具體的大家可以去查看一下FLASH的發展歷史。好了!廢話不多說,我們這就開始講如何讓JS與AS3進行一些信息的交換。本

節中,我們只講解JS調用AS3中的函數。反向的調用我們將在下一節中進行講解!

首先,我們新建一個FLASH文檔,然后在舞臺上繪制一個動態文本,該文本的實例名稱為wen_txt。好了!美工的部分就算完成了(我們這里是一個非常簡單的實例,不要求太復雜。力求突出重點)!

現在,我們要在FLASH中建立一個允許被外部調用的函數。那么如何去建立聲明這樣一個函數呢?我們要使用到一個類,這個類的名字就是

ExternalInterface。很多人都沒有太注意過這個類。這個類實際上是在flash.external

包中。這個包是專門用來和外部容器進行通信的。那么對這個ExternalInterface類,它的官方解釋是“ExternalInterface

類是外部 API,在 ActionScript 和 Flash Player 的容器之間實現直接通訊的應用程序編程接口,例如,含有

JavaScript 的 HTML 頁。”很顯然,這里已經提到了JS。好了!下面我們就來寫一下腳本吧!如下:

ExternalInterface.addCallback("abcd",yun);

function yun(zi:String):void{

wen_txt.text = zi;

}

我們看,建立一個可以被外部調用的函數實際上就是使用了ExternalInterface類的addCallback方法。我們可以從宏觀上這樣理解。

但實際上它的真正作用是將一個函數注冊為可從容器調用。實際上我們的FLASH端就這么簡單。好了!保存文件,發布。注意!這里,我發布出來的SWF文件

的文件名是ab.swf。

上面我們已經將FLASH端的腳本寫好了,下面我們來編寫JS代碼,其實也是一個HTML網頁代碼,這個HTML代碼中包含JS代碼!如下:

FLASH與JS交互

function pageInit() {

sendToActionScript("你好");

}

function sendToActionScript(value) {

window.ExternalInterfaceExample.abcd(value);

}

id="ExternalInterfaceExample" width="500" height="500"

>

好了!現在將這個網頁保存到和ab.swf同一文件夾下,然后運行這個網頁。當程序運行的時候,我們就可以看到FLASH中的動態文本會出現“你好”字樣!這個過程就是JS調用AS3函數,同時向FLASH傳遞了一個參數,或者說傳遞了一組數據。

關于這段JS代碼,我們就不多說了。因為涉及到很多JS腳本的只是。大家可以在網上查找相關的資料,就可以明白這段JS腳本的含義了!

本節我們就講解到這里,下一節我們講解,FLASH如何向JS傳遞參數!

AS3與JavaScript進行交互(二)2009-11-26 17:20?????? 書接上文,上次我們講到JS向FLASH傳遞參數。本節我們來講解FLASH向JS傳遞參數。

先說說原理吧。實際上我們所瀏覽的每一個網頁都可以看作是一個容器。那何為容器呢?說白了就是一個盒子。在這個盒子里面放著許多東西,包括網頁中的文字,

圖片,FLASH,腳本,按鈕,文本框等。所以,我們的FLASH如果想訪問網頁中的JS函數,實際上就是訪問上一級中的函數。這種操作相對就要簡單一

些。因為我們的JS函數對網頁中的成員都是公開的,這個網頁中的任何元素都能夠調用這個JS函數。同樣,FLASH也擁有這樣的權限。那么好了!我們來看

看在網頁中具體是怎樣做的。

我們這次先來寫網頁代碼,因為網頁這邊是接受端。代碼如下:

FLASH與JS交互

function sendToJavaScript(value) {

document.forms["form1"].output.value += "\n" + "ActionScript says: " + value;

}

id="ExternalInterfaceExample" width="500" height="500"

>

Initializing...

具體的什么意思筆者在這里就不多說了,屬于JS方面的知識,大家可以去查看相關資料。好了下面就是FLASH端的代碼了!我們先來做美工界面。畫一個輸入

文本,實例名為wen_txt,再做一個影片剪輯元件,實例名為an_mc。好了!美工部分做完了!我們來寫腳本。如下:

an_mc.addEventListener(MouseEvent.CLICK,chuan);

function chuan(evt:Event):void {

ExternalInterface.call("sendToJavaScript", wen_txt.text);

}

我們看,其實在FLASH中調用外部的JS函數還是用到了ExternalInterface類。而這次我們是使用的call方法。

好了!運行網頁,我們在FLASH的輸入文本中輸入一串文字,然后按一下按鈕。之后這段文字就會出現在網頁的文本框里面!

大家可以自己動手做一次,體會一下FLASH向JS傳遞參數的過程

總結

以上是生活随笔為你收集整理的as3是js和java_AS3与JS进行交互(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。