作者Jedic (音乐与身心合一的感受)
看板Flash
标题Re: [问题] 请问怎麽去动底图
时间Tue Jun 8 18:45:12 2004
※ 引述《josephliu (abc)》之铭言:
: ※ 引述《playcold (playcold)》之铭言:
: : 标题: Re: [问题] 请问怎麽去动底图
: : 时间: Tue Jun 8 17:02:57 2004
: : 我也问个题
: : 要如何让墙把车挡住不动?
: : 即不会穿墙跑出跑道外
: : 麻烦各位帮忙 thanks
: : --
: : ◆ From: 61.64.148.153
: : 推 Jedic:放点,hitTest或用座标限制,看你迷宫长怎样 61.66.87.212 06/08
: : 推 playcold:放点,hitTest请问要怎麽做?没有头绪,谢谢~ 61.64.148.153 06/08
: : → playcold:看了help也不会用,唉~拜托可以教我吗?感谢 61.64.148.153 06/08
: 我也有这个问题啊
: 现在车子可以动了,但都可以穿墙而过~= =
: 请问Jedic大大,放点或hitTest要怎麽做啊?
: 或要如何用座标限制?
: thanks very much~~~
假设你的限制很单纯
例如只有四面墙
那就限制移动的最大和最小的XY座标不可超过
假如是迷宫
那就要做一些长条状透明物件
或者是迷宫的有色"隔板"
反正就是hitTest到这些物件车子就不能移动了
如果是对hitTest的语法无法掌握
那我就没办法了
基本上是
车子.hitTest("隔板实体名称");
但是假如我有100个隔板物件
那就要用回圈
for(i=1;i<=100;i++){
if(车子.hitTest(eval("隔板"+i))){
carmove=false;
//carmove=true时 移动程式才能生效
}
}
但是检查场景上所有格版,系统可能又太吃重
所以可以分段编号
例如X座标0~100之间的隔板编号从1~100
X座标101~200之间的隔板编号从101~200
车子的位置在哪一段才检查有无碰撞那些编号的隔板
因为Flash的碰撞侦测一律是以物件的外框而非实际图素
所以只好用这种"放点"的方式来做不规则的碰撞限制
在Director里就简单多了
画一个迷宫的底图,可以用颜色的index值来判断
其实Director比Flash强大多了
只不过很多技术都被3rd party作Xtra的厂商拿走专利了
所以Director自己没啥赚头
出新版没用,Xtra早就把功能做齐了
更何况Xtra都可以自己写...
所以Macromedia才拼命搞一个Flash出来却跟Director很像
这段是题外话
因为Flash的碰撞侦测真的很鸟...
--
═╬═╬═ ╔═╗ ═ ╭╬╮╯═╤╤═
╭═╬═╮╔═╗╠═╣═╦═╠╬╣ ╬╬╬╬
║ ║ ║╠═╣╠═╣║║║║║║═╩╩╩╩═
╩╦╩╦╩╚═╝║ ║║║║╰╬╯ ╭╦ ╔╬
╭╯ ╰╮ ╯ ╝ ║ ║ ╩╯ ╩╬
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.66.87.212
1F:推 josephliu:感谢感谢喔~ 61.59.73.198 06/08
2F:→ ificould:欠m :p 61.62.29.242 06/08