作者MrMarcus (请勿忘记密码)
看板Flash
标题Re: [问题] 如何在血条元件写入进入下个场景的方法
时间Sun Jan 7 14:49:32 2007
※ 引述《witness0828 (原PO没有错)》之铭言:
: 我在试着写一个游戏
: 架构很基本,就是有6格血条,被碰到会少一格
: 我写条是用一个影片片段元件来做(第一格6格血,第二影格5格这样..)
: 可是我现在遇到一个问题..如果血没了,我是设定想让他跳到场景3(Game over的画面)
: 但是我写在血条影格最後一格
: 不论是 gotoAndPlay("003",1) 或者前面加上 _root.
: 都不行..
: 就会变成血条空了会跑回满格这样死胡同,或者是血条空了会跳回场景1..(游戏说明)
: 请问要如何让元件内写的程式码,有办法影响场景的运作呢...
: 此文章若有成功帮助赠送200P薄酬...感谢
在场景3你要跳过去开始播放的影格上面建立一个影格标签(label),
例如叫做gameover。然後在你的血条的movie clip里面最後一格加上
_parent.gotoAndPlay('gameover');
使用影格标签来控制要跳过去的位置永远是个好做法。换句话说不要
让程式里面出现gotoAndPlay(168);这种陈述式。理由包括:
1. 使用标签可以不用管该标签所在影格位在哪个场景(不过必须确定
不同场景里面没有重复的影格标签)。
2. gotoAndPlay('gameover');读起来是有意义的,看了就了解这是要
让影格跳到游戏结束画面,这让程式码的易读性提高。然而
gotoAndPlay(168);读起来没有这麽多意义,只知道要跳去第168个
影格,但是哪里有什麽,看不出来。
3. 使用gotoAndPlay(168);,一旦你改变了影格的顺序,要跳过去的
影格不再是第168格,就必须跟着修改程式码把168改成237,这让
程式码维护起来变麻烦。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.153.19