Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
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.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Flash & ActionScript
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti

Flash & ActionScript Animazione web e linguaggio di programmazione

Hey Amico Visitatore,
Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Flash & ActionScript


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 08-06-10, 11:56   #1 (permalink)
Ve
User
 
Data di registrazione: Jun 2010
Messaggi: 30
problema fisheye menu as2

Ciao a tutti, seguo spesso questo forum perchè lo trovo molto interessante, ma è la prima volta che scrivo.
Avrei bisogno della vostra competenza per risolvere un problema al quale non riesco proprio a venire a capo.

Ho scaricato un bel fisheye menu in as 2, ho cambiato le immagini secondo le mie esigenze, ho convertito le stesse in pulsanti ma, purtroppo, non sono riuscita a renderle linkabili, perchè ogni volta che provo ad integrare la stringa di codice per il link, mi saltano fuori una marea di errori (ed è logico, dato che, purtroppo, sono proprio a livello base con gli as).

Di seguito vi riporto il codice as2:


/*
* A Fish Eye Menu in Actionscript 2
* converted by James Ford
*
* based on A Fish Eye Menu in Actionscript 3
* from shinedraw.com
*/

var IMAGES:Array = [ "image1", "image2", "image3", "image4", "image5", "image6", "image7" ]; // images
var APP_WIDTH:Number = 692; // Width of this movieclip
var APP_HEIGHT:Number = 350; // Height of this movieclip
var MARGIN:Number = 0; // Margin between images
var IMAGE_WIDTH:Number =90; // Image width
var IMAGE_HEIGHT:Number = 233; // Image height
var MAX_SCALE:Number = 1.5; // Max scale
var MULTIPLIER:Number = 60; // Control the effectiveness of the mouse

var _images : Array = new Array(); // Store the added images

/////////////////////////////////////////////////////
// Handlers
/////////////////////////////////////////////////////

function on_added_to_stage():Void{
// add the images to the stage
addImages();

// start the mouse event handler
//stage.addEventListener(MouseEvent.MOUSE_MOVE, on_mouse_move);
}

// because we've got no document class, we need
// to start things in a more simple way
on_added_to_stage()

// mouse event handler
//function on_mouse_move():Void{
this.onMouseMove = function():Void {
//trace("on_mouse_move")
for(var i:Number = 0 ; i < _images.length; i++){
var image : MovieClip = _images[i] //as MovieClip;

// compute the scale of each image according to the mouse position
var imageScale:Number = MAX_SCALE - Math.min(MAX_SCALE - 1, Math.abs(this._xmouse - (image._x + image._width / 2)) / MULTIPLIER);
// resize the image
resizeImage(image, IMAGE_WIDTH * imageScale, IMAGE_HEIGHT * imageScale, i, IMAGES.length);
}

// sort the children according to the _yscale
sortChildren(this, "_yscale");
}

/////////////////////////////////////////////////////
// Public Methods
/////////////////////////////////////////////////////

/////////////////////////////////////////////////////
// Private Methods
/////////////////////////////////////////////////////

// add the images to the stage
function addImages():Void{
for(var i:Number = 0; i < IMAGES.length; i++){
// we can't attach bitmaps in AS2 like we do in AS3, so the bitmaps have been
// converted to movieclips and attached that way
var imageClass : String = IMAGES[i];
var image : MovieClip = this.attachMovie(imageClass, imageClass, this.getNextHighestDepth())
image.cacheAsBitmap = true;
// resize the image
resizeImage(image, IMAGE_WIDTH, IMAGE_HEIGHT, i, IMAGES.length);

_images.push(image);
}
}

// resize the image
function resizeImage(image : MovieClip, imageWidth:Number, imageHeight:Number, index:Number, total : Number):Void{
image._width = imageWidth;
image._height = imageHeight;
image._y = APP_HEIGHT/2 - image._height/2;
image._x = APP_WIDTH/ 2 + (index - (total - 1) / 2) * (MARGIN + IMAGE_WIDTH) - image._width / 2;
}

