sexta-feira, 9 de julho de 2010

Blender - Semáforo

Isabella Fontes

Olá,

Nesta semana procurei executar os scripts do semáforo, item essencial em nossa aplicação.
Aqui, há um exemplo de como ler e buscar os objetos na cena, sendo que neste exemplo a preocupação maior se deve ao fato de sincronizar as cores de 2 semáforos, e encontrei bastante dificuldade pois há uma lentidão nestes processos.

Exemplo:

import sys
import time
import os
import Blender
import Blender.Image
from Blender import Mesh
import Blender.Object
import Blender.Scene
from Blender import Material

print Material.Get()

print '\n \n'
matAmarelo = "materialAmarelo"
ma = Material.Get(matAmarelo)
matVermelho = "materialVermelho"
mvm = Material.Get(matVermelho)
matVerde = "materialVerde"
mvd = Material.Get(matVerde)

semaforos = {mvm:True,ma:False,mvd:False}

for sinal in semaforos:
      print ma.rgbCol
      print Material.ColorbandMethod.COLOR
      print 'Cor antes'
      print sinal
      print sinal.getRGBCol()
      if sinal.getName() == matAmarelo:
            print 'Trocando a cor do amarelo'
            sinal.setRGBCol([1.0,0.6,0.0])
      time.sleep(9)
      print sinal.getRGBCol()

while True:
      print 'semaforo 1 - verde'
      print 'semaforo 2 - vermelho'
      time.sleep(6)
      print 'semaforo 1 - amarelo'
      print 'semaforo 2 - vermelho'
      time.sleep(3)
      print 'semaforo 1 - vermelho'
      print 'semaforo 2 - verde'
      time.sleep(6)
      print 'semaforo 1 - vermelho'
      print 'semaforo 2 - amarelo'
      time.sleep(3)

print Blender.Get("datadir")
print dir(Blender)
lista_objetos=Blender.Object.Get()

print lista_objetos

lista_objetos = Blender.Mesh.Get()
print "eba"
print '\n \n \n',lista_objetos
meshName = "meshAmarelo"
me = Blender.Mesh.Get(meshName)
ma = Blender.Material.Get("materialAmarelo")
print '\t \n'
print dir(ma)

for x in lista_objetos:
      print (x)
      print str(x.getProperty())
      print (x.game_properties)
      print '\t \n \n'
      print dir(x)
      print x.materials
      print x.getColorLayerNames()
      print '\n \n'

lista_semaforo = {'amarelo':False,'verde':True,'vermelho':False}
print lista_semaforo
for semaforo in lista_semaforo:
      print 'abrindo semaforo',semaforo
      lista_semaforo[semaforo] = True
      time.sleep(3)
      lista_semaforo[semaforo] = False
      print 'fechando semaforo'

print lista_semaforo

Nenhum comentário:

Postar um comentário