Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [AS2] Funzione per stati del mouse sul movieclip...

    Ciao foro!
    Sto un po' impicciato su un menu.
    Mi sarei scritto questa bella (?!) funZioncina qua:

    Codice PHP:
    function doButtonActions(mcurl) {
        if (
    mc != page) {
            
    mc.onRollOver = function() {
                
    = new Color(this);
                
    c.setRGB(0x004481);
            };
            
    mc.onRollOut = function() {
                
    = new Color(this);
                
    c.setRGB(0x79889C);
            };
            
    mc.onPress = function() {
                
    getURL(url);
            };
        } else {
            
    = new Color(this);
            
    mc.setRGB(0xFF0000);
        }

    sul primo frame della timeline che - nelle mie intenzioni - in italiano dovrebbe voler dire:
    "SE il nome dell'istanza del movieclip è diverso dal valore della variabile "page" (che recupero dal parametro FlashVars), attiva il cambio di colore al mouseover e al mouseout come specificato e aggiungi l'URL.
    SENNÒ non fare niente di tutto quello che ho detto fin qui e lìmitati a colorare il (testo del) mc in rosso".

    Mo'... Il primo problema è che non so dove richiamare la funzione.
    Su ogni singolo mc, o nella timeline sul frame dove ci sono tutti i mc "pronti"?

    Poi, conseguenza del primo problema (e del fatto che non so una sega di AS), tanto per provare l'ho richiamata sui singoli mc, ma non funzia.
    Allora ho scritto direttamente il codice centrale della funzione su ogni singolo mc, con un paio di varianti:

    Codice PHP:
    var mc "nome_del_mc";
    var 
    url mc+".php";
    if (
    mc != page) {
            
    mc.onRollOver = function() {
                
    = new Color(this);
                
    c.setRGB(0x004481);
            };
            
    mc.onRollOut = function() {
                
    = new Color(this);
                
    c.setRGB(0x79889C);
            };
            
    mc.onPress = function() {
                
    getURL(url);
            };
        } else {
            
    = new Color(this);
            
    mc.setRGB(0xFF0000);
        } 
    Però mi dice che le inizializzazioni delle variabili e l'"if" le vuole dentro un "on/onClipEvent".
    Allora, per farlo contento, ho messo tutto in un "onClipEvent(enterFrame)" ("enterFrame" mi pareva la cosa più logica, anche se ancora non so bene chevvordi').
    Quindi ora sono messo così:

    Codice PHP:
    onClipEvent(enterFrame) {
    var 
    mc "nome_del_mc";
    var 
    url mc+".php";
    if (
    mc != page) {
            
    mc.onRollOver = function() {
                
    = new Color(this);
                
    c.setRGB(0x004481);
            };
            
    mc.onRollOut = function() {
                
    = new Color(this);
                
    c.setRGB(0x79889C);
            };
            
    mc.onPress = function() {
                
    getURL(url);
            };
        } else {
            
    = new Color(this);
            
    mc.setRGB(0xFF0000);
        }

    che - curiosamente - funzia anche, non fosse che sembra ignorare completamente l'if e l'else; quindi, a dispetto di quale pagina sia caricata, tutti i movieclip del menu si comportano allo stesso modo.

    Ho pensato fosse un problema di flashVars, ma stampando la variabile "page" in un campo testo dinamico vedo che effettivamente il valore è giusto e viene correttamente inviato e recuperato dal filmaggio.

    Al momento sto apportando modifche a casaccio al codice, quindi se qualcuno mi ferma e mi dà una qualche dritta magari finisco 'sto lavoro e mi dedico a cose marginali tipo, chessò, averci una vita sociale o mangiare qualcosa.

    TIA

    cià
    ale
    If you can keep your head when all about you are losing theirs,
    it's just possible you haven't grasped the situation.

  2. #2

    Ooocchei...

    Sono un imbecille }
    Giustamente la variabile "page" veniva sì recuperata, ma stava nella root.
    Mentre io stavo 'operando' sui singoli movieclip.
    Quindi aggiungendo allo script dicuisopra un

    Codice PHP:
     var page _root.page
    ecco che riesco a farla riconoscere anche allo script sul movieclip e quindi a far funzionare l'if-else.
    Ora funzia tutto come dovrebbe, ma mi piacerebbe comunque sapere se ho fatto tutto nel modo giusto (ne dubito fortissimamente) o se c'era un modo un po' più elegante e sintetico, seppur sempre in AS2, per far funzionare il tutto.

    GRAZZ ;-)
    (Ora però sono indeciso tra "vita sociale" e "mangiare qualcosa"... mmm...)..

    cià
    ale
    If you can keep your head when all about you are losing theirs,
    it's just possible you haven't grasped the situation.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.