作者phs5222 (eric)
看板Flash
标题[问题] Flash HitTest问题求救啊!
时间Thu Oct 15 14:35:44 2009
最近小弟写一个敲击的FLASH
但是...却碰上了一个问题
想说请教一下各位大大
就是...我已经从元件库里面呼叫出来的影片元件
但是没办法跟我舞台上的另外一个影片元件做HitTest的碰撞
在网路上我爬了一些文还是想不太出头绪
想请各位大大帮我看一下
↓Fla编辑的原始档案
http://0rz.tw/yKcuA
↓swf的播放档
http://0rz.tw/D1B1T
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.122.45.52
1F:推 shingoliang:你要哪个元件跟哪个元件作碰撞?太鼓跟黑色?还是..? 10/15 16:06
2F:→ phs5222:当绿色的按钮按下去的时候 侦测太鼓的图和黑色的区块 10/15 16:10
3F:→ phs5222:是否有做HitTest 10/15 16:10
4F:→ sextitanic:不然的话用个阵列或是堆叠,把你新增出来的元件名称 10/15 18:12
5F:→ sextitanic:放到堆叠或是阵列之中,等你新增的元件被 remove 掉时 10/15 18:12
6F:→ sextitanic:顺便把堆叠或是阵列中的资料清掉,并把後面的元件名称 10/15 18:12
7F:→ sextitanic:往前移,如阵列 hitArray[0]原先是 m1,m1 被 remove 10/15 18:13
8F:→ sextitanic:就把 m2从 hitArray[1] 往前移到 [0],m3、m4 依此类推 10/15 18:14
9F:→ sextitanic:然後用个回圈做 hitTest 10/15 18:17
10F:→ sextitanic:hit1.hitTest(hitArray[i]) 类似这样子的方法 10/15 18:19
11F:→ sextitanic:通常这种游戏一次只会侦测一个,那就再设个变数为布林 10/15 18:19
12F:→ sextitanic:如果每次都只侦测有没有跟 hitArray 阵列 [0]做碰撞 10/15 18:20
13F:→ sextitanic:那如果[0]过去还没消失,但[1]在黑色方块,那会没反应 10/15 18:30
14F:→ sextitanic:所以用回圈侦测所有在场景上的太鼓有没有跟黑块碰撞 10/15 18:31
15F:→ sextitanic:但如果 [0]跟[1]的元件同时碰撞到黑色区块,会一起消掉 10/15 18:32
16F:→ sextitanic:所以用个布林变数,预设为 false,当按钮按下去之後 10/15 18:33
17F:→ sextitanic:如果布林变数是 false,侦测碰撞,有碰撞到就设为 true 10/15 18:34
18F:→ sextitanic:如果是true的话就跳离侦测碰撞的回圈,并将它设为false 10/15 18:34
19F:→ sextitanic:写了一大串,歹势呀,只是我觉得应该可行的方案 @@" 10/15 18:35