Free ActionScript

Flash AS2 & AS3 Tutorials, Game Code, Effects, Source Files & Sample Downloads

Scroller – Dynamic Scrollbar v2

A newer, better version of my scrollbar class. This one does not have any classes attached to movieclips. Instead you pass it a content clip, mask clip, track clip and slider clip like so:

_scrollbar = new Scrollbar();
_scrollbar.init(content, contentMask, track, slider);

This version also supports mouse wheel scrolling.

Download Fla Sample

Download Fla Sample

Get number of days in a month

Simple AS3 function to get the number of days in a month/year.

View Code ACTIONSCRIPT
function getNumberOfDays($year:int, $month:int):int
{
	var month:Date = new Date($year, $month + 1, 0);
	return month.date;
} 
 
//jan
trace(getNumberOfDays(2010, 0));  // traces 31
 
//feb
trace(getNumberOfDays(2010, 1)); // traces 28
 
//dec
trace(getNumberOfDays(2010, 11)); // traces 31

Draw Box Class

By request, here is a simple box drawing class. Click and drag to draw box based on mouse position.

This can be used as an object selecting mechanism in games to select multiple objects at the same time.

Click and drag to draw box

View Code ACTIONSCRIPT
/**
 * Draw Box class
 * ---------------------
 * VERSION: 1.0
 * DATE: 11/14/2010
 * AS3
 * UPDATES AND DOCUMENTATION AT: http://www.FreeActionScript.com
 **/
package com.freeactionscript
{
	import flash.display.DisplayObjectContainer;
	import flash.events.MouseEvent;
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class Box extends Sprite
	{
		private var _canvas:DisplayObjectContainer;
		private var _startX:Number;
		private var _startY:Number;
		private var _endX:Number;
		private var _endY:Number;
 
		public function Box($canvas:DisplayObjectContainer, $startX:Number, $startY:Number)
		{			
			_canvas = $canvas;
			_startX = $startX;
			_startY = $startY;
			_endX = _canvas.mouseX;
			_endY = _canvas.mouseY;
 
			_canvas.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMoveHandler);
			_canvas.addEventListener(MouseEvent.MOUSE_UP, onMouseUpHandler);
			_canvas.addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
		}
 
		private function onMouseMoveHandler(event:MouseEvent):void
		{
			_endX = _canvas.mouseX;
			_endY = _canvas.mouseY;
		}
 
		private function onMouseUpHandler(event:MouseEvent):void 
		{
			_canvas.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMoveHandler);			
			_canvas.removeEventListener(MouseEvent.MOUSE_UP, onMouseUpHandler);
			_canvas.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
		}
 
		private function onEnterFrameHandler(event:Event):void 
		{
			graphics.clear();
			graphics.lineStyle(2, 0x88B1CC);
			graphics.moveTo(_startX, _startY);
			graphics.beginFill(0x88B1CC, .25);
			graphics.lineTo(_endX, _startY);
			graphics.lineTo(_endX, _endY);
			graphics.lineTo(_startX, _endY);
			graphics.lineTo(_startX, _startY);
			graphics.endFill();
		}
	}
}
Download Fla Sample

Download Fla Sample

Scroller – Dynamic Scrollbar

Here is a scroller widget. Sized dynamically based on content movieclip size.

Download Fla Sample

Download Fla Sample