Archive for the 'Snippets' Category
[AS3 SNIPPET] Convert date in time interval string
function formatDate(d:Date):String
{
var now:Date = new Date();
var diff:Number = (now.time - d.time) / 1000; // convert to seconds
if (diff < 60) // just posted
{
return "Just posted";
}
else if (diff < 3600) // n minutes ago
{
return (Math.round(diff / 60) + " minutes ago");
}
else if (diff < 86400) // n hours ago
{
return (Math.round(diff / 3600) + " hours ago");
}
else // n days ago
{
return (Math.round(diff / 86400) + " days ago");
}
}
var date:Date = new Date();
trace(formatDate(date)); //Traces "Just posted"
Source: http://blogs.adobe.com/cantrell/archives/2009/06/actionscript_fu.html
[AS3 SNIPPET] Convert seconds to ww:dd:hh:mm:ss
function convertTime(number:Number):String
{
number = Math.abs(number);
var values:Array = new Array(5);
values[0] = Math.floor(number / 86400 / 7);// weeks
values[1] = Math.floor(number / 86400 % 7);// days
values[2] = Math.floor(number / 3600 % 24);// hours
values[3] = Math.floor(number / 60 % 60);// mins
values[4] = Math.floor(number % 60);// secs
var stopage:Boolean = false;
var cutIndex:Number = -1;
for (var i:Number = 0; i < values.length; i++)
{
if (values[i] < 10)
{
values[i] = "0" + values[i];
}
if (values[i] == "00" && i < (values.length - 2) && !stopage)
{
cutIndex = i;
}
else
{
stopage = true;
}
}
values.splice(0, cutIndex + 1);
return values.join(":");
}
[AS3 SNIPPET] Legal age verification
var legalAge:int = 18;
var userDOB:Date = new Date(year, month - 1, day);
var today : Date = new Date();
var diff:Date = new Date();
diff.setTime(today.getTime() - userDOB.getTime());
var userAge:int = diff.getFullYear() - 1970;
if(userAge >= legalAge)
{
trace("lets get pissed!");
}
else
{
trace("go away!");
}
Source: http://mrdoob.com/blog/post/633
[AS3 SNIPPET] Format day, month and year to full date
function formatFullDate(year:Number, month:Number, day:Number):String
{
var days:Array = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
var months:Array = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var currentDate:Date = new Date(year, month - 1, day, 1, 1);
var currentDay:String = days[currentDate.getDay()];
var currentMonth:String = months[currentDate.getMonth()];
var output:String = currentDay + " " + day + " " + currentMonth + ", " + year;
return output;
}
var formattedDate:String = formatFullDate(2009, 7, 7);
trace(formattedDate); //traces Tuesday 7 July, 2009
[AS3 SNIPPET] Detect if mouse pointer is over/out of the stage area
stage.addEventListener (Event.MOUSE_LEAVE, leaveHandler);
stage.addEventListener (MouseEvent.MOUSE_MOVE, returnHandler);
function leaveHandler(event:Event):void
{
trace("leaveHandler");
stage.addEventListener (MouseEvent.MOUSE_MOVE, returnHandler);
}
function returnHandler(event:Event):void
{
trace("returnHandler");
stage.removeEventListener(MouseEvent.MOUSE_MOVE, returnHandler);
}
Event.MOUSE_LEAVE: dispatched by the Stage object when the mouse pointer moves out of the stage area.
MouseEvent.MOUSE_MOVE: Dispatched when a user moves the pointing device while it is over an InteractiveObject.
[AS3 SNIPPET] Detect if Flash movie gain/lose focus
stage.addEventListener(Event.ACTIVATE, activateHandler);
stage.addEventListener(Event.DEACTIVATE, deactivateHandler);
function activateHandler(event:Event):void
{
trace("activateHandler");
}
function deactivateHandler(event:Event):void
{
trace("deactivateHandler");
}
Event.ACTIVATE is dispatched when the Flash Player or AIR application gains operating system focus and becomes active.
Event.DEACTIVATE is dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.
[AS3 SNIPPET] Priority level of event listener
addEventListener("event", handler1, false, 1);
addEventListener("event", handler2, false);
addEventListener("event", handler3, false, 3);
addEventListener("event", handler4, false, 1);
addEventListener("event", handler5, false, 2);
Listener methods are executed in this order:
- handler3
- handler5
- handler1
- handler4
- handler2
If two or more listeners share the same priority, they are processed in the order in which they were added.
The higher the number, the higher the priority.
[AS3 SNIPPET] One listener for multiple events
mc.addEventListener(MouseEvent.CLICK, mc_eventHandler);
mc.addEventListener(MouseEvent.ROLL_OVER, mc_eventHandler);
mc.addEventListener(MouseEvent.ROLL_OUT, mc_eventHandler);
function mc_eventHandler(event:MouseEvent):void
{
switch (event.type)
{
case MouseEvent.CLICK :
// click code
break;
case MouseEvent.ROLL_OVER :
// rollover code
break;
case MouseEvent.ROLL_OUT :
// rollout code
break;
}
}







