Comunidad de diseño web y desarrollo en internet online

Boton creado como clase Sprite y devuelve valor estatico

Citar            
MensajeEscrito el 21 Ene 2010 04:09 pm
Investigando sobre el tema pude dar con lo que mas o menos podria decirse un boton que devuelve un valor, el problema es que es estatico porque lo configuro solo con get --> getter, luego mirare a ver si puedo configurarlo el valor con set -->setter, el tema es que creo un archivo.as que se llama boto.as y tiene el siguiente codigo

Código ActionScript :

package {
    import flash.display.Sprite;
    public class boto extends Sprite {
        public var size:uint = 10;
      public var botonColor:uint = 0xFFCC00;
        public static var num:uint=3;
        public function boto() {
         var child:ChildSprite = new ChildSprite();
            child.buttonMode = true;
         addChild(child);
        }
      public static function get resultato():uint {
         return num;
      }
    }
}
import flash.display.Sprite;
import flash.events.MouseEvent;
class ChildSprite extends Sprite {
    public var size:uint = 5;
    public var overSize:uint = 5;
    public var backgroundColor:uint = 0xFFCC00;
    public function ChildSprite() {
        draw(size, backgroundColor);
        addEventListener(MouseEvent.CLICK, clickHandler);
    }
    public function draw(w:uint, botonColor:uint):void {
        graphics.clear();
        graphics.beginFill(botonColor);
        graphics.drawCircle(0, 0, w);
        graphics.endFill();
    }
    public function clickHandler(event:MouseEvent):void {
             
    }
}


y luego un archivo.fla con el siguiente codigo

Código ActionScript :

var caput:boto= new boto();
caput.x=275;
caput.y=200;
addChild (caput);
trace(boto.resultato);


Sigo investigando sobre como puedo hacer que un boton me devuelva un resultado fuera de una funcion y dentro de un evento MouseEvent.

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 21 Ene 2010 04:45 pm
¿Hay preguntas o es solo un comentario?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Ene 2010 05:29 pm
El trace de tu archivo .fla debería ser de caput.resultado...

Por ur!

256 de clabLevel



 

Barcelona

chrome
Citar            
MensajeEscrito el 22 Ene 2010 07:22 am
el fuction get esta en resultato, y mi intencion es crear un boton que devuelva un valor fuera de la funcion, cosa que algunos dicen que no es posible, y yo creo que tiene que haber la posibilidad esa, sobretodo si han potenciado el codigo de manera considerable al pasar de as2 a as3. Sin embargo sigo investigando que es como se aprende.

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 22 Ene 2010 07:44 am
se puede hacer asi porque es un valor estatico por eso boto.resultato te da un valor

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 22 Ene 2010 08:31 am
Aki teneis una muestra de que todo es posible

Código ActionScript :

package {
    import flash.display.Sprite;
    public class boto extends Sprite {
        public var size:uint = 10;
      public var botonColor:uint = 0xFFCC00;
        public var num:Number;
      public var nuk:Number;
      public var nut:Number;
      public var uku:Number;
        public function boto(nuku:Number=7) {
         nuk = nuku;
         var child:ChildSprite = new ChildSprite();
            child.buttonMode = true;
         addChild(child);
         nut = nuk;
        }
      public function get resultato():Number {
         return nut;
      }
      
    }
}
import flash.display.Sprite;
import flash.events.MouseEvent;
class ChildSprite extends Sprite {
    public var size:uint = 5;
    public var overSize:uint = 5;
    public var backgroundColor:uint = 0xFFCC00;
    public function ChildSprite() {
        draw(size, backgroundColor);
        addEventListener(MouseEvent.CLICK, clickHandler);
    }
    public function draw(w:uint, botonColor:uint):void {
        graphics.clear();
        graphics.beginFill(botonColor);
        graphics.drawCircle(0, 0, w);
        graphics.endFill();
    }
    public function clickHandler(event:MouseEvent):void {
             
    }
}


y aki el codifo fla:

Código ActionScript :

var caput:boto= new boto(5);
caput.x=275;
caput.y=200;
addChild (caput);
trace(caput.resultato);

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 22 Ene 2010 09:12 am
ahora le pongo un valor el que quiera por ejemplo 3

Código ActionScript :

package {
    import flash.display.Sprite;
   
   public class boto extends Sprite {
        public var size:uint = 10;
      public var botonColor:uint = 0xFFCC00;
        public var num:Number;
      public var nuk:Number;
      public var nut:Number;
      public var uku:Number;
        public function boto(nuku:Number=7) {
         nuk = nuku;
         var child:ChildSprite = new ChildSprite();
            child.buttonMode = true;
         addChild(child);
         nut = nuk;
        }
      public function get resultato():Number {
         return nut;
      }
      
    }
}
var resultatos:uint=3;
import flash.display.Sprite;
import flash.events.MouseEvent;
class ChildSprite extends Sprite {
    public var size:uint = 5;
   public var makut:Number = resultatos;
    public var backgroundColor:uint = 0xFFCC00;
    public function ChildSprite() {
        draw(size, backgroundColor);
        addEventListener(MouseEvent.CLICK, clickHandler);
    }
    public function draw(w:uint, botonColor:uint):void {
        graphics.clear();
        graphics.beginFill(botonColor);
        graphics.drawCircle(0, 0, w);
        graphics.endFill();
    }
    