// Sort the objects according to the image width
function sortChildren(container, criteria:String) : Void {

var _numChildren:Number = IMAGES.length//container._numChildren;
//no need to sort (zero or one child)
if( _numChildren < 2 ) return ;

//create an Array to sort children
var children:Array = new Array( _numChildren );
var i:Number = -1;
while( ++i < _numChildren )
{
children[ i ] = {mc:container.getInstanceAtDepth( i ), num:container.getInstanceAtDepth( i )._yscale};
}

//sort by children by the criteria
children.sortOn( "num", Array.NUMERIC );

var child : MovieClip;
i = -1;
while( ++i < children.length )
{
child = MovieClip( children[ i ].mc );
//only set new depth if necessary
if( i != container.getInstanceAtDepth(i) )
{
//set their new position
child.swapDepths(container.getInstanceAtDepth(i))
}

}
}


Grazie mille in anticipo!
Ve non in linea   Rispondi citando
Vecchio 08-06-10, 12:01   #2 (permalink)
Moderatore
 
Data di registrazione: May 2008
Messaggi: 2,551
Ciao Ve benvenuta sul forum GT, se il menù è free puoi postare il link, così vedo se riesco a darti una mano.
__________________

Nhatan
Nhatan non in linea   Rispondi citando
Vecchio 08-06-10, 14:34   #3 (permalink)
Ve
User
 
Data di registrazione: Jun 2010
Messaggi: 30
Ciao Nhatan,

ti ringrazio molto per la tua risposta tempestiva.

ti mando il link in pm, perchè qua sul forum non me lo fa inserire, mi dice che non sono utente premium...

come vedi, le "voci di menu" di default non sono cliccabili, dato che sono immagini. Come detto prima, nell'esempio a cui sto lavorando, ho convertito le immagini in pulsanti per poterli poi linkare. Probabilmente è una cavolata per chi ne sa di actionscript, ma non ci salto mica fuori...

Grazie mille
Ve non in linea   Rispondi citando
Vecchio 08-06-10, 15:28   #4 (permalink)
Moderatore
 
Data di registrazione: May 2008
Messaggi: 2,551
Guarda puoi fare cosi: fai doppio click sul movieclip image1 in libreria cosi entri in modalita modifica del clip, ora trasforma in clip filmato la bitmap che hai sullo stage, dagli nome istanza ad esmpio "fl_btn" apri un nuovo livello e scrivi il
Codice:
fl_btn.onRelease = function()
{
trace("ok")
    }
__________________

Nhatan
Nhatan non in linea   Rispondi citando
Vecchio 08-06-10, 16:04   #5 (permalink)
Ve
User
 
Data di registrazione: Jun 2010
Messaggi: 30
Ok, perfetto, fin qua ci sono e ho eseguito meticolosamente le tue istruzioni l'ultima cosa che volevo chiedere è: adesso come faccio ad integrare il codice:

Codice:
on (release) {
    getURL("");
}
(ovviamente il link non lo inserisco sempre per il motivo che non sono ancora utente premium)

Posso inserirlo subito sotto a

Codice:
fl_btn.onRelease = function()
{
trace("ok")
    }
?

Ti ringrazio ancora per la pazienza
Ve non in linea   Rispondi citando
Vecchio 08-06-10, 17:40   #6 (permalink)
Moderatore
 
Data di registrazione: May 2008
Messaggi: 2,551
Dunque, sei entrata nella time line del clip immagine1 e hai trasformato la bitmap in clip filmato, gli hai dato nome istanza "fl_btn" scrivendolo nell'apposito campo in finestra prorietà e hai creato un nuovo livello. Ora nel primo frame di questo nuovo livello devi scrivere il codice che non sarà nella forma on(release) che si mette sul bottone ma nella forma che si mette sui frame cioè
Codice:
fl_btn.onRelease = function()
{
getURL("nome_pagina.html")
}
__________________

Nhatan
Nhatan non in linea   Rispondi citando
Vecchio 11-06-10, 09:17   #7 (permalink)
Ve
User
 
Data di registrazione: Jun 2010
Messaggi: 30
Perfetto! funziona alla perferzione! Grazie mille, sei stato gentilissimo!
Ve non in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 06:33.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.