コード例 #1
0
ファイル: mundo.py プロジェクト: fnadalt/mundo
 def iniciar(self):
     log.info("iniciar")
     # sistema:
     self.sistema = Sistema()
     self.sistema.iniciar()
     self.sistema.cargar_parametros_iniciales()
     self.sistema.update(0.0, self.sistema.posicion_cursor)
     Sistema.establecer_instancia(self.sistema)
     # fisica:
     self._configurar_fisica()
     # mundo:
     self._establecer_material()  # quitarlo, optimizacion? no, al reves!
     self._establecer_shader()
     # componentes:
     self.input_mapper = InputMapperTecladoMouse(self.base)
     self.controlador_camara = ControladorCamara(self.base)
     self.controlador_camara.iniciar()
     #
     self._cargar_terreno()  #
     self._cargar_personajes()  #
     self._cargar_objetos()  #
     #self._cargar_obj_voxel()
     # gui:
     self._cargar_debug_info()
     self._cargar_gui()
     # ShowBase
     self.base.cam.node().setCameraMask(DrawMask(1))
     self.base.render.node().adjustDrawMask(DrawMask(5), DrawMask(0),
                                            DrawMask(0))
     #
     self.base.accept("l-up", self._hacer, [0])
     self.base.accept("m-up", self._hacer, [1])
     self.base.accept("v-up", self._hacer, [2])
     #
     self.base.taskMgr.add(self._update, "mundo_update")
コード例 #2
0
 def __init__(self):
     #
     super(Tester, self).__init__()
     self.disableMouse()
     self.win.setClearColor(Vec4(0.95, 1.0, 1.0, 1.0))
     #
     bullet_world = BulletWorld()
     #
     self.cam_pitch = 30.0
     self.escribir_archivo = False  # cada update
     #
     config.iniciar()
     self.sistema = Sistema()
     self.sistema.radio_expansion_parcelas = 1
     self.sistema.iniciar()
     Sistema.establecer_instancia(self.sistema)
     #
     GestorShader.iniciar(self, Sistema.TopoAltitudOceano,
                          Vec4(0, 0, 1, Sistema.TopoAltitudOceano))
     GestorShader.aplicar(self.render, GestorShader.ClaseGenerico, 1)
     self.render.setShaderInput("distancia_fog_maxima",
                                3000.0,
                                0,
                                0,
                                0,
                                priority=3)
     #
     self.terreno = Terreno(self, bullet_world)
     self.terreno.iniciar()
     #self.terreno.nodo.setRenderModeWireframe()
     #
     plano = CardMaker("plano_agua")
     r = Sistema.TopoTamanoParcela * 6
     plano.setFrame(-r, r, -r, r)
     plano.setColor((0, 0, 1, 1))
     self.plano_agua = self.render.attachNewNode(plano.generate())
     self.plano_agua = self.loader.loadModel("objetos/plano_agua")
     self.plano_agua.reparentTo(self.render)
     self.plano_agua.setScale(0.5)
     #self.plano_agua.setP(-90.0)
     #self.plano_agua.hide()
     #
     self.cam_driver = self.render.attachNewNode("cam_driver")
     self.camera.reparentTo(self.cam_driver)
     self.camera.setPos(Sistema.TopoTamanoParcela / 2, 500, 100)
     self.camera.lookAt(self.cam_driver)
     self.cam_driver.setP(self.cam_pitch)
     #
     self.luz_ambiental = self.render.attachNewNode(
         AmbientLight("luz_ambiental"))
     self.luz_ambiental.node().setColor(Vec4(0.1, 0.1, 0.1, 1))
     #
     self.sun = self.render.attachNewNode(DirectionalLight("sun"))
     self.sun.node().setColor(Vec4(1, 1, 1, 1))
     self.sun.setPos(self.terreno.nodo, 100, 100, 100)
     self.sun.lookAt(self.terreno.nodo)
     #
     self.render.setLight(self.luz_ambiental)
     self.render.setLight(self.sun)
     #
     self.texturaImagen = None
     self.imagen = None
     self.zoom_imagen = 1
     #
     self.tipo_imagen = Tester.TipoImagenTopo
     #
     self.taskMgr.add(self.update, "update")
     self.accept("wheel_up", self.zoom, [1])
     self.accept("wheel_down", self.zoom, [-1])
     #
     self._cargar_ui()
     #self._actualizar_terreno()
     self._generar_imagen()