Game Logic (bge.logic)

Introduction

Module to access logic functions, imported automatically into the python controllers namespace.

# To get the controller thats running this python script:
cont = bge.logic.getCurrentController() # bge.logic is automatically imported

# To get the game object this controller is on:
obj = cont.owner

KX_GameObject, KX_Camera or KX_LightObject methods are available depending on the type of object. See object types for more reference.

# To get a sensor linked to this controller.
# "sensorname" is the name of the sensor as defined in the Blender interface.
# +---------------------+  +--------+
# | Sensor "sensorname" +--+ Python +
# +---------------------+  +--------+
sens = cont.sensors["sensorname"]

# To get a sequence of all sensors:
sensors = co.sensors

See the available sensors reference for available attributes.

You can also access actuators linked to the controller

# To get an actuator attached to the controller:
#                          +--------+  +-------------------------+
#                          + Python +--+ Actuator "actuatorname" |
#                          +--------+  +-------------------------+
actuator = co.actuators["actuatorname"]

# Activate an actuator
controller.activate(actuator)

See the available actuators reference for available attributes.

Most logic brick’s methods are accessors for the properties available in the logic buttons. Consult the logic bricks documentation for more information on how each logic brick works.

There are also methods to access the current KX_Scene

# Get the current scene
scene = bge.logic.getCurrentScene()

# Get the current camera
cam = scene.active_camera

Matricies as used by the game engine are row major matrix[row][col] = float

KX_Camera has some examples using matrices.

Variables

bge.logic.globalDict

A dictionary that is saved between loading blend files so you can use it to store inventory and other variables you want to store between scenes and blend files. It can also be written to a file and loaded later on with the game load/save actuators.

Note

only python built in types such as int/string/bool/float/tuples/lists can be saved, GameObjects, Actuators etc will not work as expected.

bge.logic.keyboard

The current keyboard wrapped in an SCA_PythonKeyboard object.

bge.logic.mouse

The current mouse wrapped in an SCA_PythonMouse object.

bge.logic.joysticks

A list of attached SCA_PythonJoystick. The list size is the maximum number of supported joysticks. If no joystick is available for a given slot, the slot is set to None.

General functions

bge.logic.getCurrentController()

Gets the Python controller associated with this Python script.

Return type:SCA_PythonController
bge.logic.getCurrentScene()

Gets the current Scene.

Return type:KX_Scene
bge.logic.getSceneList()

Gets a list of the current scenes loaded in the game engine.

Return type:list of KX_Scene

Note

Scenes in your blend file that have not been converted wont be in this list. This list will only contain scenes such as overlays scenes.

bge.logic.getInactiveSceneNames()

Gets a list of the scene’s names not loaded in the game engine.

Return type:list of string
bge.logic.loadGlobalDict()

Loads bge.logic.globalDict from a file.

bge.logic.saveGlobalDict()

Saves bge.logic.globalDict to a file.

bge.logic.startGame(blend)

Loads the blend file.

Parameters:blend (string) – The name of the blend file
bge.logic.endGame()

Ends the current game.

bge.logic.restartGame()

Restarts the current game by reloading the .blend file (the last saved version, not what is currently running).

bge.logic.LibLoad(blend, type, data, load_actions=False, verbose=False, load_scripts=True, async=False, scene=None)

Converts the all of the datablocks of the given type from the given blend.

Parameters:
  • blend (string) – The path to the blend file (or the name to use for the library if data is supplied)
  • type (string) – The datablock type (currently only “Action”, “Mesh” and “Scene” are supported)
  • data (bytes) – Binary data from a blend file (optional)
  • load_actions (bool) – Search for and load all actions in a given Scene and not just the “active” actions (Scene type only)
  • verbose (bool) – Whether or not to print debugging information (e.g., “SceneName: Scene”)
  • load_scripts (bool) – Whether or not to load text datablocks as well (can be disabled for some extra security)
  • async (bool) – Whether or not to do the loading asynchronously (in another thread). Only the “Scene” type is currently supported for this feature.
  • scene (KX_Scene or string) – Scene to merge loaded data to, if None use the current scene.
