[Duda] ActionScript (solucionado)

Iniciado por JorgeEMX, 3 Agosto 2006, 07:49 AM

0 Miembros y 1 Visitante están viendo este tema.

JorgeEMX

Hola   :)

No habia visto este subforo nuevo XD.

Bien pues tengo una duda, la situación es que tengo varios botones para realizar acciones con ellos al pulsarlo ( llamados "btn" + 1-9 ), la cuestión es que necesito crear el código en la primera capa ( y no dentro de los botones) ya que necesito hacer más instrucciones con respeto a esto. Además al pulsar un botón determinado este debe crear un videoclip en la misma posición del botón y a su vez deshabilitarlo (no sé si me epxlico bien  :rolleyes:)..

Bueno he intentado lo siguiente y no toma las coordenadas del botón que ha sido presionado.


function dibuja(){
for( i=1; i<=9; i++ ) {
var x:Number = 0;
var y:Number = 0;

                 //var i:Number = 0;
//Obtiene coordenadas del boton

               //if ( _root["btn"+i].onPress){

                 _root["btn"+i].onPress = function(){

///eje=_root["btn"+i]._x;
//trace(eje);
//x=_root["btn"+i]._x;
//y=_root["btn"+i]._y;
//if( _root["btn"+i].onPress){
//trace("btn"+i);

                          attachMovie("circulo","cir" + i,10 + i,{_x:(_root["btn"+i]._x),_y:(_root["btn"+i]._x)});
}
}
}


El script no me marca errores pero no hace lo que quiero, cuando dibuja el movieClip me aparece en la parte superior izquiera de la película flash  :P

Las partes comentadas han sido las diferentes formas en la que he intentado y he tratado de comprobar los datos en ejecución..

Si alguién tiene alguna otra solución, es bienvenida ;D

Saludos!!

sirdarckcat

si haces:

trace(_root["btn"+i]._x);


que valor regresa?
0?

Saludos!!

JorgeEMX

Bien sale indefinido..

Si lo hago afuera del for logícamente me manda los valores correctos..

Habia pensado algo con if y que entrara cuando un boton fuera presionado pero me da lo mismo xD

//if ( _root["btn"+i].onPress){

Aunque no sé si eso este correcto, igual con un trace no entra al parecer..


sirdarckcat

pon esto fuera del for :P

trace(_root["btn"+1]._x);

si sale indefinido es problema del boton.. si no, intenta declarar i antes de usarlo en el for.

Saludos!!

JorgeEMX

ya quedo, si pretende hacerlo de esta forma quedaría asi:


function dibuja(){
for( i=1; i<=9; i++ ) {
_root["btn"+i].onPress = function(){
trace("btn"+i);
trace(this._x + " " + this._y);
attachMovie("circulo","cir" + i,10 + i,{_x:(this._x+5),_y:(this._y+5)});
}
}
}


Algo alternativo es creando un onjeto y utilizarlo..

Saludos y gracías :)

sirdarckcat

:P genial

aunque me da curiosidad porque no funciono el otro codigo..

en fin..

Saludos!!