Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: JorgeEMX en 3 Agosto 2006, 07:49 am



Título: [Duda] ActionScript (solucionado)
Publicado por: JorgeEMX en 3 Agosto 2006, 07:49 am
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.

Código:
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!!


Título: Re: [Duda] ActionScript
Publicado por: sirdarckcat en 3 Agosto 2006, 09:03 am
si haces:
Código:
trace(_root["btn"+i]._x);

que valor regresa?
0?

Saludos!!


Título: Re: [Duda] ActionScript
Publicado por: JorgeEMX en 3 Agosto 2006, 09:15 am
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..



Título: Re: [Duda] ActionScript
Publicado por: sirdarckcat en 4 Agosto 2006, 02:24 am
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!!


Título: Re: [Duda] ActionScript
Publicado por: JorgeEMX en 4 Agosto 2006, 03:10 am
ya quedo, si pretende hacerlo de esta forma quedaría asi:

Código:
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 :)


Título: Re: [Duda] ActionScript (solucionado)
Publicado por: sirdarckcat en 4 Agosto 2006, 07:45 am
:P genial

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

en fin..

Saludos!!