Return type:

KX_LibLoadStatus

Note

Asynchronously loaded libraries will not be available immediately after LibLoad() returns. Use the returned KX_LibLoadStatus to figure out when the libraries are ready.

bge.logic.LibNew(name, type, data)

Uses existing datablock data and loads in as a new library.

Parameters:
  • name (string) – A unique library name used for removal later
  • type (string) – The datablock type (currently only “Mesh” is supported)
  • data (list of strings) – A list of names of the datablocks to load
bge.logic.LibFree(name)

Frees a library, removing all objects and meshes from the currently active scenes.

Parameters:name (string) – The name of the library to free (the name used in LibNew)
bge.logic.LibList()

Returns a list of currently loaded libraries.

Return type:list [str]
bge.logic.addScene(name, overlay=1)

Loads a scene into the game engine.

Note

This function is not effective immediately, the scene is queued and added on the next logic cycle where it will be available from getSceneList

Parameters:
  • name (string) – The name of the scene
  • overlay (integer) – Overlay or underlay (optional)
bge.logic.sendMessage(subject, body="", to="", message_from="")

Sends a message to sensors in any active scene.

Parameters:
  • subject (string) – The subject of the message
  • body (string) – The body of the message (optional)
  • to (string) – The name of the object to send the message to (optional)
  • message_from (string) – The name of the object that the message is coming from (optional)
bge.logic.setGravity(gravity)

Sets the world gravity.

Parameters:gravity (Vector((fx, fy, fz))) – gravity vector
bge.logic.getSpectrum() (Deprecated)

Returns a 512 point list from the sound card. This only works if the fmod sound driver is being used.

Return type:list [float], len(getSpectrum()) == 512
bge.logic.getMaxLogicFrame()

Gets the maximum number of logic frames per render frame.

Returns:The maximum number of logic frames per render frame
Return type:integer
bge.logic.setMaxLogicFrame(maxlogic)

Sets the maximum number of logic frames that are executed per render frame. This does not affect the physic system that still runs at full frame rate.

Parameters:maxlogic (integer) – The new maximum number of logic frames per render frame. Valid values: 1..5
bge.logic.getMaxPhysicsFrame()

Gets the maximum number of physics frames per render frame.

Returns:The maximum number of physics frames per render frame
Return type:integer
bge.logic.setMaxPhysicsFrame(maxphysics)

Sets the maximum number of physics timestep that are executed per render frame. Higher value allows physics to keep up with realtime even if graphics slows down the game. Physics timestep is fixed and equal to 1/tickrate (see setLogicTicRate) maxphysics/ticrate is the maximum delay of the renderer that physics can compensate.

Parameters:maxphysics (integer) – The new maximum number of physics timestep per render frame. Valid values: 1..5.
bge.logic.getLogicTicRate()

Gets the logic update frequency.

Returns:The logic frequency in Hz
Return type:float
bge.logic.setLogicTicRate(ticrate)

Sets the logic update frequency.

The logic update frequency is the number of times logic bricks are executed every second. The default is 60 Hz.

Parameters:ticrate (float) – The new logic update frequency (in Hz).
bge.logic.getPhysicsTicRate()

Gets the physics update frequency

Returns:The physics update frequency in Hz
Return type:float
bge.logic.setPhysicsTicRate(ticrate)

Sets the physics update frequency

The physics update frequency is the number of times the physics system is executed every second. The default is 60 Hz.

Parameters:ticrate (float) – The new update frequency (in Hz).
bge.logic.getExitKey()

Gets the key used to exit the game engine

Returns:The key (defaults to bge.events.ESCKEY)
Return type:int
bge.logic.setExitKey(key)

Sets the key used to exit the game engine

Parameters:key (int) – A key constant from bge.events
bge.logic.NextFrame()

Render next frame (if Python has control)

bge.logic.setRender(render)

Sets the global flag that controls the render of the scene. If True, the render is done after the logic frame. If False, the render is skipped and another logic frame starts immediately.

