如何让Flash加载调用外部图片和元件求解

 我来答
厑覂仚贜
2013-11-03 · 超过60用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:139万
展开全部
深有体会,动态的修改放置的图片,并且每次加载图片时,还会有特效。 首现,把图片放到一个名为img的文件夹中,把图片名依次改为1~12。(总共放12个图片)再新建一个名为“变量”的记事本文件或者XML文档,以记事本为例即:变量.txt。舞台上还有实例名为backBtn和forwardBtn的按扭最后打开flash把下面代码写入。 随机显示8副图像之一,测试一次通过,程序中没有限制数字最大和最小,基本功能已经实现了,完全可用。function init() {//建主函数 loadVar();//调用loadVar函数 this.createEmptyMovieClip("emptyMc", 1);//新建名为emptyMc的空影片剪辑,把加载的图片都放到这个空影片剪辑中 i = random(8)+1;//让I为一个随机值,作用是开始时随机加载一个图片,动态性更强 loadJpg(emptyMc, i);//调用加载图片函数 } function loadVar() {// 新建loadVar函数, 供使用 loadVariablesNum ("变量.txt", 0);//把计事本中的值加载到flash中 this.onEnterFrame = function() {//让这个函数以帧频触发 if (num) { delete this.onEnterFrame;//删除以帧频触发 } }; } function loadJpg(mc, i) {//新建加载图片的函数,mc参数最后代表empty影片剪辑 mc.loadMovie("img/"+i+".jpg");//empty影片剪辑加载图片 this.onEnterFrame = function() {//让此函数帧以帧频进行触发 if (mc._height>0) {//当有图片在empty影片剪辑中时,就下面这样 delete this.onEnterFrame;//删除以帧频触发 mc.imgMove();//调用imgMove函数 ,可以酌情考虑或修改 setBtn(backBtn, 1);//调用setBtn函数,并设传入参数,后退按扭到1时,改变透明度 setBtn(forwardBtn, num);///调用setBtn函数,并设传入参数,后退按扭到num变量时,可以改变透明度 } }; } function setBtn(obj, n) {//建立setBtn函数,并设置好参数, if (i == n) {//当图片序号与第一个图片和最后一个图片相等时,就 obj._alpha = 50;//把按扭透明度设为50 obj.enabled = false;//让按扭不起作用 } else {//否则 obj._alpha = 100;//按扭透明度为100 obj.enabled = true;//让按扭起作用 } } MovieClip.prototype.imgMove = function() {//让每个图片都有如下属性 var mc = this;//让this关键字代表mc mc._x = (400-mc._width)/2;//设置empty影片剪辑的x坐标 mc._y = (300-mc._height)/2; //设置empty影片剪辑的x坐标 mc._alpha = 0;//设置empty影片剪辑的透明度为0 mc.onEnterFrame = function() {//以桢频触发此函数 mc._alpha += (100-mc._alpha)/10;//让透明度慢慢增加 if (mc._alpha>=95) {当透明度大于或等于95时 delete mc.onEnterFrame;//删除以帧频触发 } }; }; init();//调用主函数 backBtn.onRelease = function() { i -= 1; loadJpg(emptyMc, i); }; forwardBtn.onRelease = function() { i += 1; loadJpg(emptyMc, i); }; 调用外部元件使用:
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式