<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.4" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Mejorando Tu Engine II: Triggers</title>
	<link>http://www.edevi.com/programacion/mejorando-tu-engine-i-triggers</link>
	<description>Desarrollo indie de videojuegos</description>
	<pubDate>Sat, 22 Nov 2008 08:08:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.4</generator>

	<item>
		<title>by: Manuel F. Lara</title>
		<link>http://www.edevi.com/programacion/mejorando-tu-engine-i-triggers#comment-8</link>
		<pubDate>Mon, 26 Sep 2005 12:14:12 +0000</pubDate>
		<guid>http://www.edevi.com/programacion/mejorando-tu-engine-i-triggers#comment-8</guid>
					<description>@ethernet: la verdad es que está bien la idea de hacer que los triggers sean objetos de escena, el problema es que mi objeto de escena más básico tiene propiedades de objeto "visible", ya que es lo único que pensé que tendría la escena (posición, orientación, escalado..).

@tamat: ya me enseñaste hace tiempo tu gestor de tareas y está muy chulo. ¿Para qué más lo utilizas o podrías utilizarlo? ¿Una tarea es una calse derivada con una serie de métodos comunes, como los triggers? ¿Puedes poner un ejemplo de uso?</description>
		<content:encoded><![CDATA[<p>@ethernet: la verdad es que está bien la idea de hacer que los triggers sean objetos de escena, el problema es que mi objeto de escena más básico tiene propiedades de objeto &#8220;visible&#8221;, ya que es lo único que pensé que tendría la escena (posición, orientación, escalado..).</p>
<p>@tamat: ya me enseñaste hace tiempo tu gestor de tareas y está muy chulo. ¿Para qué más lo utilizas o podrías utilizarlo? ¿Una tarea es una calse derivada con una serie de métodos comunes, como los triggers? ¿Puedes poner un ejemplo de uso?
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: tamat</title>
		<link>http://www.edevi.com/programacion/mejorando-tu-engine-i-triggers#comment-7</link>
		<pubDate>Sun, 25 Sep 2005 09:02:50 +0000</pubDate>
		<guid>http://www.edevi.com/programacion/mejorando-tu-engine-i-triggers#comment-7</guid>
					<description>Muy interesante.

Se parece en parte a mi sistema de Tareas (Tasks) en el cual cuelgo diferentes actividades que se tienen que realizar en el bucle principal, y cada tarea tiene su variable de tiempo entre ejecución o tiempo de vida.

Si quiero hacer un trigger simplemente cuelgo la tarea en el bucle. Además me iba genial para el tema del bucle de render, porque permite ordenar las diferentes actividades por prioridades.</description>
		<content:encoded><![CDATA[<p>Muy interesante.</p>
<p>Se parece en parte a mi sistema de Tareas (Tasks) en el cual cuelgo diferentes actividades que se tienen que realizar en el bucle principal, y cada tarea tiene su variable de tiempo entre ejecución o tiempo de vida.</p>
<p>Si quiero hacer un trigger simplemente cuelgo la tarea en el bucle. Además me iba genial para el tema del bucle de render, porque permite ordenar las diferentes actividades por prioridades.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: ethernet</title>
		<link>http://www.edevi.com/programacion/mejorando-tu-engine-i-triggers#comment-6</link>
		<pubDate>Fri, 23 Sep 2005 14:52:26 +0000</pubDate>
		<guid>http://www.edevi.com/programacion/mejorando-tu-engine-i-triggers#comment-6</guid>
					<description>Muy interesante, sobretodo lo de la separación de triggers de juego y otros. Yo lo hago de una forma similar pero desde otra perspectiva . Tengo dos tipos de triggers, uno normal (el que llamas tu game trigger) y otro  del GUI.

El normal lo trato como una entidad más de las escena, esto es:

MainScene.AddObject(Trigger(time,callback));

lógicamnete este trigger hereda de Object y tiene los típicos métodos de Update y Render (que no se usa lógicamente). Cuando se pausa el juego tb se pausa el trigger.

Luego tengo el GUITrigger que es igual pero que es gestionado por el GUIManager y que se añade como un widget más. 

De esta forma separo los triggers del juego a los triggers de la lógica adicional que tanto hace falta.

el código (en python):


class Timer:

	def __init__(self,world,time,callback):
		self._totime = time;
		self._time = 0;
		self._callback = callback;
		self._world = world;
		world.AddObject(self);
		self._cleared = 0;
	def Update(self,dt):
		self._time +=dt;
		if(self._totime </description>
		<content:encoded><![CDATA[<p>Muy interesante, sobretodo lo de la separación de triggers de juego y otros. Yo lo hago de una forma similar pero desde otra perspectiva . Tengo dos tipos de triggers, uno normal (el que llamas tu game trigger) y otro  del GUI.</p>
<p>El normal lo trato como una entidad más de las escena, esto es:</p>
<p>MainScene.AddObject(Trigger(time,callback));</p>
<p>lógicamnete este trigger hereda de Object y tiene los típicos métodos de Update y Render (que no se usa lógicamente). Cuando se pausa el juego tb se pausa el trigger.</p>
<p>Luego tengo el GUITrigger que es igual pero que es gestionado por el GUIManager y que se añade como un widget más. </p>
<p>De esta forma separo los triggers del juego a los triggers de la lógica adicional que tanto hace falta.</p>
<p>el código (en python):</p>
<p>class Timer:</p>
<p>	def __init__(self,world,time,callback):<br />
		self._totime = time;<br />
		self._time = 0;<br />
		self._callback = callback;<br />
		self._world = world;<br />
		world.AddObject(self);<br />
		self._cleared = 0;<br />
	def Update(self,dt):<br />
		self._time +=dt;<br />
		if(self._totime
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
