亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Flex > 正文

Flex include和import ActionScript代碼

2024-09-12 17:51:26
字體:
來源:轉載
供稿:網友
在ActionScript中include和import有著截然不同的區別。Include是將一個文件中的代碼拷貝到另一個文件中去,也就是將代碼拷貝到include語句所在的位置上。Import是添加了對類或包的引用,這樣你就可以訪問其他的類中定義的對象和屬性。通過import導入的代碼文件必須存在于你導入的路徑上。通過include導入代碼文件,輸入的文件地址必須與主文件要能在相對路徑上尋找到,或者通過絕對路徑也可以。
你可以在你的Flex應用程序中使用include語句和< mx:Script source="filename">標簽來添加ActionScript代碼。
你可以在<mx:Script>內使用import語句來引用你的Flex應用程序中可能需要的類和包。
你可以在<mx:Script>標簽內通過引用外部的ActionScrit文件來引入ActionScript代碼。在編譯的時候,編譯器會將整個代碼文件中的內容拷貝到你的MXML程序中,就像你真的在標簽內寫了代碼一樣。在<mx:Script>代碼塊中,ActionScript語句只能在函數內部。引入的代碼文件也可以定義靜態變量和命名空間,引入其他的ActionScript文件,導入聲明定義,和使用命名空間。但你不能將要導入的文件定義為類。
引入的ActionScript文件中定義的變量和函數可以允許給MXML文件中的任何組件使用。引入的ActionScript文件的名字不能與導入的ActionScript類的名字一樣。Flex可以訪問導入的文件中的變量和函數,但不能添加新的類(本人理解為被導入的文件不能是個類),因為MXML文件本身就是一個類。
導入的AS文件不一定非要和MXML文件在同一個目錄下。然而,你必須讓你的程序能夠在目錄結構上正確識別到你的ActionScript代碼文件。
下面有兩種方法能在Flex應用程序中引入外部的ActionScript文件:
§ 使用<mx:Script>標簽的source屬性。這是引入外部ActionScript代碼文件的首選方法。
§ 在<mx:Script>代碼塊中使用include語句。
使用source屬性來引入ActionScript文件
你可以在Flex應用程序中使用<mx:Script>標簽的source屬性來引入外部的ActionScript文件。這種方式可以讓你的MXML文件中的代碼不那么零亂而且還可以提高代碼的可重用性。
不要讓代碼文件與程序文件的名字一樣。這樣會讓編譯器報錯。
下面的是IncludedFile.as文件的內容:
復制代碼 代碼如下:

// usingas/includes/IncludedFile.as
public function computeSum(a:Number, b:Number):Number {
return a + b;
}

下面例子中引入了IncludedFile.as文件中的內容。該文件是在引入它的文件的子目錄下。
復制代碼 代碼如下:

<?xml version="1.0"?>
<!-- usingas/SourceInclude.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script source="includes/IncludedFile.as"/>
<mx:TextInput id="ta1st" text="3" width="40" x="170" y="24" textAlign="right"/>
<mx:TextInput id="ta2nd" text="3" width="40" x="170" y="52" textAlign="right"/>
<mx:TextArea id="taMain" height="25" width="78" x="132" y="82" textAlign="right"/>
<mx:Button id="b1" label="Compute Sum"
click="taMain.text=String(computeSum(Number(ta1st.text), Number(ta2nd.text)));"
x="105"
y="115"
/>
<mx:Label x="148" y="52" text="+" fontWeight="bold" fontSize="17" width="23"/>
</mx:Application>

<mx:Script>標簽的source屬性支持相對路徑和絕對路徑兩種方式。
你不能在同一個<mx:Script>標簽內既使用source屬性又寫ActionScript代碼。如果需要這么做的話,需要使用兩個<mx:Script>標簽。
Include指令一個ActionScript語句,可以把指定的文件中的內容拷貝到MXML文件中去。Include指令的語法如下所示:
include "file_name";
下面的例子中引入了myfuncitons.as文件:
復制代碼 代碼如下:

<?xml version="1.0"?>
<!-- usingas/IncludeASFile.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script><![CDATA[
/* myfunctions.as文件定義了兩個返回字符串的函數 */
include "includes/myfunctions.as";
]]></mx:Script>
<mx:Button id="myButton"
label="Call Methods in Included File"
click="ta1.text=doSomething();ta1.text+=doSomethingElse()"
/>
<mx:TextArea width="268" id="ta1"/>
<mx:Button label="Clear" click="ta1.text=''"/>
</mx:Application>

