21.12.2022 Views

python_para_desenvolvedores_2ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

302 Blender

Sensores (sensors), que detectam os eventos.

Controladores (controllers), que relacionam os sensores com os

ativadores adequados.

Ativadores (actuators), que ativam as reações.

No painel Logic, as associações entre os bricks pode ser definida de forma

interativa. O BGE tem diversos ativadores prontos, para realizar tarefas como

encerrar a execução ou mudar a velocidade do objeto.

O BGE pode evocar código em Python para responder aos eventos, através

do controlador “Python”. Quando uma função em Python é executada, ela

recebe como argumento o controlador que realizou a chamada, com isso é

possível identificar e modificar o objeto (onwer) que possui o controlador.

Exemplo (módulo com função para teleporte):

# -*- coding: latin1 -*-

# Módulo de interface com o Game Engine

import GameLogic

def teleport(cont):

# obtêm o dono do controller

own = cont.owner

# obtêm a cena

scene = GameLogic.getCurrentScene()

# obtêm o destino

dest = scene.getObjectList()['OBr_portal']

# obtêm as coordenadas do destino

x, y, z = dest.getPosition()

# move a câmera para 1 BU acima do destino

own.setPosition([x, y, z + 1])

Essa função muda a posição do objeto, para um BU a cima do objeto chamado

“r_portal”, independente do lugar na cena em que estiver localizado.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!