使用 3D Connexion SDK / 介紹 3D Connexion SDK
SDK 是軟體開發工具包,是一堆程式碼,允許您製作程式,使用公司的產品來做一些事情。
讓我們解壓縮 3D Connexion 提供的 SDK 中的 VB.ZIP 檔案,並將 monitor.sln 檔案拖入 Visual Basic Express。您需要透過轉換器將其升級到您的 Visual Basic 版本,因此只需一直按忽略、是或下一步,直到它完成。按 F5 試試。您應該看到裝置反饋資料的即時讀數;哪個按鈕被按下,它的旋轉是什麼,各種不錯、有用的東西。
雙擊 Form1.vb 檢視程式碼。這是 3D Connexion 團隊編寫的用於將滑鼠連線到計算機的極其複雜的程式碼,以及我們實際上不需要的東西的混合。我們要做的是從這個專案中建立一個模板檔案。首先,進入設計檢視並選擇所有。刪除並進入程式碼檢視。刪除所有程式碼並貼上以下內容
(經羅技公司許可轉載)
Public Class Form1 Delegate Sub SetMotionTextCallback() Delegate Sub SetKeyTextCallback(ByVal keyCode As Integer)
Private WithEvents Sensor As TDxInput.Sensor Private WithEvents Keyboard As TDxInput.Keyboard Private WithEvents Device As TDxInput.Device
Public Sub New() Device = New TDxInput.Device Sensor = Device.Sensor Keyboard = Device.Keyboard
SetMotionTexts()
Device.Connect()
End Sub
Private Sub Sensor_SensorInput() Handles Sensor.SensorInput
Me.SetMotionTexts()
End Sub
Private Sub SetMotionTexts()
Dim Style1 As String = "f" Dim translation As TDxInput.Vector3D translation = Sensor.Translation
Dim rotation As TDxInput.AngleAxis rotation = Sensor.Rotation
End Sub
Protected Overrides Sub Finalize() Device.Disconnect() MyBase.Finalize() End Sub
End Class
您需要儲存所有這些,方法是按全部儲存。現在關閉 Visual Basic。要建立新程式,請建立模板資料夾的副本,並在 Visual Basic 中開啟 Monitor.sln 檔案。有一些方法可以從頭開始建立自己的程式,但是,它會變得很複雜。
因此,讓我們看一下程式碼
首先,他們啟動 Form1
Public Class Form1
不要擔心這部分
Delegate Sub SetMotionTextCallback() Delegate Sub SetKeyTextCallback(ByVal keyCode As Integer)
在這裡,他們添加了 TDx 感測器物件。TDx 感測器是 3D Connexion 滑鼠發回的資料。
Private WithEvents Sensor As TDxInput.Sensor Private WithEvents Keyboard As TDxInput.Keyboard Private WithEvents Device As TDxInput.Device
這將啟動資訊流
Public Sub New()
Device = New TDxInput.Device
Sensor = Device.Sensor
Keyboard = Device.Keyboard
SetMotionTexts()
Device.Connect()
End Sub
這是一個感測器狀態變化的“監聽器”
Private Sub Sensor_SensorInput() Handles Sensor.SensorInput
Me.SetMotionTexts()
End Sub
這是一個使用滑鼠輸入的示例過程
Private Sub SetMotionTexts()
Dim Style1 As String = "f" Dim translation As TDxInput.Vector3D translation = Sensor.Translation
Dim rotation As TDxInput.AngleAxis rotation = Sensor.Rotation
End Sub
當你完成滑鼠操作時,它會“登出”
Protected Overrides Sub Finalize()
Device.Disconnect()
MyBase.Finalize()
End Sub
End Class
不要擔心它的確切細節。您只需要知道它建立了 7 個變數
Rotation.x: x 軸上的旋轉,以精確的小數表示
Rotation.y: y 軸上的旋轉,以 0、-1 或 1 表示。必須使用 Rotation.y * rotation.Angle 來計算此值。
Rotation.z: z 軸上的旋轉
rotation.angle: 裝置從靜止位置移動的總角度
translation.x: x 軸上的總平移
translation.y: 猜測
translation.z: 猜測
translation.length: 裝置節點從靜止位置移動的距離。