作者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)
1F:推 babyfaker:break; 05/06 23:54
2F:→ yf2923850:感谢 (虽然不知道为什麽 囧) 05/07 00:01
3F:推 etrexetrex:你不习惯select case 就用 if else if 架构就好 05/07 00:07
4F:→ etrexetrex:喔 是 switch case 我超不习惯用搭 05/07 00:08
5F:→ etrexetrex:因为0.985 * 1.025 = 1.009625 所以会一直放大 05/07 00:09
6F:→ yf2923850:对呀 如果我要让他固定大小缩放 要怎麽用比较好? 05/07 00:17
7F:推 etrexetrex:一边用乘的另一边用除的 设定相同的值 05/07 00:18
8F:→ yf2923850:原来用 /= 就好了 谢谢楼上 : ) 05/07 00:25