Game Development Reference
In-Depth Information
Most of the logic happens in the following method, where we set up actual
button handlers:
- (void)setupController:(GCController *)controller
forPlayer:(ERGPlayer *)player
{
GCControllerDirectionPadValueChangedHandler dpadMoveHandler =
^(GCControllerDirectionPad *dpad, float xValue, float yValue) {
if (yValue > 0)
{
player.accelerating = YES;
} else {
player.accelerating = NO;
}
};
if (controller.extendedGamepad) {
controller.extendedGamepad.leftThumbstick.valueChangedHandler
= dpadMoveHandler;
}
if (controller.gamepad.dpad) {
controller.gamepad.dpad.valueChangedHandler = dpadMoveHandler;
}
GCControllerButtonValueChangedHandler jumpButtonHandler =
^(GCControllerButtonInput *button, float value, BOOL pressed) {
if (pressed) {
player.accelerating = YES;
} else {
player.accelerating = NO;
}
};
if (controller.gamepad) {
controller.gamepad.buttonA.valueChangedHandler =
jumpButtonHandler;
controller.gamepad.buttonB.valueChangedHandler =
jumpButtonHandler;
}
if (controller.extendedGamepad) {
controller.extendedGamepad.buttonA.valueChangedHandler =
jumpButtonHandler;
 
Search WWH ::




Custom Search