Difference between revisions of "TntVirtualPad"

From GiderosMobile
Line 95: Line 95:
  
 
=== Constants ===
 
=== Constants ===
[[PAD.BUTTONS_NONE]]<br/><!-- GIDEROSCST:PAD.BUTTONS_NONE 3-->
+
[[CTNTVirtualPad.Constants|PAD.BUTTONS_NONE]]<br/><!-- GIDEROSCST:PAD.BUTTONS_NONE 3-->
[[PAD.BUTTONS_ONE]]<br/><!-- GIDEROSCST:PAD.BUTTONS_ONE 4-->
+
[[CTNTVirtualPad.Constants|PAD.BUTTONS_ONE]]<br/><!-- GIDEROSCST:PAD.BUTTONS_ONE 4-->
[[PAD.BUTTONS_TWO]]<br/><!-- GIDEROSCST:PAD.BUTTONS_TWO 5-->
+
[[CTNTVirtualPad.Constants|PAD.BUTTONS_TWO]]<br/><!-- GIDEROSCST:PAD.BUTTONS_TWO 5-->
[[PAD.BUTTONS_THREE]]<br/><!-- GIDEROSCST:PAD.BUTTONS_THREE 6-->
+
[[CTNTVirtualPad.Constants|PAD.BUTTONS_THREE]]<br/><!-- GIDEROSCST:PAD.BUTTONS_THREE 6-->
[[PAD.BUTTONS_FOUR]]<br/><!-- GIDEROSCST:PAD.BUTTONS_FOUR 7-->
+
[[CTNTVirtualPad.Constants|PAD.BUTTONS_FOUR]]<br/><!-- GIDEROSCST:PAD.BUTTONS_FOUR 7-->
[[PAD.BUTTONS_FIVE]]<br/><!-- GIDEROSCST:PAD.BUTTONS_FIVE 8-->
+
[[CTNTVirtualPad.Constants|PAD.BUTTONS_FIVE]]<br/><!-- GIDEROSCST:PAD.BUTTONS_FIVE 8-->
[[PAD.BUTTONS_SIX]]<br/><!-- GIDEROSCST:PAD.BUTTONS_SIX 9-->
+
[[CTNTVirtualPad.Constants|PAD.BUTTONS_SIX]]<br/><!-- GIDEROSCST:PAD.BUTTONS_SIX 9-->
  
