În acest sfat rapid, vă voi arăta cum să creați un efect de ștergere inspirat de interfața iPhone iOS.
Să aruncăm o privire asupra rezultatului final pe care îl vom strădui:
Apăsați și țineți apăsată pictograma "a", apoi faceți clic pe "x" când apare ...
Pe o interfață iPhone pre-făcută vom face uz de evenimentele Timer, Tween și Mouse pentru a crea un efect frumos pentru interfețe.
Lansați Flash și creați un nou document Flash, setați dimensiunea scenei la 255x496px și rata de cadre la 24fps.
Aceasta este interfața pe care o vom folosi, include un șablon iPhone 4 și câteva elemente GUI pe care le puteți descărca de pe site-ul autorului respectiv.
Există, de asemenea, o pictogramă care este un element interactiv.
Aceasta este clasa care face tot munca. Este afișat doar codul de lucru real, vă rugăm să citiți comentariile pentru a înțelege pe deplin ce se întâmplă ...
timer privat var: Timer = nou Timer (1000); // Timpul de menținere a butonului mouse-ului pe pictogramă pentru a afișa butonul de ștergere privat var tiltTimer: Timer = nou Cronometru (80); // Timpul schimbării rotației face ca efectul de agitare să fie privat var rotationValue: int = 2; // Rotirea dorită pentru shake privat var tween: Tween; // O instanță tween pentru animarea funcției publice de dialog de alertă Main (): void / * Ascunde elemente * / hideObjects (appIcon.deleteButton, deleteAlert, darkScreen); / * Adăugați ascultători necesari * / deleteAlert.cancelBtn.addEventListener (MouseEvent.MOUSE_UP, anulați); 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); / * Ascunde funcțiile obiectelor * / privat hideObjects (... objects): void pentru (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;
Nu uitați să adăugați numele clasei în câmpul Clasă în secțiunea Publicare din panoul Proprietăți.
Deci, tu o ai! Un efect frumos pe care îl puteți adăuga la aplicațiile dvs., experimentați cu utilizările sale!
Sper că ți-a plăcut acest tutorial, vă mulțumesc că ați citit :)