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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

处理外部信息(xml,html,js,shareObject)

發布時間:2025/3/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 处理外部信息(xml,html,js,shareObject) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Accessing External Data
有時候訪問游戲的外部信息是非常必要的, 你可以載入來自網頁或者文本域的外部參數,也可以保存或者下載本地信息,
External Variables
假設你有一個游戲是根據一些選項而變化的
你可以從flash影片所在的html頁面獲取一些參數, 有幾種不同的方法能實現這個,但是如果你使用通過publish setting設置而發布生成的html模版的話,你能通過設定AC_FL_RunContent 函數中的參數flashvars 開實現傳遞。

看這個比較短的函數, 這里包含我添加的參數flashvars

<script language=”javascript”>
AC_FL_RunContent(
‘codebase’,
‘http://download.macromedia.com/p ... flash.cab#version=9,0,0,0’,
‘width’, ‘550’,
‘height’, ‘400’,
‘src’, ‘ExternalVariables’,
‘quality’, ‘high’,
‘flashvars’, ‘puzzleFile=myfilename.jpg&difficultyLevel=7’
);
</script>

Flashvars是一對屬性名等于值的格式, 他們之間用&分開,上面的參數我們設置了puzzleFile等于myfilename.jpg, diffcultyLevel等于7

Flash播放的時候,flash能通過LoaderInfo對象獲取這些參數, 下面的這行代碼是獲得了參數并且把參數裝載到一個對象里面

var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;

如想訪問單個的參數值,你可以使用這樣的代碼實現

var diffLevel:String = paramObj[“difficultyLevel”];

你可以使用這個方法傳遞任何數字,例如圖片的名字,開始的關卡,速度,位置等等

Loading Data
調用外部文本文件是容易的,我們可以調用xml格式的文件,那將是非常方便的
例如我們的xml是這樣的

<LoadingData>
<question>
<text>This is a test</text>
<answers>
<answer type=”correct”>Correct answer</answer>
<answer type=”wrong”>Incorrect answer</answer>
</answers>
</question>
</LoadingData>

如果你想調用xml里面的數據,我們需要URLRequest 和 URLLoader 兩個對象的幫忙,然后你可以監聽載入xml文件是否完成,如果完成可以觸發一個函數的實現!

var xmlURL:URLRequest = new URLRequest(“LoadingData.xml”);
var xmlLoader:URLLoader = new URLLoader(xmlURL);
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);

我們可以寫這個函數去讀取xml里面的信息并trace出來
function xmlLoaded(event:Event) {
var dataXML = XML(event.target.data);
trace(dataXML.question.text);
trace(dataXML.question.answers.answer[0]);
trace(dataXML.question.answers.answer[0].@type);
}

我們需要把xml文件內容轉換成XML對象,然后便可以輕松訪問了

讀黑羽舵主的殿堂之路看到xml可以直接寫在flash里面,所以我們可以直接創建XML對象,只不過不是外部調用而已

Var dataXML: XML =

<LoadingData>
<question>
<text>This is a test</text>
<answers>
<answer type=”correct”>Correct answer</answer>
<answer type=”wrong”>Incorrect answer</answer>
</answers>
</question>
</LoadingData>

trace(dataXML.question.text);
trace(dataXML.question.answers.answer[0]);
trace(dataXML.question.answers.answer[0].@type);



Saving Local Data

游戲中我們通常要存儲數據到本地,例如你可以存儲游戲先前的分數,或者一些游戲選項,去存儲數據到本地,我們需要 SharedObject 對象。
看下面代碼, 訪問SharedObject對象同時會在本地相應的目錄生成 命名為 mygamedata的sol文件,這個文件就是用來存儲本地數據的,設定myLocalData.data為gameinfo,會在 mygamedata文件里面生成gameinfo = “Store this”, 當我們第一次運行下面的代碼的時候,是訪問不到本地數據的,因為第一次下面代碼完成了本地創建和存儲的工作,但第2次運行的時候就會讀出Store this了,也就是讀取的是先前的數據。
var myLocalData:SharedObject = SharedObject.getLocal(“mygamedata”);
trace(“Found Data: “+myLocalData.data.gameinfo);
myLocalData.data.gameinfo = “Store this.”;

總結

以上是生活随笔為你收集整理的处理外部信息(xml,html,js,shareObject)的全部內容,希望文章能夠幫你解決所遇到的問題。

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