# direct.interval.ProjectileInterval¶

from direct.interval.ProjectileInterval import ProjectileInterval


ProjectileInterval module: contains the ProjectileInterval class

Inheritance diagram

class ProjectileInterval(node, startPos=None, endPos=None, duration=None, startVel=None, endZ=None, wayPoint=None, timeToWayPoint=None, gravityMult=None, name=None, collNode=None)[source]

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

__init__(self, node, startPos=None, endPos=None, duration=None, startVel=None, endZ=None, wayPoint=None, timeToWayPoint=None, gravityMult=None, name=None, collNode=None)[source]

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.

gravity = 32.0
notify = <direct.directnotify.Notifier.Notifier object>
privInitialize(self, t)[source]
privInstant(self)[source]
privStep(self, t)[source]
projectileIntervalNum = 1
testTrajectory(self)[source]