作者yf2923850 (Mu)
看板Flash
標題[問題] AS3的鍵盤事件
時間Tue May 6 23:52:21 2008
算是重新問吧 但是這次問題不一樣 0rz
我要做的是在一個有透視的場景上移動(所以上走物件會縮小 往下會放大)
原始碼
----
stage.addEventListener(KeyboardEvent.KEY_DOWN, estimate);
function estimate(e:KeyboardEvent){
switch(e.keyCode){
case Keyboard.UP:
player1.y -= 5;
player1.x -= 1;
player1.scaleX *= 0.985;
player1.scaleY *= 0.985;
case Keyboard.DOWN:
player1.y += 5;
player1.x += 1;
player1.scaleX *= 1.025;
player1.scaleY *= 1.025;
}
e.updateAfterEvent();
}
---
不知道為什麼,只要把Keyboard.DOWN的部分打上去 Keyboard.UP就會失效
(變成只有放大效果)
我測試過把 player1.scaleX *= 1.025; 的部份註解化
變成按住上都沒反應 0rz (反正就是up部分的程式沒有跑)
應該是很蠢的錯誤 可是我找不出來 0rz 跪求各位板友
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.240.207.234
※ 編輯: yf2923850 來自: 123.240.207.234 (05/06 23:52)
推 babyfaker:break; 05/06 23:54
→ yf2923850:感謝 (雖然不知道為什麼 囧) 05/07 00:01
推 etrexetrex:你不習慣select case 就用 if else if 架構就好 05/07 00:07
→ etrexetrex:喔 是 switch case 我超不習慣用搭 05/07 00:08
→ etrexetrex:因為0.985 * 1.025 = 1.009625 所以會一直放大 05/07 00:09
→ yf2923850:對呀 如果我要讓他固定大小縮放 要怎麼用比較好? 05/07 00:17
推 etrexetrex:一邊用乘的另一邊用除的 設定相同的值 05/07 00:18
→ yf2923850:原來用 /= 就好了 謝謝樓上 : ) 05/07 00:25