/ Published in: ActionScript 3
                    
                                        
How to create a delete effect inspired by the iPhone iOS interface. By Carlos Yanez.
                
                            
                                Expand |
                                Embed | Plain Text
                            
                        
                        Copy this code and paste it in your HTML
private var timer:Timer = new Timer(1000); //The time to hold the mouse button down the icon in order to show the delete button
private var tiltTimer:Timer = new Timer(80); //The time of the rotation change, makes the shake effect
private var rotationValue:int = 2; //The rotation desired for the shake
private var tween:Tween; //A tween instance to animate the alert dialog
public function Main():void
{
/*Hide elements*/
hideObjects(appIcon.deleteButton, deleteAlert, darkScreen);
/*Add necesary listeners*/
deleteAlert.cancelBtn.addEventListener(MouseEvent.MOUSE_UP, cancel);
deleteAlert.deleteBtn.addEventListener(MouseEvent.MOUSE_UP, deleteApp);
appIcon.deleteButton.addEventListener(MouseEvent.MOUSE_UP, displayAlert);
appIcon.addEventListener(MouseEvent.MOUSE_UP, stopTimer);
appIcon.addEventListener(MouseEvent.MOUSE_DOWN, pressAndHold);
}
/*Hide objects function*/
private function hideObjects(...objects):void
{
for(var i:int = 0; i < objects.length; i++)
{
objects[i].visible = false;
}
}
/*Starts the timer when the mouse is down*/
private function pressAndHold(e:MouseEvent):void
{
timer.start();
timer.addEventListener(TimerEvent.TIMER, showDeleteButton);
}
/*If mouse up, timer stops*/
private function stopTimer(e:MouseEvent):void
{
timer.stop();
}
/*if the hold timer completes, the delete button is shown and the icon shakes*/
private function showDeleteButton(e:TimerEvent):void
{
timer.stop();
appIcon.deleteButton.visible = true;
tiltTimer.addEventListener(TimerEvent.TIMER, tilt);
tiltTimer.start();
}
/*The shake function, changes the rotation every time the tiltTimer completes*/
private function tilt(e:TimerEvent):void
{
appIcon.rotation = rotationValue;
rotationValue *= -1;
}
/*if the delete button is pressed the alert is shown*/
private function displayAlert(e:MouseEvent):void
{
deleteAlert.visible = true;
darkScreen.visible = true;
tween = new Tween(deleteAlert,"scaleX",Back.easeOut,0.3,1,0.5,true);
tween = new Tween(deleteAlert,"scaleY",Back.easeOut,0.3,1,0.5,true);
}
/*removes the icon if the delete button in the alert is clicked*/
private function deleteApp(e:MouseEvent):void
{
hideObjects(appIcon, deleteAlert, darkScreen);
}
/* removes the alert, stops the tilt and doesn't remove the icon, called by the cancel button*/
private function cancel(e:MouseEvent):void
{
hideObjects(appIcon.deleteButton, deleteAlert, darkScreen);
tiltTimer.stop();
appIcon.rotation = 0;
}
URL: http://active.tutsplus.com/tutorials/actionscript/quick-tip-remove-an-object-iphone-app-style/
Comments
 Subscribe to comments
                    Subscribe to comments
                
                