用 Flash Action script 3.0 做走出房间游戏, 多个按钮共享同一个功能,如何实现?请给我代码,分可以加

如题,我设计了一个以环保为主题的逃出房间小游戏,18个小时之后要交作业,场景基本上是完成了,但是代码还是有几个问题……请高手帮忙解决,不胜感激!问题一:最大的问题,我的F... 如题,我设计了一个以环保为主题的逃出房间小游戏,18个小时之后要交作业,场景基本上是完成了,但是代码还是有几个问题……请高手帮忙解决,不胜感激!

问题一:最大的问题,我的Frame 2 (第二帧) 是主场景,分别有三个箭头指向 Frame 3,4,5; Frame 3,4,5 也分别有一个箭头指向 Frame 2, 还有,标题画面的 “play” 按钮 也是指向Frame 2 的。相当于总共四个按钮,全部要执行相同的功能: goandstop (2) 但事实是只有play 按钮的命令有用,其他的都没有,说找不到对象。 在网上中英文都搜了,说是要写什么 if 指令,还有 parent 和 children 的。我刚学as 3.0 不是很久,还不太懂这么复杂的东西,麻烦哪位高手指点一下……
下面是我目前的代码,我只贴了相关的部分,请告诉我我该加点什么:
play_btn.addEventListener(MouseEvent.MOUSE_DOWN, buttonclicked);
function buttonclicked(event:MouseEvent):void {
gotoAndStop(2);
}
arrow1_btn.addEventListener(MouseEvent.MOUSE_DOWN,btnfun3);
function btnfun3 (e:MouseEvent)
{
gotoAndStop(3);
}
arrow2_btn.addEventListener(MouseEvent.MOUSE_DOWN,btnfun4);
function btnfun4 (e:MouseEvent)
{
gotoAndStop(4);
}
arrow3_btn.addEventListener(MouseEvent.MOUSE_DOWN,btnfun5);
function btnfun5 (e:MouseEvent)
{
gotoAndStop(5);
}
arrow4_btn.addEventListener(MouseEvent.MOUSE_DOWN,buttonclicked);
arrow5_btn.addEventListener(MouseEvent.MOUSE_DOWN,buttonclicked);
arrow6_btn.addEventListener(MouseEvent.MOUSE_DOWN,buttonclicked);

以上的按钮中, arrow4,5,6都不管用。我改过和前面一样的格式,换过不同的functions name, 都没用,所以我知道肯定是缺少代码,麻烦把代码贴给我……

问题二:我的逃离房间小游戏,需要把四个房间里的8样电器电源关掉,地上的垃圾捡干净,分别回收到三个垃圾桶里,然后就能逃离房间了。捡垃圾的代码我已经编好了,但是不知道回收到三个桶里的代码如何编,(垃圾扔进桶里消失)麻烦大家帮帮忙!捡垃圾出门的代码如下,为了测效果先设定为三个垃圾,但可能会被我加到10个。对了,桶的代码分别是 bin1_mc; bin2_mc; bin3_mc. 告诉我怎么加进去好么?

(字数限制,代码先粘贴一半,另一半在补充问题里)
inventorywaste1_mc.alpha = 0;
inventorywaste2_mc.alpha = 0;
inventorywaste3_mc.alpha = 0;

function pickupObject(event:MouseEvent):void {
event.target.startDrag(true);
}
function dropObject(event:MouseEvent):void {
event.target.stopDrag();
}
inventorywaste1_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
inventorywaste1_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
inventorywaste1_mc.buttonMode = true;

inventorywaste2_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
inventorywaste2_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
inventorywaste2_mc.buttonMode = true;

inventorywaste3_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
inventorywaste3_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
inventorywaste3_mc.buttonMode = true;
waste1_mc.addEventListener(MouseEvent.MOUSE_DOWN, objectFound);
waste2_mc.addEventListener(MouseEvent.MOUSE_DOWN, objectFound);
waste3_mc.addEventListener(MouseEvent.MOUSE_DOWN, objectFound);

var founditems:Number = 0;
function objectFound(event:MouseEvent):void {
var inventoryName:String = "inventory" + event.target.name;
var inventoryItem:DisplayObject = getChildByName(inventoryName);
event.target.alpha = inventoryItem.alpha = 100;
founditems ++;
event.target.alpha = 0;
if(founditems == 3){
door_btn.addEventListener(MouseEvent.MOUSE_DOWN, escapeRoom);
}
}
function escapeRoom(event:MouseEvent):void {
gotoAndStop(6);
}

最后一个小问题,就是,如何把一个button和一个movie clip 联系起来,点了按钮,movieclip变色,或者是alpha变成0?举个例子给我就好,谢谢!

记住是AS3.0 噢,我们是不允许用2.0 的……小女子先谢大家了!如果字数限制,可以发邮件到我邮箱apple_nicole@163.com,不胜感激!能解决问题的朋友一定给高分!

Flex 怎么
展开
 我来答
cobersky
2010-12-10 · TA获得超过496个赞
知道小有建树答主
回答量:500
采纳率:0%
帮助的人:674万
展开全部
最后一问的答案如下(前面好长。。。还没看)
给movieclip定个实例名称,假如命名为mc1,按钮事件中加入mc1.alpha=0

关于多个相似按钮事件函数合并:
function goto(n:int):Function{
var foo:Function=function(e:MouseEvent):void{
gotoAndStop(n);
}
return foo;
}
play_btn.addEventListener(MouseEvent.MOUSE_DOWN, goto(2));
这样来用
herangping
2010-12-10 · TA获得超过260个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:78.6万
展开全部
waste1_mc.addEventListener(MouseEvent.MOUSE_DOWN, objectFound);
waste2_mc.addEventListener(MouseEvent.MOUSE_DOWN, objectFound);
waste3_mc.addEventListener(MouseEvent.MOUSE_DOWN, objectFound);

var founditems:Number = 0;
function objectFound(event:MouseEvent):void {
var inventoryName:String = "inventory" + event.target.name;
var inventoryItem:DisplayObject = getChildByName(inventoryName);
event.target.alpha = inventoryItem.alpha = 100;
founditems ++;
event.target.alpha = 0;
if(founditems == 3){
door_btn.addEventListener(MouseEvent.MOUSE_DOWN, escapeRoom);
}
}
function escapeRoom(event:MouseEvent):void {
gotoAndStop(6);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e03f5f5a
2010-12-10 · 超过21用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:56.9万
展开全部
最后一个小问题,就是,如何把一个button和一个movie clip 联系起来,点了按钮,movieclip变色,或者是alpha变成0?
这个问题通过Flex的换肤 可以很简单的实现。
至于牵连个问题我没有时间细看,所以也不好能你回答了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式