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

 

 

Flash加载外部图片 

以前用flash AS加载外部图片,我用的方法是把一个的桢上放一个图片,每个桢都要写相同的代码,下面是看了一些文章介绍的方法,经过学习。深有体会,动态的修改放置的图片,并且每次加载图片时,还会有特效。 

 

首现,把图片放到一个名为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); 

 

}; 

调用外部元件使用: 
_root.attachMovie() 就可以。
测试通过,完全可用。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值