[[PAD.COMPO_BUTTON1]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON1 20-->
+
[[CTNTVirtualPad.Constants|PAD.COMPO_BUTTON1]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON1 20-->
[[PAD.COMPO_BUTTON2]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON2 21-->
+
[[CTNTVirtualPad.Constants|PAD.COMPO_BUTTON2]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON2 21-->
[[PAD.COMPO_BUTTON3]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON3 22-->
+
[[CTNTVirtualPad.Constants|PAD.COMPO_BUTTON3]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON3 22-->
[[PAD.COMPO_BUTTON4]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON4 23-->
+
[[CTNTVirtualPad.Constants|PAD.COMPO_BUTTON4]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON4 23-->
[[PAD.COMPO_BUTTON5]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON5 24-->
+
[[CTNTVirtualPad.Constants|PAD.COMPO_BUTTON5]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON5 24-->
[[PAD.COMPO_BUTTON6]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON6 25-->
+
[[CTNTVirtualPad.Constants|PAD.COMPO_BUTTON6]]<br/><!-- GIDEROSCST:PAD.COMPO_BUTTON6 25-->
[[PAD.COMPO_LEFTPAD]]<br/><!-- GIDEROSCST:PAD.COMPO_LEFTPAD 26-->
+
[[CTNTVirtualPad.Constants|PAD.COMPO_LEFTPAD]]<br/><!-- GIDEROSCST:PAD.COMPO_LEFTPAD 26-->
[[PAD.COMPO_RIGHTPAD]]<br/><!-- GIDEROSCST:PAD.COMPO_RIGHTPAD 27-->
+
[[CTNTVirtualPad.Constants|PAD.COMPO_RIGHTPAD]]<br/><!-- GIDEROSCST:PAD.COMPO_RIGHTPAD 27-->
  
[[PAD.MODE_NOHIDE]]<br/><!-- GIDEROSCST:PAD.MODE_NOHIDE 13-->
+
[[CTNTVirtualPad.Constants|PAD.MODE_NOHIDE]]<br/><!-- GIDEROSCST:PAD.MODE_NOHIDE 13-->
[[PAD.MODE_GHOST]]<br/><!-- GIDEROSCST:PAD.MODE_GHOST 14-->
+
[[CTNTVirtualPad.Constants|PAD.MODE_GHOST]]<br/><!-- GIDEROSCST:PAD.MODE_GHOST 14-->
[[PAD.MODE_HIDDEN]]<br/><!-- GIDEROSCST:PAD.MODE_HIDDEN 15-->
+
[[CTNTVirtualPad.Constants|PAD.MODE_HIDDEN]]<br/><!-- GIDEROSCST:PAD.MODE_HIDDEN 15-->
  
[[PAD.STICK_NONE]]<br/><!-- GIDEROSCST:PAD.STICK_NONE 0-->
+
[[CTNTVirtualPad.Constants|PAD.STICK_NONE]]<br/><!-- GIDEROSCST:PAD.STICK_NONE 0-->
[[PAD.STICK_SINGLE]]<br/><!-- GIDEROSCST:PAD.STICK_SINGLE 1-->
+
[[CTNTVirtualPad.Constants|PAD.STICK_SINGLE]]<br/><!-- GIDEROSCST:PAD.STICK_SINGLE 1-->
[[PAD.STICK_DOUBLE]]<br/><!-- GIDEROSCST:PAD.STICK_DOUBLE 2-->
+
[[CTNTVirtualPad.Constants|PAD.STICK_DOUBLE]]<br/><!-- GIDEROSCST:PAD.STICK_DOUBLE 2-->
  
[[PAD.STYLE_CLASSIC]]<br/><!-- GIDEROSCST:PAD.STYLE_CLASSIC 10-->
+
[[CTNTVirtualPad.Constants|PAD.STYLE_CLASSIC]]<br/><!-- GIDEROSCST:PAD.STYLE_CLASSIC 10-->
[[PAD.STYLE_MOVABLE]]<br/><!-- GIDEROSCST:PAD.STYLE_MOVABLE 11-->
+
[[CTNTVirtualPad.Constants|PAD.STYLE_MOVABLE]]<br/><!-- GIDEROSCST:PAD.STYLE_MOVABLE 11-->
[[PAD.STYLE_FOLLOW]]<br/><!-- GIDEROSCST:PAD.STYLE_FOLLOW 12-->
+
[[CTNTVirtualPad.Constants|PAD.STYLE_FOLLOW]]<br/><!-- GIDEROSCST:PAD.STYLE_FOLLOW 12-->
 
|}
 
|}
  
 
{{GIDEROS IMPORTANT LINKS}}
 
{{GIDEROS IMPORTANT LINKS}}

Revision as of 15:40, 3 December 2020

Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
Available since: Gideros 2019.4

Description

Adds a virtual pad to your game/app screen.

You can find the graphics for the pads and the text file that comes with it:

TNTVirtualPad.png

Examples

Add a virtual pad to your scene

require "tntvirtualpad"

LevelX = Core.class(Sprite)

function LevelX:init()
	-- bg
	application:setBackgroundColor(0x0099a0)
	-- tnt virtual pad
	local texturevpad = TexturePack.new("gfx/UI/TNTVirtualPad.txt", "gfx/UI/TNTVirtualPadX.png", true)
	self.vPad = CTNTVirtualPad.new(self, texturevpad, PAD.STICK_SINGLE, PAD.BUTTONS_ONE, 100, 0)
	self.vPad:setJoyStyle(PAD.COMPO_LEFTPAD, PAD.STYLE_FOLLOW)
	self.vPad:setScale(PAD.COMPO_LEFTPAD, 1)
	self.vPad:setScale(PAD.COMPO_BUTTON1, 1)
	self.vPad:setHideDelay(5000)
	self.vPad:start()
	-- tnt virtual pad listeners
	self.vPad:addEventListener(PAD.LEFTPAD_EVENT, self.onVKeyDown, self)
	self.vPad:addEventListener(PAD.BUTTON1_EVENT, self.vShoot, self)
end

-- VIRTUAL PAD HANDLER
function LevelX:onVKeyDown(event)
	print(event.data.power)
	print(event.data.angle)
	print(math.cos(event.data.angle))
	print(math.sin(event.data.angle))
	-- example usage
	--self.player.posx += self.player.vx * math.cos(event.data.angle)
	--self.player.posy += self.player.vy * math.sin(event.data.angle)
	--if math.cos(event.data.angle) < 0 then self.player:setSkew(5, -5)
	--elseif math.cos(event.data.angle) > 0 then self.player:setSkew(-5, 5)
	--else self.player:setSkew(0, 0)
	--end
end

function LevelX:vShoot(event)
	if event.data.state == PAD.STATE_BEGIN then
		-- example usage
		--local missile = Missiles.new(self.player.posx, self.player.posy - 12)
		--table.insert(self.missiles_list, missile)
	end
end

Methods

CTNTVirtualPad.new creates a new VPAD object class

CTNTVirtualPad:free frees the VPAD
CTNTVirtualPad:setAlpha sets VPAD alpha values
CTNTVirtualPad:setColor sets VPAD colors
CTNTVirtualPad:setDefaultButtonSprites sets VPAD default buttons sprites !warning!
CTNTVirtualPad:setDefaultJoySprites sets VPAD default joysticks sprites !warning!
CTNTVirtualPad:setHideDelay sets VPAD hide delay
CTNTVirtualPad:setHideMode sets VPAD hide mode
CTNTVirtualPad:setJoyAsAnalog sets VPAD joysticks analog mode
CTNTVirtualPad:setJoyStyle sets VPAD joysticks movement style
CTNTVirtualPad:setMaxRadius sets VPAD max touch radius
CTNTVirtualPad:setPosition sets VPAD joysticks positions
CTNTVirtualPad:setScale sets VPAD joysticks scale
CTNTVirtualPad:setTextures sets VPAD components textures
CTNTVirtualPad:start starts the VPAD
CTNTVirtualPad:stop stops the VPAD

Events

PAD.LEFTPAD_EVENT
PAD.RIGHTPAD_EVENT

PAD.BUTTON1_EVENT
PAD.BUTTON2_EVENT
PAD.BUTTON3_EVENT
PAD.BUTTON4_EVENT
PAD.BUTTON5_EVENT
PAD.BUTTON6_EVENT

Constants

PAD.BUTTONS_NONE
PAD.BUTTONS_ONE
PAD.BUTTONS_TWO
PAD.BUTTONS_THREE
PAD.BUTTONS_FOUR
PAD.BUTTONS_FIVE
PAD.BUTTONS_SIX

PAD.COMPO_BUTTON1
PAD.COMPO_BUTTON2
PAD.COMPO_BUTTON3
PAD.COMPO_BUTTON4
PAD.COMPO_BUTTON5
PAD.COMPO_BUTTON6
PAD.COMPO_LEFTPAD
PAD.COMPO_RIGHTPAD

PAD.MODE_NOHIDE
PAD.MODE_GHOST
PAD.MODE_HIDDEN

PAD.STICK_NONE
PAD.STICK_SINGLE
PAD.STICK_DOUBLE

PAD.STYLE_CLASSIC
PAD.STYLE_MOVABLE
PAD.STYLE_FOLLOW