Para variar el lugar no es Y el valor, pues Y indica la posicion mas alta o posterior.. deberias manipular tu X.. que es con respecto al plano horizontal de izquierda a derecha..
QUe el rayo salga siempre desde y.. pero pare en X disitintos o ramdom
ejemplos para ubicar random
rayo.y = Math.random() * (stage.stageHeight / 2) - 100;// colocara solo el elemento dentro de la mitad superior de la escena.. o sea, si la escena mide 400 de alto, colocara por encima de los 200px - 100 = 100...es decir.. lo colocara en cualquier parte dentro de los 100px... es matematica
otro ejemplo puede ser
rayo.x = Math.random() * 400; // caera en cualquier punto dentro de los 400px de la escena
rayo.x = Math.random() * stage.stageWidth;// caera en cualquier posicion dentro de la anchura de la escena
deberia ser algo asi, para que se ubique en cualquier parte tomando como parte el escenario como parametro.
prueba este ejemplo para entenderlo:
Código actionscript:
Ver originalfor(var m:uint=0; m<7;m++)
//limito a 7 el numero de elementos que quiero ver de una vez
{
//genero el elemento
var copo:Sprite = new Sprite();
//dibujo un objeto rojo, con 30% de opacidad
copo.graphics.beginFill(0xFF0000, .3);
//le digo que el objeto sera cuadrado, ubicado en X e y Cero, por defecto, con 50 px de alto y ancho
copo.graphics.drawRect(0,0,50,50);
//finalizo el dibujo
copo.graphics.endFill();
//coloco en cualquier parte dentro de la mitad superior de la escena
copo.y = Math.random() * (stage.stageHeight / 2);
//coloco en cualquier parte dentro de los limites de la escena
copo.x = Math.random() * stage.stageWidth;
//muestro el objeto
addChild(copo)
}
veras que le digo que solo genere hasta 7 cuadros con un for, con opacidad 30%, y me coloque en X, en cualquier posicion siempre que sea dentro del ancho de la escena, y la posicion Y, que me la coloque en cualquier posicion, siempre y cuando sea de la mitad superior, por eso divido stage.stageHeight/2, que seria el tamaño de alto de la escena dividido en 2...
espero se entienda y te sirva de orientacion