发新话题
打印

xml_menu,怎么使点击过的颜色恢复

是个xml menu。 说仔细点,假设A,B.C三个menu, 我希望当前点击的menu是红色(这已经做到了),但点击B的时候A和C复原原来的颜色,点C的时候A和B复原。 现在是点过就回不去了,一直是红色。 怎么办呢? 原文件

TOP

没人理 smile_clown.gif 在问一个: 场景有两个button,btn1和btn2, btn1 onRollOver的时候btn1的alpha为100,点击的时候loading外部swf文件。 问题是loading过程中btn1 onRollOut就会停止progress, 但是把btn1.onRollOver和.onRollOut效果 去掉就好了,我没发现有什么写错啊,怎么回事呢? 我还发现flash8里以前的文件as有些不正常了 smile_question.gif 代码: btn1.onRollOver = function() { btn1.fade(100); }; btn1.onRollOut = function() { btn1.fade(50); }; btn1.onRelease = function() { loader.loadMovie("loader.swf"); this.onEnterFrame = function() { total = loader.getBytesTotal(); loaded = loader.getBytesLoaded(); if (loaded != total) { progress_txt.percent.text = Math.round((loaded*100/total))+" % Loaded"; loadbar._xscale = Math.round((loaded*1800/total)); } else { removeMovieClip(progress_txt); removeMovieClip(loadbar); delete this.onEnterFrame; } }; }; MovieClip.prototype.fade = function(alpha) { this.onEnterFrame = function() { this._alpha += (alpha-this._alpha)*.3; }; };

TOP

fade函数写的不够严禁,当mc的alpha值达到目的值之后,应该delete this.onEnterFrame 第一贴的问题,在点击任何按钮的时候先将其他按钮恢复颜色,再执行其他

TOP

是哦,我也发现自己有这习惯,不愿多写。一定改,按标准写。 第二个问题刚才发现先分别createEmptyMovieClip,然后再attachMovie就可以了,问题是暂时解决,但还是不知道根源。瞎猫碰死耗子 smile_sleepy.gif 谢谢红毛衣,我去按这思路试试。

TOP

MovieClip.prototype.fade = function(alpha) { this.onEnterFrame = function() { this._alpha += (alpha-this._alpha)*.2; if (this._alpha<=0 && this._alpha>=100) { delete this.onEnterFrame; } }; }; 这个没问题了吧smile.gif

TOP

不能这么写,这样fade函数的功能就差了。fade应该是让mc从当前alpha值变化到制定alpha值的一个函数,比如alpha从100到50
CODE
MovieClip.prototype.fade = function(alpha) { this.nAlpha=alpha this.onEnterFrame = function() { this._alpha += (this.nAlpha-this._alpha)*.2; if (Math.abs(this._alpha-this.nAlpha)<1) { this._alpha=this.nAlpha delete this.onEnterFrame; } }; };

TOP

哦,非常感谢! 能推荐一本as2.0或3.0的书吗,我从没看过as的书,玩得有点辛苦。smile_sleepy.gif 比如这本的内容我感兴趣,觉得挺实在,但是是mx6的 BD11681998a.jpg

TOP

TOP

哈哈,原来如此!怎么买啊,你翻旧的买不?smile_big.gif 那个换颜色的我试不出来,眼都做花了。现在看屏幕都是黄绿黄绿的smile_sad.gif

TOP

CODE
btn.onPress = function() { this.onEnterFrame = function() { new Color(this._parent).setRGB(0xff9900); }; delete this.onEnterFrame; }; //-- btn.onRelease = function() { new Color(this).setRGB(0x00ccff); };
这样为什么不行, onPress可以恢复_parent,但是Release对this无效。

TOP

发新话题