以前用flash AS加载外部图片,我用的方法是把一个的桢上放一个图片,每个桢都要写相同的代码,下面是看了网友的方法,值得学习。可以动态的放置图片,并且每次加载图片时,还会有特效。 首现,把图片放到一个名为img的文件夹中,把图片名依次改为1~12。(假设放12个图片)再新建一个名为“变量”的计事本,即:变量.txt.。舞台上还有实例名为backBtn和forwardBtn的按扭最后打开flash把下面代码写入。 function init() {//建主函数 loadVar();//调用loadVar函数 this.createEmptyMovieClip("emptyMc", 1);//新建名为emptyMc的空影片剪辑,把加载的图片都放到这个空影片剪辑中 i = random(12)+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); };
|
flash加载外部图片
最新推荐文章于 2019-04-24 09:28:19 发布