   public function clickHandler (event:MouseEvent):void {
             trace (makut);
    }
}


con el codigo del archivo fla siguiente-->

Código ActionScript :

var caput:boto= new boto(5);
caput.x=275;
caput.y=200;
addChild (caput);
trace(caput.resultato);


ahora cada vez que le doy al boton me devuelve el valor 3

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 22 Ene 2010 09:21 am
Excelente

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Ene 2010 10:29 am
Conservacion de datos entre dos funciones ligadas a un mismo evento -->

Código ActionScript :

var caput:Number= new Number;
var botspri:Sprite = new Sprite();
botspri.graphics.beginFill(0xFFCC00);
botspri.graphics.drawCircle(275,200,20);
botspri.buttonMode =true;
addChild(botspri);
var ete:Number=2;
botspri.addEventListener(MouseEvent.CLICK, functio, false, 0, false);
function functio (e:MouseEvent){
   ete++
   trace (ete);
   }
stage.addEventListener(MouseEvent.CLICK, functio1, false, 1, false);
function functio1 (e:MouseEvent){
   ete++
   trace (ete);
   }

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 22 Ene 2010 12:08 pm
sigo investigando

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 22 Ene 2010 12:37 pm
o que seria lo mismo -->

Código ActionScript :

var botspri:Sprite = new Sprite();
var coyot:Sprite = new Sprite();
botspri.graphics.beginFill(0xFFCC00);
botspri.graphics.drawCircle(275,200,20);
botspri.buttonMode =true;
coyot.addChild(botspri)
this.addChild(coyot);
var ete:Number=2;
botspri.addEventListener(MouseEvent.CLICK, functio, false, 0, false);
function functio (e:MouseEvent){
   ete++
   trace (ete);
   }
coyot.addEventListener(MouseEvent.CLICK, functio1, false, 1, false);
function functio1 (e:MouseEvent){
   ete++
   trace (ete);
   }

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 22 Ene 2010 01:25 pm
bien se trata de hacer que se reinicie, pero por lo que veo no lo hace supongo asi que estamos investigando sobre como retornar el valor ete que como vemos cuando le damos al segundo boton desaparecen el primer y el segundo quedando un tercero para retomar los objetos y veo que aunque le haga un removeEventListener no me devuelve el valor inicial de 2 sigue sumando asi que le doy a la funcio que retome el valor 2 en ete asi es que esta es la manera de reiniciar un programa (objetivo cumplido)

Código ActionScript :

var botspri:Sprite = new Sprite();
var coyot:Sprite = new Sprite();
botspri.graphics.beginFill(0xFFCC00);
botspri.graphics.drawCircle(275,200,20);
botspri.buttonMode =true;
coyot.addChild(botspri);
this.addChild(coyot);
var ete:Number=2;
botspri.addEventListener(MouseEvent.CLICK, functio, false, 0, false);
function functio (e:MouseEvent){
   ete++
   trace (ete);
   }
coyot.addEventListener(MouseEvent.CLICK, functio1, false, 1, false);
function functio1 (e:MouseEvent){
   ete++
   trace (ete);
   }
var botspric:Sprite = new Sprite();
botspric.graphics.beginFill(0xFFCC00);
botspric.graphics.drawCircle(400,200,20);
botspric.buttonMode =true;
botspric.addEventListener(MouseEvent.CLICK, functioni, false, 0, false);
function functioni (e:MouseEvent){
   this.removeChild (coyot);
   this.removeChild (botspric);
   coyot.removeEventListener(MouseEvent.CLICK, functio1);
   botspri.removeEventListener(MouseEvent.CLICK, functio);
   }
var botsprico:Sprite = new Sprite();
botsprico.graphics.beginFill(0xFFCC00);
botsprico.graphics.drawCircle(400,400,20);
botsprico.buttonMode =true;
botsprico.addEventListener(MouseEvent.CLICK, functionis, false, 0, false);
function functionis (e:MouseEvent){
   coyot.addChild(botspri);
    this.addChild(coyot);
   this.addChild(botspric);
   coyot.addEventListener(MouseEvent.CLICK, functio1);
   botspri.addEventListener(MouseEvent.CLICK, functio);
                ete=2;
   }
this.addChild (botsprico);   
this.addChild (botspric);

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

msie7

 

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