Archive for February, 2012

Getting Center of an object , MovieClip or Shape:

February 17th, 2012 by admin | No Comments | Filed in 100 Useful Classes in AS 3.0 For Game Programming, Flash AS 3.0, Games Programming
package com
{
	import flash.display.MovieClip;
	import flash.geom.Point;

	/**
	 * ...
	 * @author Aava Rani
	 */
	public class getMidPoint extends MovieClip
	{
		/*
		 * This function will return center point of the
		 *
		 */
		public function getMidPoint(__mc:MovieClip):Point
		{
			var centerPoint : Point = new Point();
			centerPoint.x = __mc.x + (__mc.width / 2);
			centerPoint.y = __mc.y + (__mc.height / 2);
			return centerPoint ;
		}

	}

}

Circular motion using Action Script 3.0

February 16th, 2012 by admin | No Comments | Filed in 100 Useful Classes in AS 3.0 For Game Programming, Adobe Certifications, Architectures, Flash AS 3.0, Games Programming

Lets start a cicular motion for Sun and Moon using AS 3.0.

/***
 *
 * Lets learn how to create a circular motion using Action Script 3.0
 *
 *
 */ 

package com
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.display.DisplayObject;
    import flash.display.Graphics;
    import flash.display.Shape;

	/**
	 * ...
	 * @author Aava Rani
	 */
	[Frame(factoryClass="com.Preloader")]
	public class Main extends Sprite
	{
       private var sun:Shape ;
	   private var moon:Shape ;
	   private var centerX:Number ;
	   private var centerY:Number ;
	   private var radius:Number ;
	   private var speed:Number ;
	   private var angle:Number;
	   private var bgColor:uint      = 0xFFCC00;
	   private var borderColor:uint  = 0x666666;
	   private var borderSize:uint   = 0;  

		public function Main():void
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}

		private function init(e:Event = null):void
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			initValues();
			createPlanets();

		}

		private function initValues():void {
		      centerX = stage.stageWidth / 2;
			 centerY = stage.stageHeight / 2;
			 speed = 0.2;
			 angle = 0;
		}

		private function createPlanets():void {
			sun = drawCircle(100);
			moon = drawCircle(40);
			addChild(sun);
			addChild(moon);
			sun.x = centerX;
			sun.y = centerY;
			radius = sun.width /2 + 100;
			moon.addEventListener(Event.ENTER_FRAME, rotate);
		}

		private function rotate(evt:Event):void{
			evt.currentTarget.x = centerX + Math.cos(angle) * radius ;
			evt.currentTarget.y = centerY + Math.sin(angle) * radius ;
			angle += speed;
		}

		 private function drawCircle(__redius:int):Shape {
            var circle:Shape = new Shape();
            var halfSize:uint = Math.round(__redius / 2);
            circle.graphics.beginFill(bgColor);
            circle.graphics.lineStyle(borderSize, borderColor);
            circle.graphics.drawCircle(halfSize, halfSize, halfSize);
            circle.graphics.endFill();
            return circle;
        }

	}

}