Comunidad de diseño web y desarrollo en internet online

PROBLEMA GRANDE (muy dificil de entender)

Citar            
MensajeEscrito el 28 Feb 2011 05:43 am
hola a todos tengo un problema bastante grande miren... desde hace rato estoy haciendo un juego flash tipo dwarf foortres que genera un territorio aleatorio cada ves que lo ejecutas,
y lo que hise para esto es un loop o bucle que pone cada tile y al cargarse ese tile se combierta aleatoria mente en una diferente... pero el problema esque cuando quiero poner varios tiles en un orden (digamos un arbol que ocupa 4 tiles) no se puede y lo que trato de hacer para esto esque cuando la funcion generadora de tiles detecta que se a creado un arbol en lugar de asignarle una imagen aleatoria genere la que le falta (la otra mitad del arbol)...
mi problema es ese ¿como hago que se haga eso? ... tengo un prototipo pero no funciona bien.
¿me podrian ayudar a solucionarlo, o darme otras formas de hacerlo?
les dejo el codigo de las clases que he creado para que puedan entender lo que digo.

CLASE QUE GENERA LOS TILES ATRAVES DE UN BUCLE

Código :

class generador
{
   function generador()
   {
      var i:Number = 391;
      var incremento:Number = 0;
         while (i > 0)
         {
            _root.attachMovie("terreno","terreno" + incremento,incremento);
            i--;
            incremento++;
         }
      }

}


CLASE DE CADA TILE AL GENERARSE

Código ActionScript :

class terreno extends MovieClip
{
   var tam:Number = 24;
   var fotograma:Number;
   var ARBOL:Number = 0;

   function onLoad()
   {
      generar_fila();
      saltoDeFila();

   }

   function generar_fila()
   {
      rareza();
      arbol();
      _x = _root.generado_x;
      _y = _root.generado_y;
      this.gotoAndStop(fotograma);
      _root.generado_x += tam;
   }


   function rareza()
   {
      if (!ARBOL == 1)
      {
         trace("NO arbol");
         var aleatorio:Number;
         aleatorio = random(100) + 1;
         if (aleatorio <= 99)
         {
            fotograma = 1;
         }
         if (aleatorio > 99)
         {
            fotograma = 2;
         }
      }
      if (ARBOL == 1)
      {
         trace("------------arbol----------");
         fotograma = 3;
      }
   }

   function arbol()
   {
      if (fotograma == 2)
      {
         ARBOL = 1;
      }
   }


   function saltoDeFila()
   {
      if (_root.generado_x == 564)
      {
         _root.generado_x = tam / 2;
         _root.generado_y += tam;
      }
   }




   public function terreno()
   {
      // constructor code
   }
}


LO QUE LLEVA A EL CODIGO DEL ARCHIVO BASE

Código ActionScript :

var generar_world:generador = new generador();

¿Largo no? xD

como dije, es bastante dificil de entender... les agradeceria eternamente si se tomaran la molestia de ayudarme... incluso pondre en los creditos a quienes me ayuden
PORFAVOR :shock:

Por swek

23 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Feb 2011 08:55 am
Mira, es fácil, deberías tener un tracking al crear, ya que las clases son encapsuladas, debes conocer el tipo.

Lo primero que yo haría, es conocer el tipo del tile (Ejemplo "tree"). Para eso agregaría a la clase:

Código ActionScript :

function get _type():String{
     return type;
}


La clase además debe saber si es esto o no, por lo cual debes modificar el constructor:

Código ActionScript :

var title:TileGenerator = new TileGenerator(last_instance._type);


Eso hace que puedes evaluar, hey es un tree el anterior, so ahora ejecuto el código para la parte de abajo y luego pasas algo como:

Código ActionScript :

type = "down_tree";


Y sí, leí por arriba tu código, y por lo que vi, tendrás que rehacer la lógica principal para usar el método como yo te lo explico.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 28 Feb 2011 11:08 pm
me podrias poner el codigo con lo tuyo?
Esque lo que pasa es que hablas demaciado profecional y no te entiendo del todo

Por swek

23 de clabLevel



 

chrome
Citar            
MensajeEscrito el 01 Mar 2011 10:40 am
Pues no puedo, porque el código entero no esta del todo bien. Inténtalo, y cualquier cosa te guiamos.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 01 Mar 2011 11:03 pm
GRACIAS!! por fin o consegui... lo que pasaba era que la varible que detecta un arbol se volvia a ejecutar cuando se creaba un simbolo de tile nuevo... lo unico que debia hacer es mover la variable a la pelicula principal y asi servia... gracias

PD: Algun moderador puede eliminar el tema (eliminarlo, no cerrarlo) porque no quiero que plagien mi codigo porfavor

Por swek

23 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Mar 2011 07:17 am

swek escribió:

PD: Algun moderador puede eliminar el tema (eliminarlo, no cerrarlo) porque no quiero que plagien mi codigo porfavor


No, somos una comunidad de enseñanza, por eso hacemos todo público. No podemos simplemente borrar un topic, sería como darte ayuda SOLO a ti y eso es trabajo de consultoría pago.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 02 Mar 2011 11:01 pm
entonces podrian borrar el codigo???
esque de verdad no quiero que me plagien

Por swek

23 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Mar 2011 01:41 am

swek escribió:

entonces podrian borrar el codigo???
esque de verdad no quiero que me plagien


No lo postees.

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 03 Mar 2011 08:46 am

swek escribió:

entonces podrian borrar el codigo???
esque de verdad no quiero que me plagien
¿Esto es en serio? Dios...

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

firefox
Citar            
MensajeEscrito el 03 Mar 2011 02:46 pm
Amigo swek: un poquito de código para armar un escenario de Tiles no es ningún descubrimiento, desde hace años (recuerdo la primera explicación en Flash 5) que se hacen juegos isométricos basados en tiles, y hay incluso libros al respecto.
Supongo que pecas de tres defectos que seguramente a medida que avances podrás corregir:

1. Falta de experiencia, que hace que cada logro tuyo parezca único e inigualable,
2. Desconocimiento del funcionamiento de los foros, donde todo lo que se pregunta y responde se comparte
3. Avaricia, y eso es mas grave, porque sin una actitud generosa, nunca llegarás a ser un gran desarrollador

Salute
Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.