CS4, CS3 caretIndex Word

The code also works with flash cs3


import fl.controls.TextInput;
import fl.controls.Label;

var myLabel:Label = new Label();
myLabel.text = "Caret Index Word";
myLabel.x = 5;
myLabel.y = 0;
addChild(myLabel);

var textInput:TextInput = new TextInput();
textInput.x = 100;
textInput.y = 10;
addChild(textInput);

var t:Timer = new Timer(100);
t.addEventListener(TimerEvent.TIMER, caretindex);

function caretindex(e:TimerEvent):void {
	var caretIndex:Number = textfield.getCharIndexAtPoint(textfield.mouseX, textfield.mouseY)
	if(caretIndex == -1) {
		return;
	}
	var str:String = textfield.text;
	var words:Array = str.split(' ');
	var n:Number = 0;
	while(n<=words.length){
		var subset:Array = words.slice(0, n);
		var sliceString:String = subset.join(' ');
		if(sliceString.length>caretIndex) {
			textInput.text = String(subset[n-1]);
			break
		}
		n++;
	}
}
t.start();

This movie requires Flash Player 9

How to remove White Box between the scrollers using action script

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
    <mx:Script>
        <![CDATA[
            override public function validateDisplayList():void {
                super.validateDisplayList();
                for (var i:Number=0; i<rawChildren.numChildren; i++) {
                    if ((rawChildren.getChildAt( i ) as DisplayObject).name == "whiteBox" ) {
                        ((rawChildren.getChildAt( i ) as DisplayObject) as Shape).graphics.clear();
                    }
                }
            }
        ]]>
    </mx:Script>
    <mx:Text text="1221sdfsdfssdfs&#xa;sdfsdf&#xa;sdfs&#xa;fs&#xa;fsd&#xa;fsd&#xa;fsd&#xa;fsd&#xa;fsd&#xa;fsd&#xa;fsd&#xa;fs&#xa;df&#xa;sdf&#xa;sdfdfs d&#xa;|sdfsdfsdfsdfsdf sdf sdf sd fsdfsdfsdsdfsfsdfsfdsfdffsdf sdf sdf sdf sdfsdsdfsfsdf&#xa;sdfsdfsdfsdfs&#xa;sdf&#xa;sdfsd&#xa;fsd&#xa;f&#xa;sdfsd&#xa;f&#xa;sfd fsdfdsfsdfsdffsd sdf sdffs dfdf"/>
</mx:Canvas>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*">
    <local:myCanvas>

    </local:myCanvas>
</mx:Application>

How to use scale9Grid with display objects in action script

This code shows how to use display objects like GradientType, InterpolationMethod, SpreadMethod and scale9Grid.


var rect:Shape = new Shape();
rect.graphics.lineStyle(10, 0x000000);
var matrix:Matrix = new Matrix();
matrix.createGradientBox(15, 15, Math.PI, 10, 10);
rect.graphics.beginGradientFill(GradientType.RADIAL,[0x000000, 0x76A3DA], [100, 100],
            [0, 0xFF],matrix,SpreadMethod.REFLECT,InterpolationMethod.RGB,0.9);

rect.graphics.drawRect(0, 0, 90, 90);

var grid:Rectangle = new Rectangle(20, 20, 50, 50);
rect.scale9Grid = grid ;

addChild(rect);

var timer:Timer = new Timer(80);
timer.start();
timer.addEventListener(TimerEvent.TIMER, imageResize);

var scale:Number = 1.01;

function imageResize(event:TimerEvent):void {
    rect.scaleX *= scale;
    rect.scaleY *= scale;

    if (rect.scaleX > 2.0) {
        scale = 0.99;
    }
    if (rect.scaleX < 1.0) {
        scale = 1.01;
    }
}

This movie requires Flash Player 9

CS4 spring Motion using action script


var springX:Number=0;
var springY:Number=0;
var spring:Number=.95;
var radius:Number=300;

ball.addEventListener(Event.ENTER_FRAME, Event_ENTER_FRAME);
ball.x=ball.y=Math.random()*300;
stage.addEventListener(MouseEvent.MOUSE_DOWN, onClick);

function onClick(event:Event):void {
	ball.x=mouseX;
	ball.y=mouseY;
}

function Event_ENTER_FRAME(event:Event):void {
	var ax:Number=0;
	var ay:Number=0;
	ball.x+= (springX += ((radius - (2 * ball.x)) * .1));
	ball.y+= (springY += ((radius - (2 * ball.y)) * .1))
	springX*=spring;
	springY*=spring;
}

This movie requires Flash Player 9

Flash CS4 TextElement TextBlock FontDescription TextBlock TextLine