Note

GPU VSync no longer limits the number of frame per second when render is off, but the Use Frame Rate option still regulates the fps. To run as many frames as possible, untick this option (Render Properties, System panel).

Parameters:render (bool) – the render flag
bge.logic.getRender()

Get the current value of the global render flag

Returns:The flag value
Return type:bool

Utility functions

bge.logic.expandPath(path)

Converts a blender internal path into a proper file system path.

Use / as directory separator in path You can use ‘//’ at the start of the string to define a relative path; Blender replaces that string by the directory of the current .blend or runtime file to make a full path name. The function also converts the directory separator to the local file system format.

Parameters:path (string) – The path string to be converted/expanded.
Returns:The converted string
Return type:string
bge.logic.getAverageFrameRate()

Gets the estimated/average framerate for all the active scenes, not only the current scene.

Returns:The estimated average framerate in frames per second
Return type:float
bge.logic.getBlendFileList(path = "//")

Returns a list of blend files in the same directory as the open blend file, or from using the option argument.

Parameters:path (string) – Optional directory argument, will be expanded (like expandPath) into the full path.
Returns:A list of filenames, with no directory prefix
Return type:list
bge.logic.getRandomFloat()

Returns a random floating point value in the range [0 - 1]

bge.logic.PrintGLInfo()

Prints GL Extension Info into the console

bge.logic.PrintMemInfo()

Prints engine statistics into the console

bge.logic.getProfileInfo()

Returns a Python dictionary that contains the same information as the on screen profiler. The keys are the profiler categories and the values are tuples with the first element being time taken (in ms) and the second element being the percentage of total time.

Constants

bge.logic.KX_TRUE

True value used by some modules.

Value:1
bge.logic.KX_FALSE

False value used by some modules.

Value:2

Sensors

Sensor Status

See SCA_ISensor.status

bge.logic.KX_SENSOR_INACTIVE
Value:0
bge.logic.KX_SENSOR_JUST_ACTIVATED
Value:1
bge.logic.KX_SENSOR_ACTIVE
Value:2
bge.logic.KX_SENSOR_JUST_DEACTIVATED
Value:3

Armature Sensor

See KX_ArmatureSensor.type

bge.logic.KX_ARMSENSOR_STATE_CHANGED

Detect that the constraint is changing state (active/inactive).

Value:0
bge.logic.KX_ARMSENSOR_LIN_ERROR_BELOW

Detect that the constraint linear error is above a threshold.

Value:1
bge.logic.KX_ARMSENSOR_LIN_ERROR_ABOVE

Detect that the constraint linear error is below a threshold.

Value:2
bge.logic.KX_ARMSENSOR_ROT_ERROR_BELOW

Detect that the constraint rotation error is above a threshold.

Value:3
bge.logic.KX_ARMSENSOR_ROT_ERROR_ABOVE

Detect that the constraint rotation error is below a threshold.

Value:4

Movement Sensor

See KX_MovementSensor.axis

bge.logic.KX_MOVEMENT_ALL_AXIS
Value:6
bge.logic.KX_MOVEMENT_AXIS_NEG_X
Value:3
bge.logic.KX_MOVEMENT_AXIS_NEG_Y
Value:4
bge.logic.KX_MOVEMENT_AXIS_NEG_Z
Value:5
bge.logic.KX_MOVEMENT_AXIS_POS_X
Value:1
bge.logic.KX_MOVEMENT_AXIS_POS_Y
Value:0
bge.logic.KX_MOVEMENT_AXIS_POS_Z
Value:2

Property Sensor

See SCA_PropertySensor.mode

bge.logic.KX_PROPSENSOR_EQUAL

Activate when the property is equal to the sensor value.

Value:1
bge.logic.KX_PROPSENSOR_NOTEQUAL

Activate when the property is not equal to the sensor value.

Value:2
bge.logic.KX_PROPSENSOR_INTERVAL

Activate when the property is between the specified limits.

Value:3
bge.logic.KX_PROPSENSOR_CHANGED

