作者weirdfoot (怪腳之哈比)
看板Flash
標題[問題] EnterFrame檢查物件狀態
時間Tue Oct 11 23:45:09 2011
最近小弟在做一個類似平台遊戲的作品
剛起步 在設定讓人物可以在平台上自由走動和跳躍
部分程式碼如下
stage.addEventListener(Event.ENTER_FRAME,playerMode);
function playerMode(event:Event) {
if (left) {
player.x-=vx;
player.gotoAndStop(10);
}
if (right) {
player.x+=vx;
player.gotoAndStop(5);
}
if (! left && ! right) {
player.gotoAndStop(1);
}
}
其中left right各為按下左右方向鍵後改變的布林值變數
但我原本是想設計 人物在待命和走路時各有動畫在進行 (呼吸 腳部運動)
(是弄成影片片段放在player元件中)
寫成這樣後 變成角色不會做呼吸那些動作了...
懇請各位大大指出錯誤處或寫得不適當的地方 感謝!! >"<
(如不清楚 我可以附上原始檔)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.65.182
1F:→ dsmwang:gotoAndStop就停了,本來就不會繼續撥動畫 10/11 23:49
2F:→ KawasumiMai:巢狀,你的player是單層的 10/11 23:52
3F:→ KawasumiMai:player第一格放站立mc,第二格放走路mc etc 10/11 23:52
4F:→ KawasumiMai:這樣就算player gotoAndStop(),裡面的mc還是會自轉 10/11 23:53
我就是這樣做...還是一樣耶@@
5F:→ emily114005:ENTER_FRAME裡gotoAndStop會一直做 導致停在第一格 10/12 02:09
我也在想是不是這樣
請問有沒有比較好的寫法?
6F:→ KawasumiMai:此外真心建議原PO不要判定left跟right之後就改x跟影格 10/12 06:16
7F:→ KawasumiMai:在判定是否按下,然後確認移動vx之後還有很多事情要做 10/12 06:16
8F:→ KawasumiMai:建議作出假移動,等到整~個流程結束之後再結算 10/12 06:17
9F:→ KawasumiMai:(以上為前輩指導與類似產物寫作經驗) 10/12 06:18
K大 可以請問一下有關假移動的想法嗎?? 感謝> <
※ 編輯: weirdfoot 來自: 114.24.73.195 (10/12 22:14)
10F:→ KawasumiMai:一個流程內先宣告x跟y的"目標數值" 10/13 01:06
11F:→ KawasumiMai:接著判定按鍵對目標數值+-vx,做第一次目標預測 10/13 01:06
12F:→ KawasumiMai:接著針對各種情況,例如撞到牆或超出邊界等等 10/13 01:07
13F:→ KawasumiMai:再修正目標數值,做第二~N次目標預測 10/13 01:07
14F:→ KawasumiMai:等到整個流程跑完,目標預測確定是那個點之後 10/13 01:07
15F:→ KawasumiMai:再把那個目標座標直接指派給player的x跟y 10/13 01:08
16F:→ KawasumiMai:整個流程放在ENTER_FRAME裡面,稱為一次移動判定 10/13 01:08