flash按钮和场景之间的问题

2025-12-15 21:47:28
推荐回答(3个)
回答1:

//2个mc的标识符分别为mc1 ,mc2
//2个mc里的按钮实例名都为btn
//主场景里AS
//首先显示mc1
attachMovie("mc1", "mc1", 1);

//mc1里AS
//mc1里的按钮按了出现mc2,同时mc1消失
btn.onRelease = function() {
_root.attachMovie("mc2", "mc2", 2);
this._parent.removeMovieClip();
};

//mc2里AS
//mc2里的按钮按了出现mc1,同时mc2消失
btn.onRelease = function() {
_root.attachMovie("mc1", "mc1", 1);
this._parent.removeMovieClip();
};

//不晓得上面是不是你需要实现的功能
//如果不是,请补充说清楚,我再修改

//===========回答更新=======================
鉴于不了解你具体的怎么制作,仅提供一些思路,供参考.
1 , 所有场景里的道具(与游戏内容相关的)都使用attachMovie的方法显示,其本身也是一个btn,点击后ITEM栏attachMovie这个道具(还需要设置一下道具_x,_y属性,不然都重叠了),同时它removeMovieClip()消失;
2 , 道具既然也是btn,那在ITEM栏显示时,点击就不能让它执行第1点里的动作,所以在道具里的点击事件应该稍改下:if(this._parent._name!=ITEM栏){//第1点里的动作;
}else{//如果此道具是在ITEM栏里执行的动作}
3 , ITEM栏是一个影片剪辑,在主场景里有个按钮负责它的显示以及隐藏,在它的点击事件里这样写:
ITEM栏._visible = !ITEM栏._visible就行了.

现在就想到这些~~希望能对你有些帮助

回答2:

是想做一个点以前是mc1,点以后是mc2的效果吗?

如果仅仅是想做一个显示不同的两个控制状态的效果的话,做一个mc(实例名:_mc),把mc1和mc2分别放在mc内的两个帧上,第一帧加stop()就可以了。然后用以下代码:
比如:

k=1
_mc.onRelease = function() {
k = -k;
if (k == 1) {
this.gotoAndStop(1);
//mc1状态
} else {
this.gotoAndStop(2);
//mc2状态
}

回答3:

楼上这个方法很简单,我知道的,但我需要的两个按钮需要处于不同MC中发生交互效果,是元件和元件之间的交互,而不是帧与帧之间的交互,因为制作环境的需要,没法改为帧与帧,否则我也不希望那么繁琐