# -*- encoding: utf-8 -*- # pilas engine: un motor para hacer videojuegos # # Copyright 2010-2014 - Hugo Ruscitti # License: LGPLv3 (see http://www.gnu.org/licenses/lgpl.html) # # Website - http://www.pilas-engine.com.ar from pilasengine.actores.emisor import Emisor import random class EmisorHUMO(Emisor): """ """ def pre_iniciar(self, x=0, y=0): self.x = x self.y = y self.z = 0 self.imagen = self.pilas.imagenes.cargar_grilla("invisible.png") self.imagen_particula = self.pilas.imagenes.cargar_grilla("particula.png") self._contador_frecuencia_creacion = 0 self.frecuencia_creacion = 0.1 self.particulas_vivas = 0 self.constante = True self.vida = 1 self.dx_min = -2 self.dx_max = 2 self.dy_min = -2 self.dy_max = 2 self.escala_min = 1 self.escala_max = 1 self.rotacion_min = 0 self.rotacion_max = 0 self.transparencia_min = 0 self.transparencia_max = 0 self.x_min = 0 self.x_max = 0 self.y_min = 0 self.y_max = 0 self.escala_fin_min = 1 self.escala_fin_max = 1 self.transparencia_fin_min = 100 self.transparencia_fin_max = 100 self.rotacion_fin_min = 0 self.rotacion_fin_max = 0 self.aceleracion_x_min = 0 self.aceleracion_x_max = 0 self.aceleracion_y_min = 0 self.aceleracion_y_max = 0 def crear_particula(self): dx = self.rango(self.dx_min, self.dx_max) / 5.0 dy = self.rango(self.dy_min, self.dy_max) / 5.0 d_escala = self.rango(self.escala_min, self.escala_max) d_rotacion = self.rango(self.rotacion_min, self.rotacion_max) d_transparencia = self.rango(self.transparencia_min, self.transparencia_max) d_x = self.rango(self.x_min, self.x_max) d_y = self.rango(self.y_min, self.y_max) p = self.pilas.actores.Particula(self, self.x + d_x, self.y + d_y, dx=dx, dy=dy, imagen=self.imagen_particula, vida=self.vida) p.transparencia = d_transparencia p.escala = d_escala p.rotacion = d_rotacion p.composicion = self._composicion p.escala_fin = self.rango(self.escala_fin_min, self.escala_fin_max) p.transparencia_fin = self.rango(self.transparencia_fin_min, self.transparencia_fin_max) p.rotacion_fin = self.rango(self.rotacion_fin_min, self.rotacion_fin_max) p.aceleracion_x = self.rango(self.aceleracion_x_min, self.aceleracion_x_max) p.aceleracion_y = self.rango(self.aceleracion_y_min, self.aceleracion_y_max) p.z = self.z self.particulas_vivas += 1