作者oj113068 (橘子汁)
看板Flash
标题[问题] 用if判断变数後转换场警
时间Sun Jul 11 02:28:08 2010
大家好
我想用if判断变数後来转换场景
做法是,(我是用AS 2.0)
1.场景的第一格写下
var g=0;
2.动画跑到最後一格後,在最後一格上面写
onEnterFrame = function () {
if (g == 1) {
gotoAndPlay("展览简介", 1);
}
if (g == 2) {
gotoAndPlay("慕夏生平", 1);
}
if (g == 3) {
gotoAndPlay("代表作", 1);
}
if (g == 4) {
gotoAndPlay("纪念品", 1);
}
};
3.各自按钮上写
on (release) {
g = 1;
gotoAndPlay(37);
}
(四个按钮类推)
场景是换了,也执行的正常
但是作到一半测试发现
转换後他会停留在的场景"第一格",正常来讲应该要继续拨放直到碰见stop()吧...
我用的是gotoAndPlay
1.改成Play也没用,
2.利用影格标签也没用
3.在场景的第一格增加Play也没用Orz
4.爬文加_root....也没用
(爬文发现我很久以前问过类似的问题,没有人理我||||)
附上原始档,请好心人帮我看看到底是什麽问题吧> <
http://www.2shared.com/file/i0-g9Nt_/_online.html
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.162.99.130
※ 编辑: oj113068 来自: 218.162.99.130 (07/11 02:28)
※ 编辑: oj113068 来自: 218.162.99.130 (07/11 02:30)
※ 编辑: oj113068 来自: 218.162.99.130 (07/11 02:31)
※ oj113068:转录至看板 Digital_Art 07/11 02:52
1F:→ Esvent:因为你是用onEnterFrame来判断是否呼叫gotoAndPlay 07/11 03:33
2F:→ Esvent:所以只要开始侦听onEnterFrame後 每跑一个影格那个function 07/11 03:35
3F:→ Esvent:就会被呼叫一次 也就是说在每进入一个影格时 都会gotoAndPl 07/11 03:36
4F:→ Esvent:ay到第一个影格 所以才会一直停在第一个影格上 07/11 03:37
5F:→ Esvent:把onEnterFrame去掉即可 07/11 03:41
6F:→ oj113068:!!!!!我以为写在最後一格的话他不会影响前面Orz 07/11 11:13
7F:→ oj113068:我试试看,谢谢你!! 07/11 11:13
8F:→ oj113068:去掉onEnterFrame之後虽然会拨放,但场景的转换不正确 07/11 11:17
9F:推 kawasumimai:去掉onEF之後加上_root吧 07/11 11:31
10F:→ oj113068:没用T__T 你是说改成 _root.gotoAndPlay吧? 07/11 11:40
11F:推 kawasumimai:不是...是你所有的g都要改成_root.g 07/11 11:51
12F:→ kawasumimai:因为你主时间轴判定的是_root.g,按钮的不是 07/11 11:51
13F:→ oj113068:结果好像是我函式没命名Orz? 07/11 11:54
14F:→ Esvent:去掉onEnterFrame是onEnterFrame = function() { 整个去掉 07/11 14:03
15F:→ Esvent:只留下if就可以了 测试是不用加_root也可以跑 07/11 14:04
16F:→ Esvent:啊 是说场景转换不正确 这个我就没有注意到了 07/11 14:06
17F:→ Esvent:或许试着将按钮命名 并把所有程式码都写在第一格就可以运作 07/11 14:08
18F:→ oj113068:我想我是基础观念有问题|||我解决了 谢谢你们 07/11 14:44
就像E大说的,如果想都写在最後一格的话,直接用if
要用function()的话,写在第一个场景的第一格
最後再呼叫就好了(倒地)
谢谢大家........
※ 编辑: oj113068 来自: 218.162.99.130 (07/11 14:45)