Author Archives: Zevan

Jumping on a 2D Circle

CLICK HERE TO COPY
Actionscript:

var circle:Shape = Shape(addChild(new Shape()));

with(circle.graphics) beginFill(0xCCCCCC), drawCircle(0,0,100);

circle.x = stage.stageWidth / 2;

circle.y = stage.stageHeight / 2;

 

var charWorld:MovieClip = MovieClip(addChild(new MovieClip()));

charWorld.x = circle.x ;

charWorld.y = circle.y - 100 - 10

charWorld.thetaSpeed = 0;

charWorld.theta  = -Math.PI / 2;

 

var char:MovieClip = MovieClip(charWorld.addChild(new MovieClip))

with(char.graphics) beginFill(0x000000), drawRect(-10,-10,10,10);

char.posY = 0;

char.velY = 0;

 

addEventListener(Event.ENTER_FRAME, onRunChar);

function onRunChar(evt:Event):void {

   

    char.velY += [...]

Posted in misc, motion | Tagged , | Leave a comment

Bezier Skin (smooth curveTo())

CLICK HERE TO COPY
Actionscript:

// graphics, vector of xy coords, closed boolean

function bezierSkin(g:Graphics, bez:Vector.<Number>, closed:Boolean = true):void {

    var avg:Vector.<Number> = calcAvgs(bez);

    var i:int, n:int;

    var leng:int = bez.length;

 

    if (closed){

        g.moveTo(avg[0], avg[1]);

        for (i = 2; i <leng; i+=2) {

            [...]

Posted in Graphics, bezier | Tagged , , | Leave a comment

Quadratic Bezier

CLICK HERE TO COPY
Actionscript:

var canvas:BitmapData=new BitmapData(280,280,false,0x000000);

addChild(new Bitmap(canvas, PixelSnapping.AUTO, true));

var color:uint;

// anchor x1, anchor y1,

// control-handle x2, control-handle y2,

// anchor x3, anchor y3, [resolution incremental value between 0-1]

function quadBezier(x1:Number, y1:Number, x2:Number, y2:Number, x3:Number, y3:Number, resolution:Number=.03):void {

    var b:Number,pre1:Number,pre2:Number,pre3:Number,pre4:Number;

    for (var a:Number = 0; a <1;a+=resolution) {

   

        b=1-a;

      [...]

Posted in BitmapData, bezier, graphics algorithms, pixel manipulation, setPixel | Tagged , , | 2 Comments

Bresenham Circle Filled

CLICK HERE TO COPY
Actionscript:

var canvas:BitmapData = new BitmapData(400, 400, false, 0xCCCCCC);

addChild(new Bitmap(canvas));

 

fillCircle(100,100,50,0xFF0000);

 

function fillCircle(xp:Number,yp:Number, radius:Number, col:uint = 0x000000):void {

    var xoff:int =0;

    var yoff:int = radius;

    var balance:int = -radius;

 

    while (xoff <= yoff) {

         var p0:int = xp - xoff;

         var p1:int = xp - [...]

Posted in BitmapData, graphics algorithms, pixel manipulation, setPixel | Tagged , | Leave a comment