![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
Hey Amico Visitatore, Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Flash & ActionScript |
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User
Data di registrazione: Oct 2006
Messaggi: 186
|
slide immagini con effetto tipo veneziana
Salve,
devo realizzare un effetto in flash che ho visto su vari siti. Vi riporto il link ad un esempio che vorrei emulare. http://www.template-help.com/screenshots/5200/5280.swf Per realizzare un effetto del genere avrei pensato a spezzettare l'immagine in tanti rettangolini e poi animarli, ma la cosa mi sembra un po' macchinosa. Esiste un'altra soluzione? Se qualcuno potesse aiutarmi dandomi qualche dritta o il link a qualche esempio da studiare gliene sarei molto grato. Grazie Nicola |
|
|
|
|
|
|
|
#2 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
Ciao Nicola,
lo spezzettare l'immagine sarebbe la via più corretta ma di sicuro non a mano o con un photo editor. Serve un grossa conoscenza di actionscript per utilizzare le classi BitmapData e Matrix. Nel tuo esempio vengono usate delle maschere (forse la via più semplice). |
|
|
|
|
|
#3 (permalink) |
|
User
Data di registrazione: Oct 2006
Messaggi: 186
|
Ho tentato con le maschere, ma non riesco a far venire questo effeto. potresti indicarmi qualche risorsa dove poter colmare le mie lacune (per quanto riguarda la programmazione non ci sono grandi problemi ho molta esperienza...non moltissima con actionscript però
) |
|
|
|
|
|
#4 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
Copia e incolla questo script nel primo frame della timeline di Flash.
Tieni un'immagine nella stessa directory e chiamala pic_1.jpg . Codice:
// importo le classi
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Matrix;
// Gestione listener e broadcasting con la root
var temp:MovieClip=_root.createEmptyMovieClip('temp_mc',_root.getNextHighestDepth());
var empty:MovieClipLoader=new MovieClipLoader();
var shuf:MovieClip=_root.shuffle_mc;
empty.addListener(this);
empty.loadClip('pic_1.jpg',temp);
// Creo gli Arrays per le clip che comporranno il puzzle e dei punti
var clips_array:Array=new Array();
var points_array:Array=new Array();
// metodo onLoadInit della classe MovieClipLoader
this.onLoadInit=function():Void
{
var w:Number=5;
var h:Number=5;
var x:Number=0;
var y:Number=0;
var width:Number=Math.floor(temp._width/w);
var height:Number=Math.floor(temp._height/h);
var m:Matrix;
var bitmap:BitmapData;
var point:Point;
var clip:MovieClip;
var copy:MovieClip;
// applico 2 cicli for per creazione di bitmapdata e matrici
for(var i:Number=0;i<h;i++)
{
for(var j:Number=0;j<w;j++)
{
bitmap=new BitmapData(width,height,true,0xFFFFFFFF);
m=temp.transform.matrix;
m.translate(-width*j,-height*i);
bitmap.draw(temp,m);
//creo le clips e le inserisco in un array così come creo dei punti e li inserisco in un array.
clip=_root.createEmptyMovieClip('clip_'+i+'_'+j+'_mc',_root.getNextHighestDepth());
clips_array.push(clip);
point=new Point(width*j,height*i);
points_array.push(point);
clip.attachBitmap(bitmap,1);
clip._x=point.x;
clip._y=point.y;
clip.onPress=function():Void
{
this.startDrag();
}
clip.onRelease=function():Void
{
this.stopDrag();
}
}
}
temp.removeMovieClip();
}
Studia lo script per tagliare l'immagine in strisce e poi, siccome ogni pezzo è dentro una movieclip li puoi muovere a tuo piacimento. |
|
|
|
|
|
#11 (permalink) |
|
User
Data di registrazione: Oct 2006
Messaggi: 186
|
Scusa sono stato poco chiaro...
Ti trascrivo il messaggio di errore che mi da: **Errore** Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 28: Impossibile caricare la classe o l'interfaccia 'flash.geom.Matrix'. var m:Matrix; **Errore** Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 29: Impossibile caricare la classe o l'interfaccia 'flash.display.BitmapData'. var bitmap:BitmapData; **Errore** Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 30: Impossibile caricare la classe o l'interfaccia 'flash.geom.Point'. var point:Point; **Errore** Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 38: Impossibile caricare la classe o l'interfaccia 'flash.display.BitmapData'. bitmap=new BitmapData(width,height,true,0xFFFFFFFF); **Errore** Scena=Scena 1, livello=Livello 1, fotogramma=1:Linea 45: Impossibile caricare la classe o l'interfaccia 'flash.geom.Point'. point=new Point(width*j,height*i); Totale errori ActionScript: 5 Errori segnalati: 5 |
|
|
|