Changes

Jump to navigation Jump to search

Category:Physics Engine/Bodies

160 bytes removed, 10:44, 18 July 2012
no edit summary
Line 937: Line 937:     
----
 
----
===== setVelocityFunc =====
+
===== setVelocityFunc =====
    +
<!-- code start-->
 +
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">self = physics.Body:setVelocityFunc(func)
 +
</pre><!-- code end-->
 +
<!-- table start -->
   −
<!-- code start-->
+
{| border="1" width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable"
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
+
|-
self = physics.Body:setVelocityFunc(func)
+
! Parameter  
</pre><!-- code end-->
+
! Type  
 
+
! Description <!-- header row end -->
 
  −
<!-- table start -->
  −
{| border=1 width="100%" cellspacing="0" cellpadding="4" style="border-color:#eee" class="wikitable"  
  −
<!-- header row start -->
  −
! Parameter !! Type !! Description  
  −
<!-- header row end -->
   
|-
 
|-
| self  
+
| self  
| '''in''' physics.Body  
+
| '''in''' physics.Body  
| The input Body  
+
| The input Body
 
|-
 
|-
| func  
+
| func  
| '''in''' function(body, grav, damping, dt)  
+
| '''in''' function(body, grav, damping, dt)  
| A callback function that updates the velocity of the Body on each time step  
+
| A callback function that updates the velocity of the Body on each time step
 
|-
 
|-
| self  
+
| self  
| '''out''' physics.Body  
+
| '''out''' physics.Body  
| The input Body is returned as the output  
+
| The input Body is returned as the output
|}<!-- table end -->
+
|}
 +
<!-- table end -->  
 +
<br> Sets the velocity function of the body. The velocity function must be a function that accepts a Body, a gravity [[#vector|vector]], a numeric damping factor, and a time step value. The function should call body:updateVelocity to adjust the velocity of the body.
   −
<br/>
+
Returns the Body.  
Sets the velocity function of the body. The velocity function must be a function that accepts a Body, a gravity [[#vector|vector]], a numeric damping factor, and a time step value. The function should call body:updateVelocity to adjust the velocity of the body.
     −
Returns the Body.
   
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#ddffdd;"
 
{| width="100%" style="padding: 20px; margin-left:20px; border:solid; border-color:#aaa; border-width:0px; text-align:left; background-color:#ddffdd;"
 
|-
 
|-
| <span style="color:#00AA00">'''TIP''':</span> '''Example'''<hr>
+
|  
|-
+
<span style="color:#00AA00">'''TIP''':</span> '''Example'''
   −
<div style="white-space: pre">
+
<br>function sampleVelocityFunc(body, gravity, damping, dt)<br>local pos = body:pos()<br>local sqdist = pos:lengthsq()<br>local g = pos:mult(-GravityStrength / (sqdist * math.sqrt(sqdist)))<br>body:updateVelocity(g, damping, dt)<br>end
    +
body:setVelocityFunc(sampleVelocityFunc)<br><br>
   −
<!-- code start-->
+
----
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">
  −
function sampleVelocityFunc(body, gravity, damping, dt)
  −
local pos = body:pos()
  −
local sqdist = pos:lengthsq()
  −
local g = pos:mult(-GravityStrength / (sqdist * math.sqrt(sqdist)))
  −
body:updateVelocity(g, damping, dt)
  −
end
     −
body:setVelocityFunc(sampleVelocityFunc)
+
|}
</pre><!-- code end-->
      +
<br>
   −
</div>
+
Introduced in platform.apiLevel = '2.0'
|}
  −
<br/>
     −
Introduced in platform.apiLevel = '2.0'
+
----
   −
----
   
===== setVLimit =====
 
===== setVLimit =====
  

Navigation menu