Difference between revisions of "Accelerometer"
From GiderosMobile
| (57 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
__NOTOC__  | __NOTOC__  | ||
| − | '''  | + | <!-- GIDEROSOBJ:Accelerometer -->  | 
| − | '''  | + | '''Supported platforms:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform winrt.png]]<br/>  | 
| − | '''  | + | '''Available since:''' Gideros 2012.8<br/>  | 
| − | ===   | + | '''Inherits from:''' [[Object]]<br/>  | 
| − | + | ||
| − | The   | + | === Description ===  | 
| − | + | The Accelerometer class is used to access accelerometer data.  | |
| − | ===   | + | |
| − | + | === Example ===  | |
| − | + | <syntaxhighlight lang="lua">  | |
| + | local filter = 0.03  | ||
| + | local fx, fy, fz = 0, 0, 0  | ||
| + | --create instance  | ||
local accelerometer = Accelerometer.new()  | local accelerometer = Accelerometer.new()  | ||
--start receiving data  | --start receiving data  | ||
accelerometer:start()  | accelerometer:start()  | ||
| − | |||
| − | |||
| − | |||
| − | --  | + | function onEnterFrame(event)  | 
| − | + | 	---get values for example on each enter frame event  | |
| + | 	local x, y, z = accelerometer:getAcceleration()  | ||
| + | 	fx = x * filter + fx * (1 - filter)  | ||
| + | 	fy = y * filter + fy * (1 - filter)  | ||
| + | 	fz = z * filter + fz * (1 - filter)  | ||
| + | 	print("Y: "..math.floor(fy*90*-1))  | ||
| + | 	print("X: "..math.floor(fx*90*-1))  | ||
| + | 	print("Z: "..math.floor(fz*90*-1))  | ||
| + | end  | ||
| + | stage:addEventListener("enterFrame",onEnterFrame,self)  | ||
| + | </syntaxhighlight>  | ||
| + | |||
{|-  | {|-  | ||
| style="width: 50%; vertical-align:top;"|  | | style="width: 50%; vertical-align:top;"|  | ||
| − | ===   | + | === Methods ===  | 
| − | [[  | + | [[Accelerometer.isAvailable]] ''is the accelerometer available?''<br><!--GIDEROSMTD:Accelerometer.isAvailable() is the accelerometer available?-->  | 
| − | [[  | + | [[Accelerometer.new]] ''creates a new Accelerometer instance''<br/><!--GIDEROSMTD:Accelerometer.new() creates a new Accelerometer instance-->  | 
| − | [[  | + | |
| − | [[  | + | [[Accelerometer:getAcceleration]] ''returns the 3-axis acceleration measured by the accelerometer''<br/><!--GIDEROSMTD:Accelerometer:getAcceleration() returns the 3-axis acceleration measured by the accelerometer-->  | 
| − | [[  | + | [[Accelerometer:start]] ''starts accelerometer updates''<br/><!--GIDEROSMTD:Accelerometer:start() starts accelerometer updates-->  | 
| + | [[Accelerometer:stop]] ''stops accelerometer updates''<br/><!--GIDEROSMTD:Accelerometer:stop() stops accelerometer updates-->  | ||
| + | |||
| style="width: 50%; vertical-align:top;"|  | | style="width: 50%; vertical-align:top;"|  | ||
| − | ===   | + | === Events ===  | 
| − | ===   | + | === Constants ===  | 
| + | |||
|}  | |}  | ||
| + | |||
| + | <!--{{Accelerometer}}-->  | ||
| + | {{GIDEROS IMPORTANT LINKS}}  | ||
Latest revision as of 07:57, 4 November 2023
Supported platforms: ![]()
![]()
![]()
Available since: Gideros 2012.8
Inherits from: Object
Description
The Accelerometer class is used to access accelerometer data.
Example
local filter = 0.03
local fx, fy, fz = 0, 0, 0
--create instance
local accelerometer = Accelerometer.new()
--start receiving data
accelerometer:start()
function onEnterFrame(event)
	---get values for example on each enter frame event
	local x, y, z = accelerometer:getAcceleration()
	fx = x * filter + fx * (1 - filter)
	fy = y * filter + fy * (1 - filter)
	fz = z * filter + fz * (1 - filter)
	print("Y: "..math.floor(fy*90*-1))
	print("X: "..math.floor(fx*90*-1))
	print("Z: "..math.floor(fz*90*-1))
end
stage:addEventListener("enterFrame",onEnterFrame,self)
MethodsAccelerometer.isAvailable is the accelerometer available? Accelerometer:getAcceleration returns the 3-axis acceleration measured by the accelerometer  | 
EventsConstants |