主题:  关于按键的高级问题

mtyou

职务:普通成员
等级:1
金币:0.0
发贴:78
#12000/12/28 22:08:50
请问各位!有没有办法同时检测两个按键?



机器猫 5D精英

职务:普通成员
等级:3
金币:10.5
发贴:1197
#22000/12/28 22:41:06
能不能把你的问题说的在详细一点呢



mtyou

职务:普通成员
等级:1
金币:0.0
发贴:78
#32000/12/29 17:13:08
比如 上 and 右 是否当前都已被按下



yanhq

职务:普通成员
等级:1
金币:0.0
发贴:35
#42000/12/29 18:00:08
如果你要求这两个按键的顺序的话,可以这样:
property temp
on beginsprite
temp =0
end

on exitFrame me
if temp = 2 then
put "ok" --成功
end if
go the frame

end

on keydown
if the keycode = 126 then
temp =1 -- 先按下向上的方向键
end if

if temp = 1 then
if the keycode = 124 then
temp = 2 --再按下向右的方向键
end if
end if
end


on keyup
temp =0
end



mtyou

职务:普通成员
等级:1
金币:0.0
发贴:78
#52000/12/29 23:11:39
不,我是指两个键一直按着,就象射击游戏的方向键一样!



rainy_5d

职务:普通成员
等级:2
金币:1.0
发贴:225
#62000/12/30 1:27:03
可以用keyPressed()来检测。
新建movie,其中有一个text,name为"txt",用来检测是否2按键同时按下,将下面代码赋给text。

property pTxt,pKey1,pKey2

on beginSprite me
pTxt="Txt" --初始化文本成员
end


on getPropertyDeScriptionList me
mylist=[:]
addprop mylist,#pKey1,[#comment:"请输入key1:",#format:#string,#default:VOID]
addprop mylist,#pKey2,[#comment:"请输入key2:",#format:#string,#default:VOID]
return mylist
end

on exitFrame me
me.keyDown()
end

on keyDown me
if keyPressed(pKey1) and keyPressed (pKey2) then
member(ptxt).text="同时按下"
else
member(ptxt).text="没有同时按下"
end if
end