中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術文檔 > 多媒體制作 > flash remoting 實踐
淺析三維全景 回到列表 Flash鼠繪著色入門教程
 flash remoting 實踐

作者:lwanchen 時間: 2004-11-16 文檔類型:原創(chuàng) 來自:藍色理想

第 1 頁 配置篇
第 2 頁 .net環(huán)境下的 hello world

下面來教大家在.net環(huán)境下寫最簡單的hello world,好了閑話少說,現(xiàn)在開始:

這里我假設你已經(jīng)看過我第一篇關于配置的文章,并已經(jīng)成功的執(zhí)行了前兩個例子。

1.首先請大家進入你的虛擬目錄c:\Inetpub\wwwroot,在這里你會看到flashremoting文件夾,也就是例子文件的文件夾,在這個目錄新建一個myASPApp文件夾,這里我們開發(fā)的程序就放到這個文件夾下,在這里我們新建一個名為bin的目錄,建好之后請回到c:\Inetpub\wwwroot,進入flashremoting目錄,把這里的bin目錄下的flashgateway.dll和frconfig.txt文件拷貝到myASPApp下的bin目錄里,然后在把flashremoting下的gateway.aspx和web.config兩個文件拷貝到myASPApp目錄下,在這里我不具體介紹為什么我們要把這些文件拷貝到相應的目錄里,如果你想了解請看自帶的幫助文件remoting支持4種.net技術分別是:

asp.net
ado.net data-binding
web services
assembly(with the .dll extension)

要讓我們寫的remoting程序能夠找到asp.net頁你就必須把asp.net頁放到虛擬目錄下或者是子目錄下,也就是我們?yōu)榱藚^(qū)分我們要開發(fā)的項目所以我們在虛擬目錄下建了一個myASPApp文件夾,我們把我們需要的asp.net放到這里就可以了。好了,下面我們開始寫程序了。

2.在myASPApp下建立一個.aspx文件,也就是asp.net文件取名為helloWorldNET.aspx
首先要把你用的是什么語言做聲明,我這里用的是vb.net寫法是

<%@ Page language="vb" debug="true" %>

為了從flash應用程序中調(diào)用數(shù)據(jù),或者在asp.net頁面返回結果給flash,你要在asp.net頁面上使用flash remoting定制服務器端控制這個控制是又flashgateway.dll所提供的,也就是拷貝到bin目錄里的flashgateway.dll,你必須在程序代碼之前首先注冊這個控制,方法是這段代碼

<%@ Register TagPrefix="Macromedia" Namespace="FlashGateway" Assembly="flashgateway" %>

這個注冊說明了建立標識符前綴Macromedia,和命名空間FlashGateway,以及提供功能的動態(tài)連接庫文件flashgateway注冊之后你就可以使用它傳遞數(shù)據(jù)給flash應用程序了比如這樣

<Macromedia:Flash ID="Flash" runat="server">
Hello from .NET!
</Macromedia:Flash>

這里我個人認為,在<Macromedia:Flash ID="Flash" runat="server"></Macromedia:Flash>之間寫的任何代碼都會被做為返回值傳遞給flash,比較像.net中的response.wirte()和java中的System.out.print();說到這里大家可能已經(jīng)會寫這個程序了,不錯上面的代碼就是hello world程序,但是這里我不提倡大家這樣寫,還有另一種寫法,在注冊完之后直接寫這樣的代碼<Macromedia:Flash ID="Flash" runat="server"/>,然后在下面我們用asp.net的正常寫法

<script runat="server">
sub page_load(sender as object,e as eventargs)
flash.result="hello world!!!"
end sub
</script>

這里我們用page_load也就是頁面加載時所執(zhí)行的程序,這樣,當這個頁面加載時就會把hello world直接傳遞給flash對象的result方法,這是我們在flash里接收的值的方法,好了asp.net頁面已經(jīng)寫完了,下面看一下完整的代碼

<%@ Page language="vb" debug="true" %>
<%@ Register TagPrefix="Macromedia" Namespace="FlashGateway" Assembly="flashgateway" %>
<Macromedia:Flash ID="Flash" runat="server"/>
<script runat="server">
sub page_load(sender as object,e as eventargs)
flash.result="hello world!!!"
end sub
</script>

3.下面是我們所要寫的flash端的代碼,這里首先要把remoting類導入到flash中,方法很簡單選擇菜單欄,窗口--其他面板--公用庫--remoting,這時你會看到界面右邊出現(xiàn)remoting的庫面板,把RemotingClasses拖到場景中在刪除,這樣RemotingClasses類就會被添加到我們的文件的庫里面,程序執(zhí)行的時候它就被導入到程序里了,如果你想在NetConnection Debugger面板里調(diào)試程序,那么你需要把remoting類庫里的RemotingDebugClasses也拖到場景中,好了現(xiàn)在開始寫as程序

4.拖一個textinput組件到主場景中,取名為messageDisplay_txt,然后選擇主場景第一真打開動作面板,首先需要導入一些需要的類代碼如下

