学习 Adobe Flash 中的 ActionScript 2.0 |
|
|
|
| 数据和数据类型 > 关于变量 > 在项目中使用变量 | |||
在使用 Flash 生成动画或应用程序时,在项目中不需要使用任何种类的变量的情形是很少见的。例如,如果要构建一个登录系统,可能需要使用变量来确定用户名和密码是否有效,或者它们是否根本没有被填写。
在"使用外部数据"中可以找到有关加载变量(例如名称/值对)的详细信息。
在下例中,将使用变量来存储使用 Loader 类加载的图像的路径,使用一个用于 Loader 类的实例的变量,并使用几个根据文件是否成功加载而调用的函数。
在项目中使用变量:
/* 指定默认图像以备未用 FlashVars 传递值时使用。 */
var imgUrl:String = "http://www.helpexamples.com/flash/images/image1.jpg";
if (_level0.imgURL != undefined) {
// 如果已指定了图像,将覆盖默认值。
imgUrl = _level0.imgURL;
}
this.createEmptyMovieClip("img_mc", 10);
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip):Void {
target_mc._x = (Stage.width - target_mc._width) / 2;
target_mc._y = (Stage.height - target_mc._height) / 2;
}
mclListener.onLoadError = function(target_mc:MovieClip):Void {
target_mc.createTextField("error_txt", 1, 0, 0, 100, 20);
target_mc.error_txt.autoSize = "left";
target_mc.error_txt.text = "Error downloading specified image;\n\t" + target_mc._url;
}
var myMCL:MovieClipLoader = new MovieClipLoader();
myMCL.addListener(mclListener);
myMCL.loadClip(imgUrl, img_mc);
代码的第一行指定了要动态加载到 Flash 文档中的图像。接下来,检查是否使用 FlashVars 或 URL 编码的变量为 imgURL 指定了一个新值。如果已指定了一个新值,默认图像的 URL 将被该新值覆盖。有关使用 URL 变量的信息,请参阅使用 URL 中的变量。有关 FlashVars 的信息,请参阅在应用程序中使用 FlashVars。
代码中接下来的两行定义了 MovieClip 实例,和一个用于将来的 MovieClipLoader 实例的 Listener 对象。MovieClipLoader 的 Listener 对象定义了两个事件处理函数,onLoadInit 和 onLoadError。在图像加载成功并在舞台上进行了初始化时,或在图像加载失败时,将调用这两个处理函数。然后您可以创建一个 MovieClipLoader 实例,使用 addListener() 方法将前面定义的 listener 对象添加到该 MovieClipLoader 中。最后,在调用 MovieClipLoader.loadClip() 方法(该方法指定要加载的图像文件和该图像要加载到的目标影片剪辑)时,将下载并触发图像。
因为您是在创作工具中测试 Flash 文档,imgUrl 的任何值都不会通过 FlashVars 或随 URL 传递,因此将显示默认图像。
|
注意 |
确保在"发布设置"对话框中同时选中了"Flash"和"HTML"。选择"文件">"发布设置",然后单击"格式"选项卡。然后,选择这两个选项。 |
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="imgloader" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="imgloader.swf" /><param name="FlashVars" value="imgURL=http://www.helpexamples.com/flash/images/image2.jpg"><param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <embed src="imgloader.swf" quality="high"FlashVars="imgURL=http://www.helpexamples.com/flash/images/image2.jpg"bgcolor="#ffffff" width="550" height="400" name="imgloader" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /> </object>
要修改此示例以使用自己的图像,应该修改 FlashVars 值(双引号中的字符串)。
|
|
|
|