Activate when the property changes.

Value:4
bge.logic.KX_PROPSENSOR_EXPRESSION

Activate when the expression matches.

Value:5
bge.logic.KX_PROPSENSOR_LESSTHAN

Activate when the property is less than the sensor value.

Value:6
bge.logic.KX_PROPSENSOR_GREATERTHAN

Activate when the property is greater than the sensor value.

Value:7

Radar Sensor

See KX_RadarSensor.axis

bge.logic.KX_RADAR_AXIS_POS_X
Value:0
bge.logic.KX_RADAR_AXIS_POS_Y
Value:1
bge.logic.KX_RADAR_AXIS_POS_Z
Value:2
bge.logic.KX_RADAR_AXIS_NEG_X
Value:3
bge.logic.KX_RADAR_AXIS_NEG_Y
Value:4
bge.logic.KX_RADAR_AXIS_NEG_Z
Value:5

Ray Sensor

See KX_RaySensor.axis

bge.logic.KX_RAY_AXIS_POS_X
Value:1
bge.logic.KX_RAY_AXIS_POS_Y
Value:0
bge.logic.KX_RAY_AXIS_POS_Z
Value:2
bge.logic.KX_RAY_AXIS_NEG_X
Value:3
bge.logic.KX_RAY_AXIS_NEG_Y
Value:4
bge.logic.KX_RAY_AXIS_NEG_Z
Value:5

Actuators

Action Actuator

See BL_ActionActuator

bge.logic.KX_ACTIONACT_PLAY
Value:0
bge.logic.KX_ACTIONACT_PINGPONG
Value:1
bge.logic.KX_ACTIONACT_FLIPPER
Value:2
bge.logic.KX_ACTIONACT_LOOPSTOP
Value:3
bge.logic.KX_ACTIONACT_LOOPEND
Value:4
bge.logic.KX_ACTIONACT_PROPERTY
Value:6

Armature Actuator

See BL_ArmatureActuator.type

bge.logic.KX_ACT_ARMATURE_RUN

Just make sure the armature will be updated on the next graphic frame. This is the only persistent mode of the actuator: it executes automatically once per frame until stopped by a controller

Value:0
bge.logic.KX_ACT_ARMATURE_ENABLE

Enable the constraint.

Value:1
bge.logic.KX_ACT_ARMATURE_DISABLE

Disable the constraint (runtime constraint values are not updated).

Value:2
bge.logic.KX_ACT_ARMATURE_SETTARGET

Change target and subtarget of constraint.

Value:3
bge.logic.KX_ACT_ARMATURE_SETWEIGHT

Change weight of constraint (IK only).

Value:4
bge.logic.KX_ACT_ARMATURE_SETINFLUENCE

Change influence of constraint.

Value:5

Constraint Actuator

See KX_ConstraintActuator.option

  • Applicable to Distance constraint:
bge.logic.KX_CONSTRAINTACT_NORMAL

Activate alignment to surface.

Value:64
bge.logic.KX_CONSTRAINTACT_DISTANCE

Activate distance control.

Value:512
bge.logic.KX_CONSTRAINTACT_LOCAL

Direction of the ray is along the local axis.

Value:1024
  • Applicable to Force field constraint:
bge.logic.KX_CONSTRAINTACT_DOROTFH

Force field act on rotation as well.

Value:2048
  • Applicable to both:
bge.logic.KX_CONSTRAINTACT_MATERIAL

Detect material rather than property.

Value:128
bge.logic.KX_CONSTRAINTACT_PERMANENT

No deactivation if ray does not hit target.

Value:256

See KX_ConstraintActuator.limit

bge.logic.KX_CONSTRAINTACT_LOCX

Limit X coord.

Value:1
bge.logic.KX_CONSTRAINTACT_LOCY

Limit Y coord.

Value:2
bge.logic.KX_CONSTRAINTACT_LOCZ

Limit Z coord.

Value:3
bge.logic.KX_CONSTRAINTACT_ROTX

Limit X rotation.

