Python в игростроении/Blender/GameLogic: различия между версиями

Содержимое удалено Содержимое добавлено
{{BookCat}}
Нет описания правки
Строка 38:
*а также любые доступные модули Питона
 
<source lang="python">co=GameLogic.getCurrentController()#привязывание скрипта к контроллеру с именем "co"
sensor_name=co.getSensor('sensor_name')#привязывание к контроллеру сенсора с именем "sensor_name"</source>
 
sensor_name=co.getSensor('sensor_name')#привязывание к контроллеру сенсора с именем "sensor_name"
 
 
Строка 46 ⟶ 45 :
http://www.blender3d.org/documentation/pydoc_gameengine/PyDoc-Gameengine-2.34/SCA_KeyboardSensor.SCA_KeyboardSensor-class.html
 
<source lang="python">import GameLogic
 
import GameKeys
 
 
co = GameLogic.getCurrentController() #Привязываем скрипт к контроллеру "со"
 
klavishi = co.getSensor('klavishi') #Привязываем сенсор "klavishi" к контроллеру "со"
 
 
# status: these should be added to a module somewhere
Строка 60 ⟶ 55 :
 
KX_NO_INPUTSTATUS = 0
 
KX_JUSTACTIVATED = 1
 
KX_ACTIVE = 2
 
KX_JUSTRELEASED = 3
 
 
#Получаем список нажатых клавиш
 
keylist = klavishi.getPressedKeys()
 
for key in keylist:
 
Строка 77 ⟶ 66 :
#Процедура проверки только что нажатых клавиш
if key[1] == KX_JUSTACTIVATED:
if key[0] == GameKeys.WKEY:
#Здесь должна быть функция ,выполняемая при нажатии клавиши "W"
if key[0] == GameKeys.SKEY:
#Здесь должна быть функция ,выполняемая при нажатии клавиши "S"
if f key[0] == GameKeys.AKEY:
#Здесь должна быть функция ,выполняемая при нажатии клавиши "A"
if key[0] == GameKeys.DKEY:
#Здесь должна быть функция ,выполняемая при нажатии клавиши "D"
</source>
 
===Mouse_sensor===
====С применением только модуля GameLogic====
http://www.blender3d.org/documentation/pydoc_gameengine/PyDoc-Gameengine-2.34/SCA_MouseSensor.SCA_MouseSensor-class.html
 
<source lang="python">import GameLogic
posiziya_X = 1 # Переменная для работы с координатой Х -целое число
 
 
posiziya_X = 1 # Переменная для работы с координатой Х -целое число
posizya_Y = 1 # Переменная для работы с координатой Y -целое число
 
co = GameLogic.getCurrentController() #Привязываем GameLogic к контроллеру "со"
 
 
co = GameLogic.getCurrentController() #Привязываем GameLogic к контроллеру "со"
obj_name = co.getOwner() #Привязываем контроллер к объекту с именем "obj_name"
 
grizun = co.getSensor("grizun") #Привязываем сенсор "grizun" к контроллеру "со"
 
 
posizya_X = grizun.getXPosition() #присваиваем переменной значение координаты Х
posizya_Y = grizun.getYPosition() #присваиваем переменной значение координаты Y</source>
 
posizya_Y = grizun.getYPosition() #присваиваем переменной значение координаты Y
 
====С применением модуля Rasterizer====
http://www.blender3d.org/documentation/pydoc_gameengine/PyDoc-Gameengine-2.34/Rasterizer-module.html
 
<source lang="python"># To use a mouse movement sensor "Mouse" and a
# motion actuator to mouse look:
 
import Rasterizer
 
import GameLogic
 
Строка 124 ⟶ 102 :
co = GameLogic.getCurrentController()
 
obj = co.getOwner()#связывание контроллера с объектом по имени "obj"
 
mouse = co.getSensor("mouse")#привязывание сенсора мыши к контроллеру
 
lmotion = co.getActuator("LMove")# привязывание активатора "lmotion" к контроллеру "co"
 
wmotion = co.getActuator("WMove")# привязывание активатора "wmotion" к контроллеру "co"
Строка 151 ⟶ 125 :
#устанавливаем мышь по центру окна(экрана)
Rasterizer.setMousePosition(Rasterizer.getWindowWidth()/2, Rasterizer.getWindowHeight()/2)</source>
 
====MouseFocus_sensor====