Re: [問題] 請問怎麼去動底圖
※ 引述《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
推
61.59.73.198 06/08, , 1F
61.59.73.198 06/08, 1F
→
61.62.29.242 06/08, , 2F
61.62.29.242 06/08, 2F
Flash 近期熱門文章
PTT數位生活區 即時熱門文章