import mx.remoting.Service;
import mx.rpc.RelayResponder;
import mx.rpc.FaultEvent;
import mx.rpc.ResultEvent;
import mx.remoting.PendingCall;

之后第一步我們要連接服務器所以創(chuàng)建一個service對象代碼如下:

var howdyService:Service = new Service("http://localhost/myASPApp/gateway.aspx", null, "myASPApp", null, null);

第一個參數(shù)http://localhost/myASPApp/gateway.aspx首先指定到虛擬目錄下的myASPApp下的gateway.aspx文件,他做一個轉向的作用,必須這么寫,第三個參數(shù)需要指定你的asp.net頁在什么地方,這里因為我把helloWorldNET.aspx放到myASPApp目錄下所以直接寫myASPApp就可以了,但是如果你要把helloWorldNET.aspx放到myASPApp的其他子目錄下例如,helloworld目錄下,那么你就要寫成myASPApp.helloworld。

第二步呼叫服務器端的helloworld方法

var pc:PendingCall = howdyService.helloWorldNET();

這里你會看到呼叫的服務器端的方法其實就是asp.net頁helloWorldNET.aspx的名字

第三步需要寫呼叫方法后服務器返回的結果和或者是失敗的方法

pc.responder = new RelayResponder(this, "serviceFunctionName_Result", "serviceFunctionName_Fault");
這里如果呼叫成功那么執(zhí)行我們自定義的serviceFunctionName_Result方法,如果呼叫失敗那么執(zhí)行我們自定義的serviceFunctionName_Fault方法。
然后我們要寫自定義的兩個方法,首先是serviceFunctionName_Result方法,代碼如下:

function serviceFunctionName_Result(result:ResultEvent) {
    // display successful result
    messageDisplay_txt.text = result.result;
}

這里當呼叫成功后會把服務器端的結果傳遞給result對象,result對象的result方法就是從服務器端得到的值,然后我們把他放到messageDisplay_txt里顯示
當呼叫失敗時flash會調(diào)用serviceFunctionName_Fault方法,代碼如下:

function serviceFunctionName_Fault(fault:FaultEvent) {
    //display fault returned from service
    messageDisplay_txt.text = fault.fault.faultstring;
}

失敗的信息,會傳遞給fault對象,然后用messageDisplay_txt來顯示出來,好了這個程序已經(jīng)寫完了,完整的代碼如下:

import mx.remoting.Service;
import mx.rpc.RelayResponder;
import mx.rpc.FaultEvent;
import mx.rpc.ResultEvent;
import mx.remoting.PendingCall;
// connect to service and create service object
var howdyService:Service = new Service("http://localhost/myASPApp/gateway.aspx", null, "myASPApp", null, null);
// call the service helloWorld() method
var pc:PendingCall = howdyService.helloWorldNET();
// tell the service what methods handle result and fault conditions
pc.responder = new RelayResponder(this, "serviceFunctionName_Result", "serviceFunctionName_Fault");
function serviceFunctionName_Result(result:ResultEvent) {
    // display successful result
    messageDisplay.text = result.result;
}
function serviceFunctionName_Fault(fault:FaultEvent) {
    //display fault returned from service
    messageDisplay.text = fault.fault.faultstring;
}

看完之后大家是不是覺得調(diào)用.net方法其實很簡單,不錯,as代碼方面其實寫法比較固定,只要正確的找到gateway.aspx文件引導,然后正確的找到你所寫的asp.net頁,應該就沒有什么問題。在這里我注重把as2.0的寫法告訴大家,并沒有對每一個對象例如Service,PendingCall等對象做細致的講解,如果你想仔細的認識這些對象那么請看相關資料

下一節(jié)將會向大家介紹java環(huán)境下的hello world程序,我會努力的已最快速度寫出來的,由于時間倉促,所以難免有寫的不對的地方,如果寫錯了,請大家指正,如果想與我討論remoting方面的問題的請與我聯(lián)系我的qq:22339146,msn:lwanchen@hotmail.com。

如要轉載請標明作者lwanchen,謝謝。!

出處:藍色理想
責任編輯:藍色

上一頁 配置篇 下一頁

◎進入論壇Flash專欄版塊參加討論

作者文章
flash remoting 實踐
關鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設計比賽 網(wǎng)頁制作 web標準 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大福“敬•自然”設計大賽開啟
國際體驗設計大會7月將在京舉行
中國國防科技信息中心標志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻,送禮標配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:2/21個記錄/頁 轉到 頁 共2個記錄

藍色理想版權申明:除部分特別聲明不要轉載,或者授權我站獨家播發(fā)的文章外,大家可以自由轉載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權歸我站和作者共有。

轉載要求:轉載之圖片、文件,鏈接請不要盜鏈到本站,且不準打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯(lián)系,版權歸原作者所有,文章若有侵犯作者版權,請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關法律法規(guī)
·承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
·本站評論管理人員有權保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權在網(wǎng)站內(nèi)轉載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2