Value:4
bge.logic.KX_CONSTRAINTACT_ROTY

Limit Y rotation.

Value:5
bge.logic.KX_CONSTRAINTACT_ROTZ

Limit Z rotation.

Value:6
bge.logic.KX_CONSTRAINTACT_DIRNX

Set distance along negative X axis.

Value:10
bge.logic.KX_CONSTRAINTACT_DIRNY

Set distance along negative Y axis.

Value:11
bge.logic.KX_CONSTRAINTACT_DIRNZ

Set distance along negative Z axis.

Value:12
bge.logic.KX_CONSTRAINTACT_DIRPX

Set distance along positive X axis.

Value:7
bge.logic.KX_CONSTRAINTACT_DIRPY

Set distance along positive Y axis.

Value:8
bge.logic.KX_CONSTRAINTACT_DIRPZ

Set distance along positive Z axis.

Value:9
bge.logic.KX_CONSTRAINTACT_ORIX

Set orientation of X axis.

Value:13
bge.logic.KX_CONSTRAINTACT_ORIY

Set orientation of Y axis.

Value:14
bge.logic.KX_CONSTRAINTACT_ORIZ

Set orientation of Z axis.

Value:15
bge.logic.KX_CONSTRAINTACT_FHNX

Set force field along negative X axis.

Value:19
bge.logic.KX_CONSTRAINTACT_FHNY

Set force field along negative Y axis.

Value:20
bge.logic.KX_CONSTRAINTACT_FHNZ

Set force field along negative Z axis.

Value:21
bge.logic.KX_CONSTRAINTACT_FHPX

Set force field along positive X axis.

Value:16
bge.logic.KX_CONSTRAINTACT_FHPY

Set force field along positive Y axis.

Value:17
bge.logic.KX_CONSTRAINTACT_FHPZ

Set force field along positive Z axis.

Value:18

Dynamic Actuator

See KX_SCA_DynamicActuator

bge.logic.KX_DYN_RESTORE_DYNAMICS
Value:0
bge.logic.KX_DYN_DISABLE_DYNAMICS
Value:1
bge.logic.KX_DYN_ENABLE_RIGID_BODY
Value:2
bge.logic.KX_DYN_DISABLE_RIGID_BODY
Value:3
bge.logic.KX_DYN_SET_MASS
Value:4

Game Actuator

See KX_GameActuator

bge.logic.KX_GAME_LOAD
Value:1
bge.logic.KX_GAME_START
Value:2
bge.logic.KX_GAME_RESTART
Value:3
bge.logic.KX_GAME_QUIT
Value:4
bge.logic.KX_GAME_SAVECFG
Value:5
bge.logic.KX_GAME_LOADCFG
Value:6

Mouse Actuator

See KX_MouseActuator

bge.logic.KX_ACT_MOUSE_OBJECT_AXIS_X
Value:0
bge.logic.KX_ACT_MOUSE_OBJECT_AXIS_Y
Value:1
bge.logic.KX_ACT_MOUSE_OBJECT_AXIS_Z
Value:2

Parent Actuator

See KX_ParentActuator

bge.logic.KX_PARENT_REMOVE
Value:2
bge.logic.KX_PARENT_SET
Value:1

Random Distributions

See SCA_RandomActuator

bge.logic.KX_RANDOMACT_BOOL_CONST
Value:1
bge.logic.KX_RANDOMACT_BOOL_UNIFORM
Value:2
bge.logic.KX_RANDOMACT_BOOL_BERNOUILLI
Value:3
bge.logic.KX_RANDOMACT_INT_CONST
Value:4
bge.logic.KX_RANDOMACT_INT_UNIFORM
Value:5
bge.logic.KX_RANDOMACT_INT_POISSON
Value:6
bge.logic.KX_RANDOMACT_FLOAT_CONST
Value:7
bge.logic.KX_RANDOMACT_FLOAT_UNIFORM
Value:8
bge.logic.KX_RANDOMACT_FLOAT_NORMAL
Value:9
bge.logic.KX_RANDOMACT_FLOAT_NEGATIVE_EXPONENTIAL
Value:10

