Comunidad de diseño web y desarrollo en internet online

Crear figuras desde flex

Citar            
MensajeEscrito el 20 Oct 2010 07:45 am
Hola Foro,

estoy intentando dibujar figuras con flex, pero no lo consigo, pongo el código simplificado al máximo con el que he empezado y que no funciona (ergo está mal :) )a ver si me podeis orientar.

Gracias.

Código Flex :


<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" 
                        layout="absolute" creationComplete="init()">
    
<mx:Script>
    <![CDATA[
    
    import com.DrawCircles;
    
        public function init():void
        {
        
        var ball:DrawCircles = new DrawCircles()

        }
        
    ]]>
</mx:Script>


</mx:WindowedApplication>


Código ActionScript :


package com {
    import flash.display.Graphics;
    import flash.display.Shape;
    import flash.display.Sprite;


   
    public class DrawCircles extends Sprite
    {
        
    public var ball:Sprite
         
        public function DrawCircles()
        {

            doDrawCircle(0x336699);

        }

        private function doDrawCircle( color:uint ):void
        {
            ball = new Sprite();
            ball.graphics.beginFill( color );
            ball.graphics.lineStyle( 2, 0x000000 );
            ball.graphics.drawCircle( 0, 0, 30);
            ball.graphics.endFill();
            ball.x = 0;
            ball.y = 0;
            addChild(ball);
        }
    }
}

Por onTilt

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Oct 2010 09:00 am
He hallado otra forma de hacerlo, aunque preferiria hacerlo instanciando una clase. ¿Habría algúna manera mas correcta? Tengo tambien una duda, en este caso, que es mejor usar como contenedor ¿Sprite o Shape ?Gracias.

Código ActionScript :

import flash.display.Sprite;
import mx.core.UIComponent;
   
private function init():void {
   var shape:Shape = new Shape();
   shape.graphics.beginFill(0x000000);
   shape.graphics.drawCircle(100,100,100);
   shape.graphics.endFill();
   var ball:UIComponent = new UIComponent();
   ball.addChild(shape);
   addChild(ball);
}


Código Flex :

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" 
                  layout="absolute"  creationComplete="init()">
<mx:Script source="com/UIshapes.as"/>
</mx:WindowedApplication>

Por onTilt

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Oct 2010 09:18 am
BuenAS:

Parece que estás con Flex 3. Puedes crearte primero un UIComponent, y añadir a él los sprites que vayas creando. En Flex no puedes añadir directamente a un componente un Sprite o MovieClip. También ten cuidado del tamaño que toma el UIComponent en el layout que estás utilizando. Casi te recomendaría, hasta que le pilles el truco, que al UIComponent le des un width, height concreto.

Si tienes posibilidada, te recomendaría utilizar Flex 4 (Flash Builder 4), tiene una nueva API de dibujo impresionante. Puedes crearte rectángulos, círculos, líneas, rutas... con degradados, con bordes. Lo mismo que con la clase Graphics de AS3 FP10, pero utilizando mxml y de forma visual. Además es compatible con el formato FXG, por lo que si tienes diseños vectoriales hechos con Illustrator, por ejemplo, puedes adaptarlos de forma, relativamente, fácil. O, lógicamente, importarlos de un proyecto Catalyst.

Un saludo.

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome

 

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