This code show how to use TextElement, TextBlock, FontDescription, TextBlock, TextLine

package druva{
import flash.display.Sprite;
import flash.text.engine.*;

public class TextTest extends Sprite {

public function TextTest() {

for (var j:int=0; j<=10; j++) {
var myString:String="Flashallys";
var myFormat:ElementFormat = new ElementFormat();

var myFontDesc:FontDescription=new FontDescription('Georgia','normal','italic','device');
myFormat.fontSize=2+2*j;
myFormat.fontDescription=myFontDesc;
myFormat.color = Math.random() * 0xFFFFEE;

var textElement:TextElement=new TextElement(myString, myFormat);
var textBlock:TextBlock = new TextBlock();
textBlock.content=textElement;

var myTextLine:TextLine=textBlock.createTextLine(null,300);

myTextLine.x = 30+(3*(j*(j+1)/2));
myTextLine.y = 150;

addChild(myTextLine);
myTextLine.addEventListener(Event.ENTER_FRAME, onLoop);
}

}
import flash.events.*;
private function onLoop(e:Event) {
e.currentTarget.rotationY += 3;
e.currentTarget.rotation = mouseX;
}
}
}

This movie requires Flash Player 9

Rotating and moving the image using action script


flashallys.addEventListener(Event.ENTER_FRAME, rightAnimation);

function rightAnimation (e:Event):void {
  if (flashallys.x <= 300) {
	flashallys.x += 1;
	if (flashallys.x > 300) {
	  flashallys.x -= 300;
	}
	flashallys.rotation += 10;
  }
}

This movie requires Flash Player 9

flash cs4 text effects 0.3

Just playing with Text this is my second update for text effects
view previous post

This movie requires Flash Player 9

sample 0.3

How to Create Falling Hearts with Flash CS4 Action Script AS3

This code show how to create falling hearts with flash cs4

you can also use the code for cs3
create a movieclip with a heart in your library

package {

	import flash.display.MovieClip;
	import flash.events.*;

	public class fallingheart extends MovieClip {
		public function fallingheart() {
			for (var i = 0; i < 30; i ++) {
				var h:heart = new heart();
				h.x=Math.round(Math.random()*stage.stageWidth);
				h.y=Math.round(Math.random()*stage.stageHeight);
				h.scaleX = h.scaleY = .4+ ((Math.random()*1)/2);
				h.swing = 15 + (Math.random()*15);
				h.n=Math.random()*2;
				h.speed = 1 + (Math.random()*4);

				addChild(h);
				h.addEventListener(Event.ENTER_FRAME, onEnterLoop);
				//h.onEnterFrame = fall;
			}
		}

		//--  you can also use timer to call this
		public function onEnterLoop(e:Event) {
			trace(stage.stageHeight);
			var h:heart=e.currentTarget as heart;
			h.y+=h.speed;
			h.n+=0.25;
			h.rotation=Math.cos(h.n)*h.swing;
			if (h.y>stage.stageHeight) {
				h.x=Math.round(Math.random()*stage.stageWidth);
				h.y=-50;
			}
		}
	}
}

This movie requires Flash Player 9

Get Even or Odd – getParity using Action Script AS

The below code shows how to use the class


import druva.NumberUtil;

trace('500', NumberUtil.getParity(500));
// true
trace('489', NumberUtil.getParity(489));
// false
trace('5', NumberUtil.getParity(5));
//false
trace('1', NumberUtil.getParity(1));
//true
trace('400', NumberUtil.getParity(400));
//false

This is the actual class


package druva {
  import flash.display.Sprite;

  public class NumberUtil extends Sprite{
    public function NumberUtil(){
    }

    public static function getParity(num:Number):String {
		return (num % 2) ? 'odd' : 'even';
	}

  }
}

How to Convert TextField to Bitmap using Flash and AS3

Convert TextField to Bitmap

package {
	import flash.display.*;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.text.TextFieldAutoSize;

	public class BitmapUtils extends Sprite {
		public function BitmapUtils() {
			addChild(tf2bm('Druva'));
		}
		public function tf2bm(str:String) {
			var fmt:TextFormat;
			var bmd:BitmapData;
			var bm:Bitmap;
			var tf:TextField;

			fmt = new TextFormat();
			fmt.font='Verdana';
			fmt.size=30;

			tf = new TextField();
			tf.text=str;
			tf.setTextFormat(fmt);
			tf.autoSize=TextFieldAutoSize.LEFT;
			bmd=new BitmapData(tf.width,tf.height,true,0);
			bmd.draw(tf);
			bm=new Bitmap(bmd);
			bm.smoothing=true;
			return bm
		}
	}
}