Scene Actuator

See KX_SceneActuator

bge.logic.KX_SCENE_RESTART
Value:1
bge.logic.KX_SCENE_SET_SCENE
Value:2
bge.logic.KX_SCENE_SET_CAMERA
Value:3
bge.logic.KX_SCENE_ADD_FRONT_SCENE
Value:4
bge.logic.KX_SCENE_ADD_BACK_SCENE
Value:5
bge.logic.KX_SCENE_REMOVE_SCENE
Value:6
bge.logic.KX_SCENE_SUSPEND
Value:7
bge.logic.KX_SCENE_RESUME
Value:8

Sound Actuator

See KX_SoundActuator

bge.logic.KX_SOUNDACT_PLAYSTOP
Value:1
bge.logic.KX_SOUNDACT_PLAYEND
Value:2
bge.logic.KX_SOUNDACT_LOOPSTOP
Value:3
bge.logic.KX_SOUNDACT_LOOPEND
Value:4
bge.logic.KX_SOUNDACT_LOOPBIDIRECTIONAL
Value:5
bge.logic.KX_SOUNDACT_LOOPBIDIRECTIONAL_STOP
Value:6

Steering Actuator

See KX_SteeringActuator.behavior

bge.logic.KX_STEERING_SEEK
Value:1
bge.logic.KX_STEERING_FLEE
Value:2
bge.logic.KX_STEERING_PATHFOLLOWING
Value:3

TrackTo Actuator

See KX_TrackToActuator

bge.logic.KX_TRACK_UPAXIS_POS_X
Value:0
bge.logic.KX_TRACK_UPAXIS_POS_Y
Value:1
bge.logic.KX_TRACK_UPAXIS_POS_Z
Value:2
bge.logic.KX_TRACK_TRAXIS_POS_X
Value:0
bge.logic.KX_TRACK_TRAXIS_POS_Y
Value:1
bge.logic.KX_TRACK_TRAXIS_POS_Z
Value:2
bge.logic.KX_TRACK_TRAXIS_NEG_X
Value:3
bge.logic.KX_TRACK_TRAXIS_NEG_Y
Value:4
bge.logic.KX_TRACK_TRAXIS_NEG_Z
Value:5

Various

2D Filter

See KX_2DFilterActuator.mode

bge.logic.RAS_2DFILTER_BLUR
Value:2
bge.logic.RAS_2DFILTER_CUSTOMFILTER

Customer filter, the code code is set via shaderText property.

Value:12
bge.logic.RAS_2DFILTER_DILATION
Value:4
bge.logic.RAS_2DFILTER_DISABLED

Disable the filter that is currently active.

Value:-1
bge.logic.RAS_2DFILTER_ENABLED

Enable the filter that was previously disabled.

Value:-2
bge.logic.RAS_2DFILTER_EROSION
Value:5
bge.logic.RAS_2DFILTER_GRAYSCALE
Value:9
bge.logic.RAS_2DFILTER_INVERT
Value:11
bge.logic.RAS_2DFILTER_LAPLACIAN
Value:6
bge.logic.RAS_2DFILTER_MOTIONBLUR

Create and enable preset filters.

Value:1
bge.logic.RAS_2DFILTER_NOFILTER

Disable and destroy the filter that is currently active.

Value:0
bge.logic.RAS_2DFILTER_PREWITT
Value:8
bge.logic.RAS_2DFILTER_SEPIA
Value:10
bge.logic.RAS_2DFILTER_SHARPEN
Value:3
bge.logic.RAS_2DFILTER_SOBEL
Value:7

Armature Channel

See BL_ArmatureChannel.rotation_mode

bge.logic.ROT_MODE_QUAT

Use quaternion in rotation attribute to update bone rotation.

Value:0
bge.logic.ROT_MODE_XYZ

Use euler_rotation and apply angles on bone’s Z, Y, X axis successively.

Value:1
bge.logic.ROT_MODE_XZY

Use euler_rotation and apply angles on bone’s Y, Z, X axis successively.

