forked from: forked from: forked from: pixas.math.Coord3D()

by bradsedito forked from Pixas object from character (diff: 1)
♥0 | Line 78 | Modified 2013-06-08 08:55:31 | MIT License
play

ActionScript3 source code

/**
 * Copyright bradsedito ( http://wonderfl.net/user/bradsedito )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/283K
 */

// forked from NewKrok's forked from: forked from: pixas.math.Coord3D()
// forked from 0954321982's forked from: pixas.math.Coord3D()
// forked from bradsedito's pixas.math.Coord3D()





package
{
    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;
    import flash.ui.*;
    import com.risonhuang.pixas.math.Coord3D;
    import com.risonhuang.pixas.math.ColorPattern;
    import com.risonhuang.pixas.colors.CubeColor;
    import com.risonhuang.pixas.dimensions.CubeDms;
    import com.risonhuang.pixas.objects.primitives.Cube;
    import com.risonhuang.pixas.objects.PixelObject;
    
    public class PixasTest3D extends Sprite
    {
        private var po_out:PixelObject = new PixelObject();
        
        
        private function characterToVector ( $char:String, $color:uint ) :Vector.<Vector.<uint>> {
            var v:Vector.<Vector.<uint>> = new Vector.<Vector.<uint>>
            switch ( $char ) {
                case "A":
                case "a":
                    v.push ( new <uint> [$color, $color, $color] );
                    v.push ( new <uint> [$color, 0,      $color] );
                    v.push ( new <uint> [$color, $color, $color] );
                    v.push ( new <uint> [$color, 0,      $color] );
                    v.push ( new <uint> [$color, 0,      $color] );
                    break;
            }
            return v;
        }
        
        
        public function PixasTest3D()
        {
            stage.frameRate = 60;
            //ENTRY POINT: 

            po_out.x = 100;
            po_out.y = 120;
            addChild(po_out);
            
            var vec3D:Vector.<uint> = new <uint> [ 12, 12, 12 ];
            var offset:Number = 0;
           
            var v:Vector.<Vector.<uint>> = new Vector.<Vector.<uint>>
            v.push ( new <uint> [1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] )
            v.push ( new <uint> [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0] )
            v.push ( new <uint> [1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2, 0, 2, 2, 2, 0, 0] )
            v.push ( new <uint> [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0] )
            v.push ( new <uint> [1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] )

            //v = characterToVector ( "A", 0x0099CC )
            //v = v.concat (characterToVector ( "A", 0x0099CC ))
            
            for (var i:uint = 0; i < v.length; i++ )
            {                
                for (var j:uint = 0; j < v[i].length; j++ )
                {
                    if (  v[i][j] != 0 ) {
                        for (var k:uint = 0; k < 2; k++ )
                        {
                            var color:uint = 0;
                            switch ( v[i][j] ) {
                                case 1:
                                    color = 0x0099CC;
                                    break;
                                case 2:
                                    color = 0xFF3333;
                                    break;
                                default:
                                    color = v[i][j];
                                    break;
                            }

                            var c3d:Coord3D = new Coord3D( 
                                ( ( vec3D[0] + offset )*j ), 
                                ( ( vec3D[1] + offset )*i ), 
                                ( ( vec3D[2] + offset )*k ) );                        
                            var cubeDms:CubeDms = new CubeDms( vec3D[0],vec3D[1],vec3D[2] );
                            var cubeColor:CubeColor = CubeColor.getByHorizontalColor( color );
                            var cube:Cube = new Cube( cubeDms,cubeColor,false );        
                            var po_tmp:PixelObject = new PixelObject( cube,c3d );
                            po_out.addChild( po_tmp );
                        }
                    }
                }                
            }    
        }


    }
}