Cleanup: API docs
[blender.git] / doc / python_api / examples / bge.texture.1.py
1 """
2 Texture Replacement
3 +++++++++++++++++++
4
5 Example of how to replace a texture in game with an external image.
6 ``createTexture()`` and ``removeTexture()`` are to be called from a
7 module Python Controller.
8 """
9 from bge import logic
10 from bge import texture
11
12
13 def createTexture(cont):
14     """Create a new Dynamic Texture"""
15     obj = cont.owner
16
17     # get the reference pointer (ID) of the internal texture
18     ID = texture.materialID(obj, 'IMoriginal.png')
19
20     # create a texture object
21     object_texture = texture.Texture(obj, ID)
22
23     # create a new source with an external image
24     url = logic.expandPath("//newtexture.jpg")
25     new_source = texture.ImageFFmpeg(url)
26
27     # the texture has to be stored in a permanent Python object
28     logic.texture = object_texture
29
30     # update/replace the texture
31     logic.texture.source = new_source
32     logic.texture.refresh(False)
33
34
35 def removeTexture(cont):
36     """Delete the Dynamic Texture, reversing back the final to its original state."""
37     try:
38         del logic.texture
39     except:
40         pass