你可以讓每個include指令都指向單一個文件,也可以使用任意多的include指令語句。Include指令可以嵌套使用。通過include指令引入的文件中也可以通過使用include指令引入其他的文件。
Include指令僅僅支持相對路徑。
Include指令只能在允許多條語句執行的地方使用。例如,下面的例子就是錯誤的:
if (expr)
include "foo.as"; //IF語句的后面的第一條語句可以執行,剩下的語句都不行
...
下面的例子是正確的:
if (expr) {
include "foo.as"; // IF后的{}內的所有語句都可以執行
}
花括號中允許使用多條語句所以你可以在花括號中添加多條語句。
Adobe建議:盡量不要使用include指令來引用大量的ActionScript文件。你應該將代碼分成不同類文件中,然后將這些類文件存放在合適的邏輯包結構中。
<mx:Script>標簽的source屬性與include指令引用文件的方式各有不同。
下面闡述的就是<mx:Script>標簽的source屬性引用外部文件時的有效的路徑:
§ 相對URL,例如../myscript.as。沒有以斜線開頭URl決定了文件的相對路徑。如果<mx:Script source="../IncludedFile.as">包含在"mysite/myfiles/myapp.mxml,"里,系統會尋找"mysite/IncludedFile.as"。
ActionScript中的include指令只能引用相對的URL。Flex會從源代碼路徑中尋找導入的類和包。Flex不會從源代碼路徑中尋找那些包含了include指令的文件或<mx:Script>標簽的source屬性引用的文件。
導入類和包
如果你創建了多個公用類或者存放了常用函數的ActionScript文件,你可能希望將它們存儲在包內的一組類中。你可以使用import語句來導入AcionScript類和包。導入之后,當你使用ActionScript來訪問類的時候你不用輸入完整的類名。
下面的例子中導入了MyPackage.Util包內的MyClass類:
復制代碼 代碼如下:

<?xml version="1.0"?>
<!-- usingas/AccessingPackagedClasses.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script><![CDATA[
import MyPackage.Util.MyClass;
private var mc:MyClass = new MyClass;
]]></mx:Script>
<mx:Button id="myButton" label="Click Me" click="myButton.label=mc.returnAString()"/>
</mx:Application>

