|
查看: 1508|回复: 12
|
急!!! 如何制作一个已经被按过的button,变成over state?
[复制链接]
|
|
|
发表于 5-8-2008 07:26 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 5-8-2008 08:50 AM
|
显示全部楼层
应该是 this.OnRelease 吧。
不能用this.onPress |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 5-8-2008 05:11 PM
|
显示全部楼层
原帖由 s2p 于 5-8-2008 07:26 AM 发表 
看下你第三个frame
第三个frame的图跟第二个frame一样,其实我是不是应该省掉第三个frame? 因为跟第二个一样。我只是想把点击button弄简单点,就是一个浅色,一个深色。然后点击之后就保持深色的图。如果点击右边的button后,第一个就变回浅色。
 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 5-8-2008 05:12 PM
|
显示全部楼层
原帖由 JohnChronox 于 5-8-2008 08:50 AM 发表 
应该是 this.OnRelease 吧。
不能用this.onPress
我刚改了,但是还是一样 |
|
|
|
|
|
|
|
|
|
|
发表于 5-8-2008 09:23 PM
|
显示全部楼层
stop();
_root.onEnterFrame = function() {
if(rest) {
_root.gotoAndStop(1);
}
if(over) {
_root.gotoAndStop(2);
}
if(clicked) {
_root.gotoAndStop(3);
}
}
_root.symbol.onRollOver = function() {
if (_root.clicked != true) {
_root.rest = false;
_root.over = true;
_root.clicked = false;
}
}
_root.symbol.onRollOut = _root.symbol.onDragOut = function() {
if (_root.clicked != true) {
_root.rest = true;
_root.over = false;
_root.clicked = false;
}
}
_root.symbol.onRelease = function() {
_root.rest = false;
_root.over = false;
_root.clicked = true;
}
把你的movieclip instance name 改为 symbol |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 6-8-2008 01:35 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 6-8-2008 01:35 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 6-8-2008 01:49 AM
|
显示全部楼层
svenjia
先理好一个概念
首先,你要一个
指进去会深色
指出来会浅色
按他会深色
这三个john的源码应该能办到了
接下来第二part
你要按别的button,第一个button回reset回去浅色
对吗? |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 6-8-2008 02:28 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 6-8-2008 08:40 AM
|
显示全部楼层
回复 7# svenja 的帖子
首先,你要明白, 什么是instance name.
如果在你的情况的话,第一part _root.l都必须改为 _root.symbol
stop();
_root.symbol.onEnterFrame = function() {
if(rest) {
_root.symbol.gotoAndStop(1);
}
if(over) {
_root.symbol.gotoAndStop(2);
}
if(clicked) {
_root.symbol.gotoAndStop(3);
}
}
自己花一些时间去想和研究instance name 的用意吧……
这是做给一个button的code罢了。。对吗?抱歉,没有flash可以test
对,没错。如果要做给不同的button, 就放不同的instance name.
如果click 别的button, 颜色要转回浅色,就必须要放
_root.symbol.onRelease = function() {
_root.rest = false;
_root.over = false;
_root.clicked = true;
_root.symbol2.clicked = _root.symbol3.clicked = _root.symbol4.clicked = false;
_root.symbol2.rest = _root.symbol3.rest = _root.symbol4.rest = false;
}
*我明白,我的方法好像长了,麻烦了一些。可能还会有更好的方法,各位高手可以赐教。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 7-8-2008 05:23 AM
|
显示全部楼层
回复 11# JohnChronox 的帖子
谢谢JohnChronox 
会再花时间去缵,有任何问题会上来请教请教 |
|
|
|
|
|
|
|
|
|
|
发表于 5-9-2008 08:23 PM
|
显示全部楼层
看这个行吗? 请会复
bt=3;
mc0.clicked=1;
mc0.gotoAndStop(2);
for(i=0;i<bt;i++){
this['mc'+i].stop();
i>0?this['mc'+i].clicked=0:'';
this['mc'+i].onRollOver=function(){
this.gotoAndStop(2);
}
this['mc'+i].onRollOut=function(){
this.clicked==0?this.gotoAndStop(1):'';
}
this['mc'+i].onRelease=function(){
for(i=0;i<bt;i++){
eval('mc'+i).gotoAndStop(1);
eval('mc'+i).clicked=0;
}
this.gotoAndStop(2);
this.clicked=1;
}
} |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|