1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include "BehaviourGamepad.h" #include "XInput.h" #pragma comment(lib, "XInput.lib") BehaviourGamepad::BehaviourGamepad(void) { } BehaviourGamepad::BehaviourGamepad(float weight) { m_weight = weight; } BehaviourGamepad::~BehaviourGamepad(void) { } void BehaviourGamepad::Update(Actor* actor) { DWORD dwResult; // Used to store if a controller is connected XINPUT_STATE state; // Data type that stores all the current states // of a controller. MOUSESTATE perbens; XINPUT_STATE perbens2; ZeroMemory( &state, sizeof(XINPUT_STATE) ); // Zeros out the states of // the controller. // Get all the current states of controller 1 dwResult = XInputGetState( 0, &state ); if( dwResult == ERROR_SUCCESS ) { // Controller is connected. // -----------INSERT BUTTON CHECKS HERE---------- float leftThumbY = state.Gamepad.sThumbLY; float leftThumbX = state.Gamepad.sThumbLX; if(leftThumbY) { actor->m_direction->y += -(leftThumbY / 500000.0f) * this->m_weight; actor->m_direction->x += (leftThumbX / 500000.0f) * this->m_weight; } } else { // Controller is disconnected. } } |
I2luY2x1ZGUgIkJlaGF2aW91ckdhbWVwYWQuaCIKI2luY2x1ZGUgIlhJbnB1dC5oIgojcHJhZ21hIGNvbW1lbnQobGliLCAiWElucHV0LmxpYiIpCgpCZWhhdmlvdXJHYW1lcGFkOjpCZWhhdmlvdXJHYW1lcGFkKHZvaWQpCnsKfQoKQmVoYXZpb3VyR2FtZXBhZDo6QmVoYXZpb3VyR2FtZXBhZChmbG9hdCB3ZWlnaHQpCnsKCW1fd2VpZ2h0ID0gd2VpZ2h0Owp9CgpCZWhhdmlvdXJHYW1lcGFkOjp+QmVoYXZpb3VyR2FtZXBhZCh2b2lkKQp7Cn0KCnZvaWQKQmVoYXZpb3VyR2FtZXBhZDo6VXBkYXRlKEFjdG9yKiBhY3RvcikKewoJRFdPUkQgZHdSZXN1bHQ7ICAgICAgICAgLy8gVXNlZCB0byBzdG9yZSBpZiBhIGNvbnRyb2xsZXIgaXMgY29ubmVjdGVkCglYSU5QVVRfU1RBVEUgc3RhdGU7ICAgICAvLyBEYXRhIHR5cGUgdGhhdCBzdG9yZXMgYWxsIHRoZSBjdXJyZW50IHN0YXRlcwogICAgICAgICAgICAgICAgICAgICAgICAvLyBvZiBhIGNvbnRyb2xsZXIuCglNT1VTRVNUQVRFIHBlcmJlbnM7CglYSU5QVVRfU1RBVEUgcGVyYmVuczI7CgkKCglaZXJvTWVtb3J5KCAmc3RhdGUsIHNpemVvZihYSU5QVVRfU1RBVEUpICk7IC8vIFplcm9zIG91dCB0aGUgc3RhdGVzIG9mCgkJCQkJCQkJCQkJICAvLyB0aGUgY29udHJvbGxlci4KCgkvLyBHZXQgYWxsIHRoZSBjdXJyZW50IHN0YXRlcyBvZiBjb250cm9sbGVyIDEKCWR3UmVzdWx0ID0gWElucHV0R2V0U3RhdGUoIDAsICZzdGF0ZSApOwoKCWlmKCBkd1Jlc3VsdCA9PSBFUlJPUl9TVUNDRVNTICkKCXsKCQkvLyBDb250cm9sbGVyIGlzIGNvbm5lY3RlZC4KCQkvLyAtLS0tLS0tLS0tLUlOU0VSVCBCVVRUT04gQ0hFQ0tTIEhFUkUtLS0tLS0tLS0tCiAgICAgIGZsb2F0IGxlZnRUaHVtYlkgPSBzdGF0ZS5HYW1lcGFkLnNUaHVtYkxZOwoJICBmbG9hdCBsZWZ0VGh1bWJYID0gc3RhdGUuR2FtZXBhZC5zVGh1bWJMWDsKICAgICAgaWYobGVmdFRodW1iWSkKICAgICAgewoJCSAgYWN0b3ItPm1fZGlyZWN0aW9uLT55ICs9IC0obGVmdFRodW1iWSAvIDUwMDAwMC4wZikgKiB0aGlzLT5tX3dlaWdodDsKCQkgIGFjdG9yLT5tX2RpcmVjdGlvbi0+eCArPSAobGVmdFRodW1iWCAvIDUwMDAwMC4wZikgKiB0aGlzLT5tX3dlaWdodDsKICAgICAgfSAgICAKCX0KCWVsc2UKCXsKCS8vIENvbnRyb2xsZXIgaXMgZGlzY29ubmVjdGVkLgoJfQp9Cg==
prog.cpp:1:30: error: BehaviourGamepad.h: No such file or directory prog.cpp:2:20: error: XInput.h: No such file or directory prog.cpp:3: warning: ignoring #pragma comment prog.cpp:5: error: ‘BehaviourGamepad’ has not been declared prog.cpp:5: error: ISO C++ forbids declaration of ‘BehaviourGamepad’ with no type prog.cpp:9: error: ‘BehaviourGamepad’ is not a class or namespace prog.cpp:9: error: ISO C++ forbids declaration of ‘BehaviourGamepad’ with no type prog.cpp: In function ‘int BehaviourGamepad(float)’: prog.cpp:11: error: ‘m_weight’ was not declared in this scope prog.cpp: At global scope: prog.cpp:14: error: expected constructor, destructor, or type conversion before ‘::’ token prog.cpp:19: error: ‘BehaviourGamepad’ is not a class or namespace prog.cpp:19: error: variable or field ‘Update’ declared void prog.cpp:19: error: ‘Actor’ was not declared in this scope prog.cpp:19: error: ‘actor’ was not declared in this scope
-
result: Compilation error (maybe you wish to see an example for C++ 4.7.2)


