forked from: 折れ線を描く

by nan05aur
♥0 | Line 83 | Modified 2011-09-10 14:39:27 | MIT License
play

ActionScript3 source code

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

// forked from nan05aur's forked from: 折れ線を描く
// forked from shmdmoto's 折れ線を描く
package 
{
    import frocessing.display.F5MovieClip2D;
    /**
     * 折れ線を描く
     * @author shmdmoto
     */
    public class GraphicExample extends F5MovieClip2D
    {
        public function setup() : void
        {
            var x:Array = [0,50,50,100,100,150,150,100,100,50,50,0],
                y:Array = [300,300,250,250,300,300,350,350,400,400,350,350],
                i:int = 0;
            background(128);
            drawGridGuide();
            // 塗りがあると自動的に閉じる
            beginShape();
            vertex(100,100);
            vertex(150,100);
            vertex(150, 50);
            vertex(200, 50);
            vertex(200,150);
            vertex(100,150);
            endShape();
            // 塗りが無いと閉じない
            noFill();
            strokeWeight(2);
            beginShape();
            vertex(300,100);
            vertex(350,100);
            vertex(350, 50);
            vertex(400, 50);
            vertex(400,150);
            vertex(300,150);
            endShape();
            // endShape(CLOSE)で閉じる
            noFill();
            beginShape();
            vertex(300,250);
            vertex(350,250);
            vertex(350,200);
            vertex(400,200);
            vertex(400,300);
            vertex(300,300);
            endShape(CLOSE);
            
            noFill();
            strokeWeight(2);
            beginShape();
            vertex(   0,250 );
            vertex(  50,200 );
            vertex( 100,250 );
            vertex( 150,200 );
            vertex( 200,250 );
            vertex( 250,200 );
            endShape();
            
            fill( 255, 0, 0 );
            strokeWeight(1);
            beginShape(); 
            for( i = 0 ; i < 12 ; i++ )
            {
                vertex( x[i] + 50, y[i] + 50 );
            }
            endShape();
            //endShape(CLOSE);
        }
        // 以下は,位置をわかり安くする説明のため
        // 処理なので無視してください.
        public function drawGridGuide() : void
        {
            var x : int;
            var y : int;
            stroke(192,192,192);
            for( x = 0 ; x < 465 ; x += 50 ) 
                line( x, 0, x, 465);
            for( y = 0 ; y < 465 ; y += 50 ) 
                line( 0, y, 465, y);
            stroke(0,0,0);            
            ellipse(300, 100,5,5);
            ellipse(350, 100,5,5);
            ellipse(350,  50,5,5);
            ellipse(400,  50,5,5);
            ellipse(400, 150,5,5);
            ellipse(300, 150,5,5);
            ellipse(300, 250,5,5);
            ellipse(350, 250,5,5);
            ellipse(350, 200,5,5);
            ellipse(400, 200,5,5);
            ellipse(400, 300,5,5);
            ellipse(300, 300,5,5);
        }
    }
}