Panda3D
Public Member Functions | Public Attributes | Static Public Attributes

ProjectileInterval Class Reference

Inherits Interval::Interval.

List of all members.

Public Member Functions

def __init__
def privInitialize
def privInstant
def privStep
def testTrajectory

Public Attributes

 collNode
 duration
 endPos
 implicitStartPos
 node
 parabola
 startPos
 startVel
 trajectoryArgs
 zAcc

Static Public Attributes

int gravity = 32
tuple notify = directNotify.newCategory('ProjectileInterval')
int projectileIntervalNum = 1

Detailed Description

ProjectileInterval class: moves a nodepath through the trajectory
of a projectile under the influence of gravity

Constructor & Destructor Documentation

def __init__ (   self,
  node,
  startPos = None,
  endPos = None,
  duration = None,
  startVel = None,
  endZ = None,
  wayPoint = None,
  timeToWayPoint = None,
  gravityMult = None,
  name = None,
  collNode = None 
)
You may specify several different sets of input parameters.
(If startPos is not provided, it will be obtained from the node's
position at the time that the interval is first started. Note that
in this case you must provide a duration of some kind.)

# go from startPos to endPos in duration seconds
startPos, endPos, duration
# given a starting velocity, go for a specific time period
startPos, startVel, duration
# given a starting velocity, go until you hit a given Z plane
startPos, startVel, endZ
# pass through wayPoint at time 'timeToWayPoint'. Go until
# you hit a given Z plane
startPos, wayPoint, timeToWayPoint, endZ

You may alter gravity by providing a multiplier in 'gravityMult'.
'2.' will make gravity twice as strong, '.5' half as strong.
'-1.' will reverse gravity

If collNode is not None, it should be an empty CollisionNode
which will be filled with an appropriate CollisionParabola
when the interval starts.  This CollisionParabola will be set
to match the interval's parabola, and its t1, t2 values will
be updated automatically as the interval plays.  It will *not*
be automatically removed from the node when the interval
finishes.


Member Function Documentation

def privInitialize (   self,
  t 
)
def privInstant (   self)
def privStep (   self,
  t 
)
def testTrajectory (   self)

Member Data Documentation

int gravity = 32 [static]
tuple notify = directNotify.newCategory('ProjectileInterval') [static]
int projectileIntervalNum = 1 [static]
 All Classes Namespaces Functions Variables Properties