找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1402|回复: 2

[AS1&2] 关于按钮双重应用onEnterFrame的思路问题

[复制链接]
发表于 2008-10-27 10:57:43 | 显示全部楼层 |阅读模式
看到这个帖子,http://bbs.blueidea.com/viewthre ... p;page=1#pid4251683
想起点问题,不知道思路,高手们能否给些意见or建议

[[i] 本帖最后由 sji716 于 2008-10-28 10:47 编辑 ]

依次滚动.rar

5.83 KB, 下载次数: 145

 楼主| 发表于 2008-10-28 00:00:31 | 显示全部楼层
没有说清楚,附上代码
  1. //----------------------------------init
  2. _btn1._x = 110;
  3. _btn1._y = 160;
  4. var linkArray:Array = new Array();
  5. linkArray.push("http://www.163.com");
  6. linkArray.push("http://www.sina.com");
  7. linkArray.push("http://www.thefwa.com");
  8. linkArray.push("http://www.blueidea.com");

  9. //----------------------------------run
  10. for (var i = 1; i<=4; i++) {
  11.         this["_btn"+i].pos = i;
  12.         this["_btn"+i].link = linkArray[i-1];
  13.         this["_btn"+i].onRollOver = rollover;
  14.         this["_btn"+i].onRollOut = rollout;
  15.         this["_btn"+i].onRelease = Release;
  16.         this["_btn"+i].onEnterFrame = enterframe;
  17. }
  18. this.onEnterFrame = function()
  19. {
  20.         for (var j = 2; j<=4; j++) {
  21.                 this["_btn"+j]._x = this["_btn"+(j-1)]._x+this["_btn"+(j-1)]._width/2+this["_btn"+j]._width/2+10;
  22.                 this["_btn"+j]._y = this["_btn1"]._y;
  23.         }
  24. };
  25. var idInterval = setInterval(time_scale, 500);
  26. //----------------------------------other

  27. //----------------------------------function
  28. function Release()
  29. {
  30.         getURL(this.link);
  31. }
  32. //
  33. function rollover()
  34. {
  35.         init()
  36.         clearInterval(idInterval);
  37.         this.a = 200;
  38. }
  39. function rollout()
  40. {
  41.         idInterval = setInterval(time_scale, 2000);
  42.         this.a = 100;
  43. }
  44. function enterframe()
  45. {
  46.         this._yscale += (this.a-this._yscale)*0.3;
  47.         this._xscale += (this.a-this._xscale)*0.3;
  48. }
  49. function time_scale()
  50. {
  51.         trace("i的值 = "+i);
  52.         i++;
  53.         if (i>4) {
  54.                 i = 1;
  55.                 trace("i:我变为'1' ");
  56.                 //_root["_btn"+i]._alpha = 20;
  57.                 _root["_btn"+i].a = 200;
  58.                 _root["_btn"+4].a = 100;
  59.         } else {
  60.                 _root["_btn"+i].a = 200;
  61.                 _root["_btn"+(i-1)].a = 100;
  62.         }
  63. }
  64. function init()
  65. {
  66.         for (var i = 0; i<=4; i++) {
  67.                 this["_btn"+i].a = 100;
  68.         }
  69. }
复制代码


关于这个我有两个疑问,
1.为什么time_scale()中的_root["_btn"+i].a = 200;必须要用绝对路径?
2.
this.onEnterFrame = function()
{
        for (var j = 2; j<=4; j++) {
                this["_btn"+j]._x = this["_btn"+(j-1)]._x+this["_btn"+(j-1)]._width/2+this["_btn"+j]._width/2+10;
                this["_btn"+j]._y = this["_btn1"]._y;
        }
};
在flash中一直有一个onEnterFrame,是不是很消耗CPU ???

依次滚动.swf

924 Bytes, 下载次数: 143

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-28 17:59:02 | 显示全部楼层
没人理吗?请看2楼的两个问题
注意:一楼的代码还没有完成,2楼的才是完成稿

[[i] 本帖最后由 sji716 于 2008-10-28 18:00 编辑 ]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )

GMT+8, 2021-3-6 20:44 , Processed in 0.059919 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表