Value:2
bge.logic.ROT_MODE_YXZ

Use euler_rotation and apply angles on bone’s Z, X, Y axis successively.

Value:3
bge.logic.ROT_MODE_YZX

Use euler_rotation and apply angles on bone’s X, Z, Y axis successively.

Value:4
bge.logic.ROT_MODE_ZXY

Use euler_rotation and apply angles on bone’s Y, X, Z axis successively.

Value:5
bge.logic.ROT_MODE_ZYX

Use euler_rotation and apply angles on bone’s X, Y, Z axis successively.

Value:6

Armature Constraint

See BL_ArmatureConstraint.type

bge.logic.CONSTRAINT_TYPE_TRACKTO
Value:2
bge.logic.CONSTRAINT_TYPE_KINEMATIC
Value:3
bge.logic.CONSTRAINT_TYPE_ROTLIKE
Value:8
bge.logic.CONSTRAINT_TYPE_LOCLIKE
Value:9
bge.logic.CONSTRAINT_TYPE_MINMAX
Value:16
bge.logic.CONSTRAINT_TYPE_SIZELIKE
Value:10
bge.logic.CONSTRAINT_TYPE_LOCKTRACK
Value:13
bge.logic.CONSTRAINT_TYPE_STRETCHTO
Value:15
bge.logic.CONSTRAINT_TYPE_CLAMPTO
Value:18
bge.logic.CONSTRAINT_TYPE_TRANSFORM
Value:19
bge.logic.CONSTRAINT_TYPE_DISTLIMIT
Value:14

See BL_ArmatureConstraint.ik_type

bge.logic.CONSTRAINT_IK_COPYPOSE

Constraint is trying to match the position and eventually the rotation of the target.

Value:0
bge.logic.CONSTRAINT_IK_DISTANCE

Constraint is maintaining a certain distance to target subject to ik_mode.

Value:1

See BL_ArmatureConstraint.ik_flag

bge.logic.CONSTRAINT_IK_FLAG_TIP

Set when the constraint operates on the head of the bone and not the tail.

Value:1
bge.logic.CONSTRAINT_IK_FLAG_ROT

Set when the constraint tries to match the orientation of the target.

Value:2
bge.logic.CONSTRAINT_IK_FLAG_STRETCH

Set when the armature is allowed to stretch (only the bones with stretch factor > 0.0).

Value:16
bge.logic.CONSTRAINT_IK_FLAG_POS

Set when the constraint tries to match the position of the target.

Value:32

See BL_ArmatureConstraint.ik_mode

bge.logic.CONSTRAINT_IK_MODE_INSIDE

The constraint tries to keep the bone within ik_dist of target.

Value:0
bge.logic.CONSTRAINT_IK_MODE_OUTSIDE

The constraint tries to keep the bone outside ik_dist of the target.

Value:1
bge.logic.CONSTRAINT_IK_MODE_ONSURFACE

The constraint tries to keep the bone exactly at ik_dist of the target.

Value:2

Blender Material

bge.logic.BL_DST_ALPHA
Value:8
bge.logic.BL_DST_COLOR
Value:4
bge.logic.BL_ONE
Value:1
bge.logic.BL_ONE_MINUS_DST_ALPHA
Value:9
bge.logic.BL_ONE_MINUS_DST_COLOR
Value:5
bge.logic.BL_ONE_MINUS_SRC_ALPHA
Value:7
bge.logic.BL_ONE_MINUS_SRC_COLOR
Value:3
bge.logic.BL_SRC_ALPHA
Value:6
bge.logic.BL_SRC_ALPHA_SATURATE
Value:10
bge.logic.BL_SRC_COLOR
Value:2
bge.logic.BL_ZERO
Value:0

Input Status

See SCA_PythonKeyboard, SCA_PythonMouse, SCA_MouseSensor, SCA_KeyboardSensor

bge.logic.KX_INPUT_NONE
Value:0
bge.logic.KX_INPUT_JUST_ACTIVATED
Value:1
bge.logic.KX_INPUT_ACTIVE
Value:2
bge.logic.KX_INPUT_JUST_RELEASED
Value:3

