Comunidad de diseño web y desarrollo en internet online

Tengo un problema de choques en mi SWF

Citar            
MensajeEscrito el 03 Dic 2011 10:07 pm
Sinceramente no me gusta estos algoritmos, quiero decir aveces dejan mucho que desear: necesitaba un ejemplo para crear objetos aleatorios en el stage, pasa que prefiero trabajar con grids, Porque tengo la cabeza cuadrada, entoces el que mas me sirvio fue este... Pero ahora resulta que no me sirve, porque el primer elemento choca con todos :D:D .. Este script en especial es el tipo que consume micro si no se hace bien, esta muy basura. Pero es pragmatico, sirve en el momento. Lo que no entiendo es porque el primer MC no se evalua como todos y deja de chocar.. Osea esta bien que sea el primero, en teoria deberia correrce lo suficiente, por lo menos al compararce con todos!!
"El mani se me convirtio en mantequilla", Necesito que no choquen me pueden ayudar?

Código ActionScript :

public function CreateObjects(num : int) : void {
         container_all = new Array();
         for (var i : int = 0;i < num;i++) {
            realm = new Realm(i); //Objetos tipo Sprite
            realm.name = "realm_" + i + "_mc"; //indiferente
            var place_free : Boolean = false; //nada mas mantiene trabajando el while
            while (!place_free) {
               for (var j : int = 0;j < container_all.length;j++) { //el hardcore, revisa objecto por objecto hasta que no choque.
                  if (container_all[j].hitTestObject(realm)) {
                     setRdmPos(realm); //setRdmPos es una funcion que hace aleatoria la posicion en X y Y
                     j = 0; // Si logro entrar aca es porque hay overloap, entoces revisa otra vez, y es un script matador
                  } 
               }
               if (j <= container_all.length) {
                  place_free = true; //finaliza del algoritmo despues de matar el CPU
               }
            }
            container_all.push(realm); //obvio agrega los objetos al array
         }
      }

Aca el SWF, esta en proceso asi que solo sirve el boton que dice play
[url=http://www.box.com/s/8gxif9xb30k7ex6daxk5][/url]

Por chino2040

54 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Dic 2011 12:05 am
Si el problema es el primer elemento, hazlo invisible y agrega uno extra. Usar un while y esperar a que no choquen es un claro candidato para el timeout, si quieres que sea fiable, deberías hacer manualmente algún timeout para evitar el del mismo player

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Dic 2011 12:37 am

solisarg escribió:

Si el problema es el primer elemento, hazlo invisible y agrega uno extra. Usar un while y esperar a que no choquen es un claro candidato para el timeout, si quieres que sea fiable, deberías hacer manualmente algún timeout para evitar el del mismo player

Jorge


O_o Jorge, increible agregue el mismo 1er objeto al array y quedo invisible, luego volvi a compilar y buenisimo, todo en orden.
Nuevamente agradecimientos.. XDXDXD

Por chino2040

54 de clabLevel



 

firefox

 

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