Difference between revisions of "Controller"
m (Text replacement - "<source" to "<syntaxhighlight") |
|||
(One intermediate revision by one other user not shown) | |||
Line 10: | Line 10: | ||
Internally Controller Interface also matches all buttons and controller behavior under the same scheme so you won't have to worry about that anymore. | Internally Controller Interface also matches all buttons and controller behavior under the same scheme so you won't have to worry about that anymore. | ||
− | + | '''For a FULL DEMO please see Gideros Studio, Example Projects, Hardware, Controller Plugin Demo''' | |
=== Example === | === Example === | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
require "controller" | require "controller" | ||
+ | |||
+ | function findKeyCode(code) | ||
+ | for i, val in pairs(KeyCode) do | ||
+ | if val == code then return i end | ||
+ | end | ||
+ | return "unknown" | ||
+ | end | ||
controller:addEventListener(Event.KEY_DOWN, function(e) | controller:addEventListener(Event.KEY_DOWN, function(e) | ||
Line 55: | Line 62: | ||
print("Player: ", e.playerId, "disconnected") | print("Player: ", e.playerId, "disconnected") | ||
end) | end) | ||
− | </ | + | </syntaxhighlight> |
{|- | {|- |
Latest revision as of 00:18, 12 October 2024
Supported platforms:
Available since: Gideros 2014.01
Inherits from: EventDispatcher
Description
The controller interface allows you to use most popular controllers on all supported operating systems under the same interface.
Internally Controller Interface also matches all buttons and controller behavior under the same scheme so you won't have to worry about that anymore.
For a FULL DEMO please see Gideros Studio, Example Projects, Hardware, Controller Plugin Demo
Example
require "controller"
function findKeyCode(code)
for i, val in pairs(KeyCode) do
if val == code then return i end
end
return "unknown"
end
controller:addEventListener(Event.KEY_DOWN, function(e)
print("Button Down ", e.playerId, e.keyCode, findKeyCode(e.keyCode))
end)
controller:addEventListener(Event.KEY_UP, function(e)
print("Button Up ", e.playerId, e.keyCode, findKeyCode(e.keyCode))
end)
controller:addEventListener(Event.RIGHT_JOYSTICK, function(e)
print("Player: ", e.playerId)
print("RIGHT_JOYSTICK:", "x:"..e.x, "y:"..e.y, "angle:"..e.angle, "strength:"..e.strength)
end)
controller:addEventListener(Event.LEFT_JOYSTICK, function(e)
print("Player: ", e.playerId)
print("LEFT_JOYSTICK:", "x:"..e.x, "y:"..e.y, "angle:"..e.angle, "strength:"..e.strength)
end)
controller:addEventListener(Event.RIGHT_TRIGGER, function(e)
print("Player: ", e.playerId)
print("RIGHT_TRIGGER:", "strength:"..e.strength)
end)
controller:addEventListener(Event.LEFT_TRIGGER, function(e)
print("Player: ", e.playerId)
print("LEFT_TRIGGER:", "strength:"..e.strength)
end)
controller:addEventListener(Event.CONNECTED, function(e)
print("Player: ", e.playerId, "connected")
print("Are there any controllers?", controller:isAnyAvailable())
print("Controller count", controller:getPlayerCount())
print("Name of controller "..e.playerId, controller:getControllerName(e.playerId))
print("players", #controller:getPlayers())
end)
controller:addEventListener(Event.DISCONNECTED, function(e)
print("Player: ", e.playerId, "disconnected")
end)
MethodsController:getControllerName gets the name of the controller |
EventsEvent.CONNECTED Constants |