MaxScript调用DirectInput获取按键状态

 

代码
 
   
DotNet.loadAssembly " Microsoft.VisualBasic.dll "
DotNet.loadAssembly
" Microsoft.DirectX.DirectInput.dll "

SystemGuid
= DotNetClass " Microsoft.DirectX.DirectInput.SystemGuid "
KeyboardDevice
= DotNetObject " Microsoft.DirectX.DirectInput.Device " SystemGuid.Keyboard

CooperativeLevelFlags
= DotNetClass " Microsoft.DirectX.DirectInput.CooperativeLevelFlags "

Operators
= DotNetClass " Microsoft.VisualBasic.CompilerServices.Operators "

theCooperativeLevelFlags
= Operators.OrObject CooperativeLevelFlags.Background CooperativeLevelFlags.NonExclusive

MaxHWND
= DotNetObject " System.IntPtr " (Windows.getMAXHWND() as integer)

KeyboardDevice.SetCooperativeLevel MaxHWND theCooperativeLevelFlags
KeyboardDevice.Acquire()

KeyboardState
= KeyboardDevice.GetCurrentKeyboardState()


DxKey
= DotNetClass " Microsoft.DirectX.DirectInput.Key "

KeyboardState.item dxkey.x
dxkey.a


-- KeyboardDevice.Dispose()


rollout test
""
(
timer clock
" testClock " interval: 300 -- tick once a second
label test
""
on clock tick
do
(
enableAccelerators = false
KeyboardState = KeyboardDevice.GetCurrentKeyboardState()
test.text
= (KeyboardState.item dxkey.a) as string
)
)
createdialog test

 

Windows.getMAXHWND()是Max2008新增的函数,故需要Max2008版本,max9可用的过段时间再写,因为这是一个朋友需要的东西,所以,我不急.....

转载于:https://www.cnblogs.com/sitt/archive/2010/11/03/1868082.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值