Python updates:
[blender.git] / source / gameengine / PyDoc / GameLogic.py
1 # $Id$
2 """
3 Documentation for the GameLogic Module.
4 =======================================
5
6         There are only three importable modules in the game engine:
7                 - GameLogic
8                 - L{GameKeys}
9                 - L{Rasterizer}
10         
11         All the other modules are accessibly through the methods in GameLogic.
12         
13         Examples::
14                 # To get a controller:
15                 import GameLogic
16                 co = GameLogic.getCurrentController()
17                 
18                 # To get the game object associated with this controller:
19                 obj = co.getOwner()
20         L{KX_GameObject} and possibly L{KX_Camera} and L{KX_Light} methods are
21         available depending on the type of object::
22                 # To get a sensor linked to this controller.
23                 # "sensorname" is the name of the sensor as defined in the Blender interface.
24                 sens = co.getSensor("sensorname")
25         L{KX_NetworkMessageSensor}, L{KX_RaySensor}, L{KX_TouchSensor}, L{SCA_KeyboardSensor}, 
26         L{SCA_MouseSensor}, L{SCA_PropertySensor} and L{SCA_RandomSensor} methods are available, 
27         depending on the type of sensor::
28                 # To get a list of all sensors:
29                 sensors = co.B{getSensors}()
30
31
32
33 Constants
34 =========
35         - KX_TRUE:  True value used by some modules
36         - KX_FALSE: False value used by some modules.
37
38 Property Sensor
39 ---------------
40         Tests that the property sensor is able to perform. See L{SCA_PropertySensor}
41                 - KX_PROPSENSOR_EQUAL:          Activate when the property is equal to the sensor value.
42                 - KX_PROPSENSOR_NOTEQUAL:       Activate when the property is not equal to the sensor value.
43                 - KX_PROPSENSOR_INTERVAL:       Activate when the property is between the specified limits.
44                 - KX_PROPSENSOR_CHANGED:        Activate when the property changes
45                 - KX_PROPSENSOR_EXPRESSION:     Activate when the expression matches
46
47 Constraint Actuator
48 -------------------
49         The axis and type (location/rotation) of constraint. See L{KX_ConstraintActuator}
50                 - KX_CONSTRAINTACT_LOCX
51                 - KX_CONSTRAINTACT_LOCY
52                 - KX_CONSTRAINTACT_LOCZ
53                 - KX_CONSTRAINTACT_ROTX
54                 - KX_CONSTRAINTACT_ROTY
55                 - KX_CONSTRAINTACT_ROTZ
56
57 IPO Actuator
58 ------------
59         IPO Types.  See L{KX_IpoActuator}
60                 - KX_IPOACT_PLAY
61                 - KX_IPOACT_PINGPONG
62                 - KX_IPOACT_FLIPPER
63                 - KX_IPOACT_LOOPSTOP
64                 - KX_IPOACT_LOOPEND
65
66 Random Distributions
67 --------------------
68         See L{SCA_RandomActuator}
69                 - KX_RANDOMACT_BOOL_CONST
70                 - KX_RANDOMACT_BOOL_UNIFORM
71                 - KX_RANDOMACT_BOOL_BERNOUILLI
72                 - KX_RANDOMACT_INT_CONST
73                 - KX_RANDOMACT_INT_UNIFORM
74                 - KX_RANDOMACT_INT_POISSON
75                 - KX_RANDOMACT_FLOAT_CONST
76                 - KX_RANDOMACT_FLOAT_UNIFORM
77                 - KX_RANDOMACT_FLOAT_NORMAL
78                 - KX_RANDOMACT_FLOAT_NEGATIVE_EXPONENTIAL
79
80 """
81
82
83 def getCurrentController():
84         """
85         Gets the Python controller associated with this Python script.
86         
87         @rtype: L{SCA_PythonController}
88         """
89 def getCurrentScene():
90         """
91         Gets the current Scene.
92         
93         @rtype: L{KX_Scene}
94         """
95 def addActiveActuator(actuator, activate):
96         """
97         Activates the given actuator.
98         
99         @type actuator: L{SCA_IActuator}
100         @type activate: boolean
101         @param activate: whether to activate or deactivate the given actuator.
102         """
103 def getRandomFloat():
104         """
105         Returns a random floating point value in the range [0...1)
106         """
107 def setGravity(gravity):
108         """
109         Sets the world gravity.
110         
111         @type gravity: list [fx, fy, fz]
112         """
113 def getSpectrum():
114         """
115         Returns a 512 point list from the sound card.
116         This only works if the fmod sound driver is being used.
117         
118         @rtype: list [float], len(getSpectrum()) == 512
119         """
120 def stopDSP():
121         """
122         Stops the sound driver using DSP effects.
123         
124         Only the fmod sound driver supports this.
125         DSP can be computationally expensive.
126         """
127