AS 3.0多个按钮同一功能如何实现?谢谢!
时间:2010-12-10
来源:互联网
如题,我设计了一个以环保为主题的逃出房间小游戏,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
isplayObject = 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 的……小女子先谢大家了!如果字数限制,可以发邮件到我邮箱[email protected],不胜感激!
问题一:最大的问题,我的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

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 的……小女子先谢大家了!如果字数限制,可以发邮件到我邮箱[email protected],不胜感激!
作者: tinykitten 发布时间: 2010-12-10
1 根据event.target 获得当前点击的对象
2 给MovieClip添加一个动态属性,记录各自要对应的按钮或者MC.
2 给MovieClip添加一个动态属性,记录各自要对应的按钮或者MC.
作者: flash023 发布时间: 2010-12-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28