The extension allows to easily create custom controllers for MakeCode Arcade games (https://arcade.makecode.com) running in the browser.
Under the hood, the extension uses the keyboard extension to generate keyboard key stroke that emulate one or more players.
This repository contains a MakeCode extension. To use it in MakeCode,
Simulate a button press when a button in pressed on your device.
input.buttonA.onEvent(ButtonEvent.Click, function () {
makerController.player1.press(ControllerButton.A)
})
Simulate buttons left and right pressed based on the accelerometer readings.
forever(function () {
if (input.acceleration(Dimension.X) < -300) {
makerController.player1.setButtonDown(ControllerButton.Right, false)
makerController.player1.setButtonDown(ControllerButton.Left, true)
light.photonForward(1)
} else if (input.acceleration(Dimension.X) > 300) {
makerController.player1.setButtonDown(ControllerButton.Left, false)
makerController.player1.setButtonDown(ControllerButton.Right, true)
light.photonForward(-1)
} else {
makerController.player1.reset()
}
})
Map analog sensors to dpad buttons.
forever(function () {
makerController.player1.setAnalog(ArcadeAnalogButton.LeftRight, input.acceleration(Dimension.X))
makerController.player1.setAnalog(ArcadeAnalogButton.DownUp, input.acceleration(Dimension.Y))
})
Also map analog sensors to A/B buttons.
forever(function () {
makerController.player1.setAnalog(ArcadeAnalogButton.A, input.soundLevel())
})
You can tune the threshold to detect that a button is pressed or not.
makerController.player1.setAnalogThreshold(ArcadeAnalogButton.A, 0, 200)
You can invite users to become collaborators to this repository. This will allow multiple users to work on the same project at the same time. Learn more...
To edit this repository in MakeCode,
(The metadata above is needed for package search.)