KX_GameObject

See KX_GameObject.playAction

bge.logic.KX_ACTION_MODE_PLAY

Play the action once.

Value:0
bge.logic.KX_ACTION_MODE_LOOP

Loop the action (repeat it).

Value:1
bge.logic.KX_ACTION_MODE_PING_PONG

Play the action one direct then back the other way when it has completed.

Value:2
bge.logic.KX_ACTION_BLEND_BLEND

Blend layers using linear interpolation.

Value:0
bge.logic.KX_ACTION_BLEND_ADD

Adds the layers together.

Value:1

Mouse Buttons

See SCA_MouseSensor

bge.logic.KX_MOUSE_BUT_LEFT
Value:116
bge.logic.KX_MOUSE_BUT_MIDDLE
Value:117
bge.logic.KX_MOUSE_BUT_RIGHT
Value:118

Shader

bge.logic.VIEWMATRIX
Value:0
bge.logic.VIEWMATRIX_INVERSE
Value:10
bge.logic.VIEWMATRIX_INVERSETRANSPOSE
Value:11
bge.logic.VIEWMATRIX_TRANSPOSE
Value:9
bge.logic.MODELMATRIX
Value:4
bge.logic.MODELMATRIX_INVERSE
Value:6
bge.logic.MODELMATRIX_INVERSETRANSPOSE
Value:7
bge.logic.MODELMATRIX_TRANSPOSE
Value:5
bge.logic.MODELVIEWMATRIX
Value:0
bge.logic.MODELVIEWMATRIX_INVERSE
Value:2
bge.logic.MODELVIEWMATRIX_INVERSETRANSPOSE
Value:3
bge.logic.MODELVIEWMATRIX_TRANSPOSE
Value:1
bge.logic.CAM_POS

Current camera position

Value:12
bge.logic.CONSTANT_TIMER
Value:13
bge.logic.EYE

User a timer for the uniform value.

Value:14
bge.logic.SHD_TANGENT
Value:1

States

See KX_StateActuator

bge.logic.KX_STATE1
Value:1
bge.logic.KX_STATE2
Value:2
bge.logic.KX_STATE3
Value:4
bge.logic.KX_STATE4
Value:8
bge.logic.KX_STATE5
Value:16
bge.logic.KX_STATE6
Value:32
bge.logic.KX_STATE7
Value:64
bge.logic.KX_STATE8
Value:128
bge.logic.KX_STATE9
Value:256
bge.logic.KX_STATE10
Value:512
bge.logic.KX_STATE11
Value:1024
bge.logic.KX_STATE12
Value:2048
bge.logic.KX_STATE13
Value:4096
bge.logic.KX_STATE14
Value:8192
bge.logic.KX_STATE15
Value:16384
bge.logic.KX_STATE16
Value:32768
bge.logic.KX_STATE17
Value:65536
bge.logic.KX_STATE18
Value:131072
bge.logic.KX_STATE19
Value:262144
bge.logic.KX_STATE20
Value:524288
bge.logic.KX_STATE21
Value:1048576
bge.logic.KX_STATE22
Value:2097152
bge.logic.KX_STATE23
Value:4194304
bge.logic.KX_STATE24
Value:8388608
bge.logic.KX_STATE25
Value:16777216
bge.logic.KX_STATE26
Value:33554432
bge.logic.KX_STATE27
Value:67108864
bge.logic.KX_STATE28
Value:134217728
bge.logic.KX_STATE29
Value:268435456
bge.logic.KX_STATE30
Value:536870912

See KX_StateActuator.operation

bge.logic.KX_STATE_OP_CLR

Substract bits to state mask.

Value:2
bge.logic.KX_STATE_OP_CPY

Copy state mask.

Value:0
bge.logic.KX_STATE_OP_NEG

Invert bits to state mask.

Value:3
bge.logic.KX_STATE_OP_SET

Add bits to state mask.

Value:1