C# XBox Controller for PC in C# Projelt einbinden

also in c++ kannst du ihn mittels Xinput recht einfach ansteuern, mit der bibliotheken "CXBOXcontroller"

hier mal ein Beispielprogramm
Code:
#include "stdafx.h"
#include "CXBOXController.h"
#include <Windows.h>
CXBOXController* Player1 = new CXBOXController(1);


int main()
{
	bool pressed=true;
	bool presses2=true;
	bool shoulder=true;
	bool shoulder2=true;
	bool shoulder3=true;
	bool shoulder4=true;
	POINT cursorpos;
	
	while (1)
	{
	XINPUT_STATE controller=Player1->GetState();
	if(controller.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_UP)
	{
		GetCursorPos(&cursorpos);
		SetCursorPos(cursorpos.x,cursorpos.y-2);
		Sleep(1);
	}
	if(controller.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_DOWN)
	{
		GetCursorPos(&cursorpos);
		SetCursorPos(cursorpos.x,cursorpos.y+2);
		Sleep(1);
	}
	if(controller.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_RIGHT)
	{
		GetCursorPos(&cursorpos);
		SetCursorPos(cursorpos.x+2,cursorpos.y);
		Sleep(1);

ein kleines Programm, mit dem ich mittels Xbox controller meine Maus steuern kann.

controller.Gamepad.wButtons gibt in ner binären Folge aus, welche Tasten gerade gedrückt werden. Das dann logisch & verknüpft mit dem code für meinetwegen die Taste a und du hast ne abfrage if Taste a gedrückt.

Recht gut hier beschrieben
http://www.codeproject.com/Articles/26949/Xbox-Controller-Input-in-C-with-XInput

hoffe das hilft dir
 
Zuletzt bearbeitet:
Falls du nach einer OOP-Alternative für XNA suchst bieten sich Java LWJGL oder JOGL an (OpenGL). Ansonsten ist Unity natürlich immer eine Option, hier könntest du auch in C# entwickeln.

Ansonsten kannst du anstatt mit XNA direkt mit DirectX arbeiten.

Ich denke vor allem mit DirectX und Unity wirst du die wenigsten Probleme haben bei der Einbindung von einem Xbox-Controller, falls das ein Kriterium ist.

Gruß
 
Zurück
Oben