Comunidad de diseño web y desarrollo en internet online

Problema tablas array actionScript

Citar            
MensajeEscrito el 04 Jun 2014 01:52 pm
Hola
Tenemos una practica para la universidad y es urgente y importante porque nos vale aprobar la asignatura con esto, asi que si alguien nos puede ayudar perfecto!
Tenemos que hacer un juego en el que se crean unas estrellas interativas y tenemos que hacer tres tablas array. Una que sea para que las estrellas que se van creando se vayan ordenando solas en a tabla, la otra para que se muevan en horizontal o vertical y otra para el tiempo.
Nosotros habiamos hecho que la primera tabla para poner el nombre de las tres estrellas, pero eso esta mal porque tienen que ir poniendose solas segun se creen y no sabemos cambiarlo. Pongo aquí el codigo por si alguien sabe como se hace.

Gracias

stage.addEventListener(MouseEvent.MOUSE_MOVE, mourel);
function mourel(e: MouseEvent): void {
ovni.x = e.stageX;
ovni.y = e.stageY;
}


var tempsTaula: Array;
tempsTaula = new Array();


var tempsRest3: uint = 1440;
var min3: uint;
var seg3: uint;

var contantTe: uint = 84;

stage.addEventListener(Event.ENTER_FRAME, escena3);
function escena3(e: Event): void {
var estrellaBlava: MovieClip;
estrellaBlava = new estBlava();

var estrellaVerda: MovieClip;
estrellaVerda = new estVerda();

var estrellaVermella: MovieClip;
estrellaVermella = new estVermella();


var t1: Array;
t1 = new Array();

t1[0] = estrellaBlava;
t1[1] = estrellaVerda;
t1[2] = estrellaVermella;

var t3: Array;
t3 = new Array();
t3[0] = e.target.x + Math.random();
t3[1] = e.target.x - Math.random();
t3[2] = e.target.y + Math.random();
t3[3] = e.target.y - Math.random();

tempsRest3 = tempsRest3 - 1;
min3 = (tempsRest3 / 12) / 60;
seg3 = (tempsRest3 / 12) % 60;

temps7.text = "Temps:" + String(min3) + ":" + String(seg3);
contantTe = contantTe - 1;

var vidaestel: uint;
var aleatori1: uint;
var aleatori2: uint;

if (contantTe == 0) {
aleatori1 = Math.random() * 3 - 1;
stage.addChild(t1[aleatori1]);
t1[aleatori1].x = Math.random() * 550;
t1[aleatori1].y = Math.random() * 400;
t1[aleatori1].addEventListener(MouseEvent.CLICK, empaitar);
vidaestel = tempsTaula[(Math.random() * 16 - 1)];
contantTe = 84;
aleatori2 = Math.random() * 51;
t1[aleatori1].textEst.text = String(aleatori2);
}

}
function empaitar(e: MouseEvent): void {
e.target.stop();
e.target.alpha = 0;

Por ladyjenn

1 de clabLevel



 

safari
Citar            
MensajeEscrito el 04 Jun 2014 10:27 pm
Como tantas veces ponemos la solución delante del problema. Tres tablas array para mover estrellas? Es una practica de arrays o tienen que hacer un juego? En que consiste?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Jun 2014 07:21 am
segun la profe nos ha dicho que necesitamos tres tablas array..una para crear estrella, la otra para controlar el tiempo y la tercera para que se mueva solo en horizontal o vertical..
el juego consiste en que tengo una nave que se mueve con el raton y que van saliendo estrellas aleatoriamente con una puntuacion aleatoria y cuando se le pica encima con el raton tiene que sumar puntos. Las estrellas tienen que ir saliendo cada 7 segundos y el juego dura 2 minutos

Por ladyjenn

1 de clabLevel



 

safari
Citar            
MensajeEscrito el 05 Jun 2014 12:13 pm
Ok,. me pierdo con tanto código, pero acá por ejemplo creo 100 estrellas y guardo una referencia en un array, luego cada 7 segundos las muevo de posicion, podria usar dos funciones distintas, pero reutilizando una sola es mas simple

Código ActionScript :

var estrellas:Array = new Array();
var tick:Timer = new Timer(7000)
tick.addEventListener(TimerEvent.TIMER, animaEstrellas);
animaEstrellas();
tick.start();
function animaEstrellas(){
     var t:estrellaBlava
     var tot = (estrellas.length==0)?100:estrellas.length;
     for(var i:int= 0; i<tot; i++){
         if(estrellas[i]!=null){
              t = estrellas[i] 
          } else {
             t = new estrellaBlava();
             estrellas.push(t);
         }
           t.x = Math.random() * 550;
           t.y = Math.random() * 400;
     }
}


De lo que veo que pusieron, usan demasiadas variables, meten todo en un onEnterFrame y sacan el tiempo con calculos de variables, innecesario

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Jun 2014 06:14 pm
pues si..era bastante lioso como lo teniamos..

muchas gracias! esto funciona

Por ladyjenn

1 de clabLevel



 

safari

 

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