日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java通过jni调用虚拟游戏控制器vjoy

發(fā)布時(shí)間:2023/12/29 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java通过jni调用虚拟游戏控制器vjoy 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這幾天打算做個(gè)游戲方向盤(pán)之類(lèi)的,找到了vjoy,安裝后會(huì)虛擬出1到16個(gè)游戲控制器,每個(gè)游戲控制器最多支持8軸128鍵,還有力反饋什么的,提供有skd可以編寫(xiě)client端控制這些游戲控制器的各個(gè)軸、按鈕等,這樣,可以把手機(jī)、鍵盤(pán)、鼠標(biāo)之類(lèi)的模擬成游戲手柄、方向盤(pán)、飛行控制器等。


目前sdk只支持c++和c#,不支持java,這里用jni做了java端的調(diào)用類(lèi),大概過(guò)程:

1. 新建類(lèi)com.superzlc.vjoy.VJoy用于控制vjoy,看sdk里的示例和頭文件,確定哪些方法需要放到vjoy,把方法改成java版的,寫(xiě)到VJoy,標(biāo)記native。

2. 到class根目錄用javah com.superzlc.vjoy.VJoy生成頭文件com_superzlc_vjoy_VJoy.h,

3. 用的vs2010,新建win32應(yīng)用程序工程,新建向?qū)е袝?huì)有些設(shè)置:應(yīng)用程序?yàn)閐ll,附加選項(xiàng)勾選導(dǎo)出符號(hào)

4. 然后是復(fù)制和添加com_superzlc_vjoy_VJoy.h,還有jni的頭文件,vjoy的頭文件及l(fā)ib文件

5. 新建或使用已有cpp文件,開(kāi)始實(shí)現(xiàn)com_superzlc_vjoy_VJoy.h里的方法。


一些點(diǎn):

javah遇上不能解析的字符了,因?yàn)閖ava文件是utf-8的有漢字,簡(jiǎn)單點(diǎn)直接去掉漢字做的。

VJoy里的方法最開(kāi)始可能列不全或有些參數(shù)錯(cuò)誤,那同步修改VJoy、com_superzlc_vjoy_VJoy.h、及實(shí)現(xiàn)方法。

vjoy的lib文件分32位和64位,這里直接添加進(jìn)來(lái)的,只用了64位,那編32位得換一下。

jni的c++類(lèi)型,jboolean jint等,看定義,一些直接能與對(duì)應(yīng)類(lèi)型轉(zhuǎn)換,對(duì)象則需要類(lèi)似反射的方法,字符串的復(fù)雜些查資料。


最后編譯出一個(gè)dll,把他與sdk里其他的dll一起放到windows文件夾里(不是必須windows),調(diào)用VJoy測(cè)試正常。


相關(guān)文件下載地址:http://download.csdn.net/detail/superzlc/9769506



總結(jié)

以上是生活随笔為你收集整理的java通过jni调用虚拟游戏控制器vjoy的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。