Comunidad de diseño web y desarrollo en internet online

NOVATO: Problema con funciones

Citar            
MensajeEscrito el 04 Dic 2009 05:45 pm
Antes de nada disculpad si no es este el foro para consultar la duda, si es así os agradecería que me remitieseis al lugar donde debo plantear la consulta. Es una duda muy básica pero me he atascado, no quiero la solución sólo una pista para saber como hacerlo y sacarlo por mi misma. Gracias
Ahí va:
Tengo que crear una fila de 20 estrellas ocupando el ancho de la pantalla.
He creado una estrella así:

Código ActionScript :

function crearTriangulo(x:Number,y:Number,base:Number,altura:Number,color:Number,rotacion:Number):void {
   var t:MovieClip = new Triangulo();
   t.x = x;
   t.y = y;
   t.width = base;
   t.height = altura;
   t.rotation = rotacion;
   var ct:ColorTransform = new ColorTransform();
   ct.color = color;
   t.transform.colorTransform = ct;
   addChild(t);
}


function crearEstrella(x:Number):void {

   for (var i:int; i<5; i++) {

      var rotarTriangulos:Number = 360/5 * i;
      var posX=25 * i;
      crearTriangulo(25,250,25,25,0x333333,rotarTriangulos);
   }

}
crearEstrella();

(Es un ejercicio planteado, ya sé que ara crear una estrellas hay muchas más formas)
La estrella se me crea bien, ahora quiero repetirla 20 veces en el eje x y hago:

Código ActionScript :

for (var i:int; i<20; i++)
{
   var posX:Number = 500/20 * i;
   crearEstrella(posX);
}


y no se me extiende porque me pilla la posicion x de crearTriangulo, si cambio la cordenada x de crearTriangulo la estrella se mueve de sitio, pero si trato de cambiar la posicion x atraves de crearEstrella no me hace ni caso...

he pensado que quizas hay que meter la funcion estrella en una variable

var Estrella:MovieClip= crearEstrella(10);

pero no se si tipo bien la varieble con movieclip, quizás sharpe?

Bueno no sé, muchas gracias por vuestra ayuda

Por rmh

0 de clabLevel



 

safari
Citar            
MensajeEscrito el 05 Dic 2009 04:42 pm
Como dices hay muchas formas de hacerlo , y puede que te estes confundiendo , esa ultima idea que expusiste esta bien, ahora para que los objetos se muevan en el eje X es una formula sencilla es : (el valor inicial o spacio ) + (ancho de tu objeto + espacio) * (constante i), mas o menos asi:

Código ActionScript :

var count:int = 20;
var star:Sprite;
var spacing:Number = 10;

for(var i:uint=0; i<count; i++)
{
   star = makeStar(param1,param2..paramn);
   //simple formula  valor inicial o puede ser el espacio * (object.width + espacio) * i;
   star.x = spacing * (star.width + spacing) * i;
   addChild(star);
}

function makeStar(value1,value2,..values):Sprite
{
   var tempSprite:Sprite = new Sprite();
   //calculos Matematicos
   
   return tempSprite;
}

espero te sirva de guia , saludos.


Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox

 

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