在這段代碼中,取代使用完整類名(MyPackage.Util.MyClass)來引用類的是你可以使用MyClass來引用類。
你也可以使用通配符(*)來導入整個包。例如,下面的語句就是導入了整個MyPackage.Util包:
import MyPackage.Util.*;
Flex會搜尋導入的文件和包,并且只導入那些被最終生成的SWF文件用到的類和包。
簡單的定義完整的類名是不夠的。你應該在僅僅當需要區別兩個在不同的包內的但有同樣名字的類的時候使用完整的類名。
如果你在程序中導入了類但并沒有使用它,那么這個類就不會編譯到最終生成的SWF文件的字節代碼中去。因此,使用通配符(*)導入整個包并不能增加SWF文件的大小。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕精品www乱入免费视频| 亚洲欧美变态国产另类| 国产精品一区久久久| 国产v综合v亚洲欧美久久| 久热精品视频在线观看一区| 亚洲欧洲成视频免费观看| 精品视频在线导航| 91欧美日韩一区| 精品日本高清在线播放| 欧美国产一区二区三区| 国产精品久久久亚洲| 成人有码视频在线播放| 久久久久成人网| 亚洲美女又黄又爽在线观看| 久久亚洲综合国产精品99麻豆精品福利| 91av视频在线免费观看| 国产精品久久91| 国产精品成人国产乱一区| 91精品国产亚洲| 欧美激情久久久久久| 国产精品69久久久久| 亚洲伊人久久综合| 中文字幕久久精品| 色综合伊人色综合网| 精品国产精品自拍| 国产99视频精品免视看7| 欧美日韩第一视频| 大荫蒂欧美视频另类xxxx| 亚洲国产免费av| 日韩精品在线观看一区| 欧美日韩视频免费播放| 欧美日韩国产精品一区| 国产精品久久久久久久久免费| 久久久久久久久久久免费精品| 国产亚洲日本欧美韩国| 欧美亚洲激情在线| yw.139尤物在线精品视频| 日本不卡免费高清视频| 精品亚洲国产视频| 亚洲精品国产福利| 日本久久久久亚洲中字幕| 国产亚洲综合久久| 欧美性色19p| 亚洲人成免费电影| 欧美黑人巨大精品一区二区| 法国裸体一区二区| 在线视频精品一| 久久影院中文字幕| 亚洲精品乱码久久久久久金桔影视| 九九热这里只有精品免费看| 萌白酱国产一区二区| 亚洲国产天堂久久综合| 在线色欧美三级视频| 91久久精品国产91久久| 7777kkkk成人观看| 亚洲精品98久久久久久中文字幕| 一区二区三区高清国产| 日韩中文字幕精品| 日韩av在线免费| 国语自产在线不卡| 成人免费福利视频| 亚洲iv一区二区三区| 欧美成人午夜激情视频| 久久视频在线直播| 国产精品欧美一区二区三区奶水| 国产精品99久久久久久白浆小说| 久久99精品国产99久久6尤物| 欧美精品久久一区二区| 亚洲欧美国产视频| 国产精品入口日韩视频大尺度| 久久激情五月丁香伊人| 亚洲第一页自拍| 亚洲精品视频在线观看视频| 日韩在线视频免费观看| 国模精品视频一区二区| 欧美大片免费观看在线观看网站推荐| 欧美成人全部免费| 久久久久久久久国产精品| 欧美日韩裸体免费视频| 日韩在线观看av| 欧美高清视频在线| 国产精欧美一区二区三区| 欧美国产日本高清在线| 亚洲一区二区中文字幕| 91av视频在线播放| 国产精品久久久久aaaa九色| 米奇精品一区二区三区在线观看| 91嫩草在线视频| 日韩欧美999| 国产97在线|亚洲| 久久精品国产v日韩v亚洲| 国产亚洲视频中文字幕视频| 久久伊人免费视频| 色播久久人人爽人人爽人人片视av| 日韩福利在线播放| 日韩第一页在线| 成人啪啪免费看| 欧美日韩亚洲天堂| 亚洲人成电影网站| 综合网日日天干夜夜久久| 国产一区二区三区在线| 91av在线精品| 国产欧美va欧美va香蕉在| 久久久久久久一区二区| 欧美激情图片区| 日韩免费高清在线观看| 国产啪精品视频网站| 亚洲色图狂野欧美| 亚洲人在线视频| 精品久久中文字幕| 久久久精品亚洲| 97久久精品人搡人人玩| 国产精品久久久久99| 国产精品久久久久aaaa九色| 亚洲91精品在线| 欧美日韩福利视频| 欧美精品999| 91美女片黄在线观看游戏| 日韩欧美在线中文字幕| 中国人与牲禽动交精品| 亚洲国产精品久久精品怡红院| 亚洲一级黄色片| 久久久久久久久久久av| 91精品国产91久久久久久| 国产精品福利网| 九九热精品视频国产| 欧美成人h版在线观看| 97国产在线观看| 中文字幕欧美日韩在线| 欧美在线视频在线播放完整版免费观看| 久久综合久久八八| 91精品国产色综合久久不卡98| 国产欧美久久久久久| 久久久女人电视剧免费播放下载| 亚洲三级 欧美三级| 国产xxx69麻豆国语对白| 免费91麻豆精品国产自产在线观看| 456亚洲影院| 69久久夜色精品国产7777| 亚洲综合中文字幕在线观看| 亚洲色图激情小说| 亚洲人成网站777色婷婷| 久久久久久久久久久网站| 亚洲天堂一区二区三区| 国产精品爱啪在线线免费观看| 亚洲精品videossex少妇| 久久6精品影院| 欧美超级乱淫片喷水| 久久天天躁狠狠躁夜夜av| 国产精品久久91| 国产午夜精品久久久| 高清一区二区三区四区五区| 国产在线观看91精品一区| 日韩精品一区二区视频| 国产欧美久久一区二区| 日韩美女写真福利在线观看| 国产成人精品一区二区在线| 国产成人精品免费视频| 亚洲天堂第二页| 日韩在线www| 最近中文字幕2019免费| 国产成人在线一区| 中文字幕日韩在线视频| 日韩成人网免费视频|