Difference between revisions of "Controller"

From GiderosMobile
Line 2: Line 2:
 
'''Supported platforms:''' <br/>
 
'''Supported platforms:''' <br/>
 
'''Available since:''' Gideros 2014.01<br/>
 
'''Available since:''' Gideros 2014.01<br/>
=== Description ===
+
=== <translate>Description</translate> ===
 
<translate>Controller interface allows you to use most popular controllers on all supported operating systems under the same interface.
 
<translate>Controller interface allows you to use most popular controllers on all supported operating systems under the same interface.
  
Line 8: Line 8:
  
 
For more information check out [http://docs.giderosmobile.com/interface/controller](Controller Interface Guide)</translate>
 
For more information check out [http://docs.giderosmobile.com/interface/controller](Controller Interface Guide)</translate>
=== Examples ===
+
=== <translate>Examples</translate> ===
 
'''Using Controller example'''<br/>
 
'''Using Controller example'''<br/>
 
<source lang="lua">require "controller"
 
<source lang="lua">require "controller"
Line 53: Line 53:
 
{|-
 
{|-
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
=== Methods ===
+
=== <translate>Methods</translate> ===
 
[[Special:MyLanguage/Controller:getControllerName|Controller:getControllerName]] ''<translate>gets the name of controller</translate>''<br/>
 
[[Special:MyLanguage/Controller:getControllerName|Controller:getControllerName]] ''<translate>gets the name of controller</translate>''<br/>
 
[[Special:MyLanguage/Controller:getPlayerCount|Controller:getPlayerCount]] ''<translate>returns amount of connected controllers</translate>''<br/>
 
[[Special:MyLanguage/Controller:getPlayerCount|Controller:getPlayerCount]] ''<translate>returns amount of connected controllers</translate>''<br/>
Line 60: Line 60:
 
[[Special:MyLanguage/Controller:vibrate|Controller:vibrate]] ''<translate>vibrate the controller for provided amount of miliseconds</translate>''<br/>
 
[[Special:MyLanguage/Controller:vibrate|Controller:vibrate]] ''<translate>vibrate the controller for provided amount of miliseconds</translate>''<br/>
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
=== Events ===
+
=== <translate>Events</translate> ===
 
[[Special:MyLanguage/Event.CONNECTED|Event.CONNECTED]]<br/>
 
[[Special:MyLanguage/Event.CONNECTED|Event.CONNECTED]]<br/>
 
[[Special:MyLanguage/Event.DISCONNECTED|Event.DISCONNECTED]]<br/>
 
[[Special:MyLanguage/Event.DISCONNECTED|Event.DISCONNECTED]]<br/>
Line 69: Line 69:
 
[[Special:MyLanguage/Event.RIGHT_JOYSTICK|Event.RIGHT_JOYSTICK]]<br/>
 
[[Special:MyLanguage/Event.RIGHT_JOYSTICK|Event.RIGHT_JOYSTICK]]<br/>
 
[[Special:MyLanguage/Event.RIGHT_TRIGGER|Event.RIGHT_TRIGGER]]<br/>
 
[[Special:MyLanguage/Event.RIGHT_TRIGGER|Event.RIGHT_TRIGGER]]<br/>
=== Constants ===
+
=== <translate>Constants</translate> ===
 
|}
 
|}

Revision as of 07:27, 24 August 2018

Supported platforms:
Available since: Gideros 2014.01

Description

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 more information check out [1](Controller Interface Guide)

Examples

Using Controller example

require "controller"

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)

Methods

Controller:getControllerName gets the name of controller
Controller:getPlayerCount returns amount of connected controllers
Controller:getPlayers returns table with controller IDs
Controller:isAnyAvailable return true if any controller is connected
Controller:vibrate vibrate the controller for provided amount of miliseconds

Events

Event.CONNECTED
Event.DISCONNECTED
Event.KEY_DOWN
Event.KEY_UP
Event.LEFT_JOYSTICK
Event.LEFT_TRIGGER
Event.RIGHT_JOYSTICK
Event.RIGHT_TRIGGER

Constants