作者musouex (仙水)
看板Flash
标题[问题] 请问一个问题~关於自制小游戏中的某功能
时间Wed Feb 21 19:33:25 2007
小的现在正看书学Flash
用的软体是Flash MX
制作一个简单的打地鼠游戏
(不过小弟游戏里的地鼠是在萤幕上爬的)
现在遇到一个问题
功能如下:
用滑鼠点击正在爬行中的某只地鼠
接着地鼠死亡,播放该地鼠死亡的动画
接着图案消失
依循书上的指示
先选择地鼠本身,接着设计程式码如下:
onClipEvent(mouseDown) {
var hit
hit = this.hitTest(_root._xmouse,_root._ymouse,true)
if (hit) {
this.gotoAndPlay("killed");
}
}
这边解释一下:
"killed"是一个影片元件里的其中一影格的影格标签
而该影片元件就是一段五格的死亡动画
hit是拿来判断用的变数
设计到这,出现了一个问题
地鼠依然没死,照爬牠的
所以我就拿其他功能代替,寻找哪一行程式码出错
结果确认hit传回的值是true
所以只剩一行出错,就是
this.gotoAndPlay("killed");
所以开始设法除错
首先我怀疑在其他图像或元件上设计的动作无法读取元件内的影格标签
而只能读取场景的影格标签
但这问题无法解决
所以後来我选择另一种方式
就是移除地鼠爬行的动画,接着放地鼠死亡的动画到原地
所以我先在场景上放一个死亡动画的元件,该元件标签设为"kill"
接着回去点选原本放在场景中"爬行地鼠"元件,写程式码:
if(hit) {
kill.duplicateMovieClip(kill,1000);
setProperty(kill,_x,this._x)
setProperty(kill,_y,this._y)
}
但测试後,发现死亡动画仍然无法播放
在此请问大大几个问题
1.书上写的方法是否正确?
2.我所修改的方法是否可行?
3.或者大大如果不想修改我的方法,是否有更好的方法可用?
如有问题要先问我
小弟也会尽快回覆
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.90.145
1F:推 jonathanmeow:基本上我测试你最前面那一段是可以跑的耶 02/21 20:55
2F:→ jonathanmeow:但因为我不晓得你其他写了些什麽所以不清楚问题在哪 02/21 20:55
3F:→ jonathanmeow:倒是你之後写的那个方法 那个if要时时都在判断才行 02/21 20:55
4F:→ jonathanmeow:否则只会在载入时判断hit是否为真 那当然不可能为真 02/21 20:56
5F:→ jonathanmeow:至於怎麽时时判断 我可能会写入onEnterFrame事件中 02/21 20:57
6F:→ jonathanmeow:至於更好的方法...我在想可不可以用onPress来代替 02/21 20:57
7F:→ jonathanmeow:代替"被按到"这件事..不过这是突发奇想 不晓得可行否 02/21 20:58
8F:→ jonathanmeow:PS:最前面那个var hit少了; 但也可以跑耶 真奇怪... 02/21 20:58
9F:→ jonathanmeow:PS2:真要抓到问题 还是要看原始档吧? 02/21 20:59
10F:推 musouex:谢谢大大,问题已解决...但很莫名的解决了...可能碰巧吧.. 02/22 12:31
11F:推 jonathanmeow:可以分享一下经验吗?? :) 02/22 14:13