Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    40

    Puntatore, problemi a cambiarlo

    Ciao a tutti. Premesso il fatto che sono nuovo al linguaggio actionscript, volevo sapere se era possibile cambiare "realmente" l'icona del cursore... mi spiego meglio:
    con il codice
    codice:
    Mouse.hide();
    cursor_mc.onMouseMove = function() { this._x = _xmouse; this._y = _ymouse;
    updateAfterEvent(); };
    il mio cursore effettivamente sparisce per dar posto ad un mc, piccolo problema... se clicco con il tasto destro sul mio filmato (cosi da far comparire il relativo menu) ritornando poi su di esso il puntatore classico ritorna a farsi vedere.


    Un altra piccola curiosità... che codice posso usare per far si che il mio puntatore si animi in un certo modo ogni qual volta il tasto sx del mause viene premuto... indipendentemente dal fatto di trovarsi o meno su un elemento...?

    Scusate se tutto ciò può apparire stupido, ma non ho ancora trovato una soluzione.
    Grazie per le eventuali risposte.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    40

    Re: Puntatore, problemi a cambiarlo

    Originariamente inviato da Idas86
    Ciao a tutti. Premesso il fatto che sono nuovo al linguaggio actionscript, volevo sapere se era possibile cambiare "realmente" l'icona del cursore... mi spiego meglio:
    con il codice
    codice:
    Mouse.hide();
    cursor_mc.onMouseMove = function() { this._x = _xmouse; this._y = _ymouse;
    updateAfterEvent(); };
    il mio cursore effettivamente sparisce per dar posto ad un mc, piccolo problema... se clicco con il tasto destro sul mio filmato (cosi da far comparire il relativo menu) ritornando poi su di esso il puntatore classico ritorna a farsi vedere.


    Un altra piccola curiosità... che codice posso usare per far si che il mio puntatore si animi in un certo modo ogni qual volta il tasto sx del mause viene premuto... indipendentemente dal fatto di trovarsi o meno su un elemento...?

    Scusate se tutto ciò può apparire stupido, ma non ho ancora trovato una soluzione.
    Grazie per le eventuali risposte.
    Devo dedurre che non si possa fare?!

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao.
    Non è possibile cambiare realmente il puntatore del mouse da flash. Questa è un'impostazione del sistema che non puoi modificare con flash.

    Ciò che hai già realizzato può andare bene e con qualche piccolo accorgimento puoi risolvere quanto hai richiesto.
    piccolo problema... se clicco con il tasto destro sul mio filmato (cosi da far comparire il relativo menu) ritornando poi su di esso il puntatore classico ritorna a farsi vedere.
    In questo caso puoi risolvere inserendo la funzione hide() all'interno dell'evento onMouseMove in modo che il mouse sia ripetutamente reso invisibile.

    Unico problema, risulterà invisibile anche quando appare il menu contestuale.
    Per questo puoi utilizzare un oggetto contextMenu e il relativo evento onSelect che viene richiamato prima di aprire il menu e nel quale renderai visibile il puntatore del mouse (e volendo potrai rendere invisibile il clip cursore)
    Non essendoci però un evento che si verifica alla chiusura del menu contestuale, si deve usare un escamotage in modo che il mouse e il clip cursore si aggiornino quando si clicca per uscire appunto dal menu. L'aggiornamento avverrebbe comunque non appena si muove il mouse. Finchè si sta fermi, però, il puntatore si continuerà a vedere ed il clip cursore resterà nell'ultima posizione che aveva prima che venisse aperto il menu contestuale (se lo avevi reso invisibile ovviamente non lo vedrai).

    Curiosità:
    Da quanto ho potuto constatare ci sono alcune differenze tra i diversi browser.
    Su FF, lo stesso click effettuato per uscire dal menu ah piena funzionalità sul filmato.
    Ad esempio se si è cliccato su un pulsante, uscendo dal menu, questo risponde normalmente all'azione.
    Su IE invece, il click effettuato per uscire dal menu contestuale non comporta azioni su eventuali pulsanti nel filmato. Inopltre le proprietà _xmouse e _ymouse non si aggiornano fintanto che non si muova il mouse o che non si rilasci il pulsante del mouse.

    Ho usato, a tal proposito, l'evento onMouseUp (che avviene appunto quando si rilascia il mouse) per forzare l'aggiornamento dopo il click, nel caso si restasse fermi col mouse uscendo dal menu contestuale.

    ... che codice posso usare per far si che il mio puntatore si animi in un certo modo ogni qual volta il tasto sx del mause viene premuto... indipendentemente dal fatto di trovarsi o meno su un elemento...?
    Dovresti usare un oggetto listener per "catturare" gli eventi del mouse tra cui l'evento onMouseUp, citato sopra, e onMouseDown dove inserirai le azioni per animare il cursore.

    Puoi creare l'animazione all'interno dello stesso clip cursor_mc, dove inserirai uno stop() nel primo frame.
    Sostituisci poi il tuo script con il seguente, che metterai nel primo frame della root:

    Codice PHP:
    // al movimento del mouse nascondo il mouse e sposto il clip
    onMouseMove = function () {
        
    Mouse.hide();
        
    cursor_mc._visible true;
        
    cursor_mc._x _xmouse;
        
    cursor_mc._y _ymouse;
        
    updateAfterEvent();
    };
    // inizializzo mouse e clip cursore
    onMouseMove();
    // aggiungo un listener per catturare il click
    var mouseListener:Object = new Object();
    mouseListener.onMouseDown = function() {
        
    // al click eseguo l'animazione del cursore
        // a meno che non abbia cliccato per uscire dal menu contestuale
        
    if (!menuOperto) {
            
    cursor_mc.play();
        }
    };
    Mouse.addListener(mouseListener);
    // all'apertura del menu contestuale rendo visibile il mouse e invisibile il clip
    _root.menu = new ContextMenu();
    menu.onSelect = function() {
        
    menuOperto true;
        
    Mouse.show();
        
    cursor_mc._visible false;
    };
    // faccio un refresh quando esco dal menu contestuale per aggiornare mouse e clip cursore
    var menuOperto false;
    mouseListener.onMouseUp = function() {
        if (
    menuOperto) {
            
    menuOperto false;
            
    onMouseMove();
        }
    }; 
    Ecco pronto il tuo puntatore personalizzato..

    Curiosità: lo stesso evento onMouseMove può essere gestito attraverso il listener anzichè associarlo al clip, ma in quel caso ho constatato che la funzione updateAfterEvent() non funge. Non ne so il motivo, per cui è meglio lasciare l'evento sul clip o definirlo al livello principale (come ho fatto).

    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    40
    Grazie mille... sei stato strà esaustivo! Ancora grazie!

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    No problem!
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Utente di HTML.it L'avatar di scalA
    Registrato dal
    Jun 2009
    Messaggi
    11
    ciao a tutti!!
    premetto che sono alle prime armi..
    volevo chiedere come mai la variabile menuOperto l'hai usata anche prima di averla definita (o sbaglio..?)
    inoltre anch'io devo cambiare il cursore però quando va su aree sensibili o pulsanti, cioè quando cambia quello classico e non quando clicca.
    il procedimento che ho letto dovrebbe essere perfetto.. ma siccome sono una pivella non so come adattare la variabile menuOperto con una che dica a flash quando cambiare...
    help.. !!
    aiutoNonSoBbona

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao

    volevo chiedere come mai la variabile menuOperto l'hai usata anche prima di averla definita (o sbaglio..?)
    Sbagli in parte.
    L'ho usata all'interno di alcune funzioni, in particolare degli eventi onMouseDown e onSelect.
    E' vero, la variabile è certamente dichiarata dopo la dichiarazione di queste funzioni (in questo caso poteva essere dichiarata anche prima, sarebbe stato lo stesso).
    Queste funzioni però non saranno eseguite fintanto che non avvenga il relativo evento che le richiami, per cui lo script al loro interno sarà letto effettivamente dopo che è avvenuta la dichiarazione della variabile.

    inoltre anch'io devo cambiare il cursore però quando va su aree sensibili o pulsanti, cioè quando cambia quello classico e non quando clicca.
    il procedimento che ho letto dovrebbe essere perfetto.. ma siccome sono una pivella non so come adattare la variabile menuOperto con una che dica a flash quando cambiare...
    Dovresti utilizzare i relativi eventi onRollOver, onRollOut, ecc., associandoli ad un clipFilmato in modo da far eseguire lo script quando col puntatore si passa sopra o si esce fuori da questo clip.
    Però sarebbe meglio se aprissi una nuova discussione, se non lo hai già fatto, specificando cosa ti serve fare di preciso perchè in questa discussione si parla, oltre l'argomento principale di cambiare il puntatore, anche del problema relativo al menu contestuale e di animare il puntatore che, a quanto ho capito, a te non serve. Lo script suggerito quindi potrebbe avere diverse parti che non servono.

    In qualunque caso ti suggerisco di fare una ricerca sul forum, riguardo onRollOver e puntatore personalizzato.. credo ci siano già diverse discussioni in cui si tratta l'argomento.

    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  8. #8
    Utente di HTML.it L'avatar di scalA
    Registrato dal
    Jun 2009
    Messaggi
    11
    ho cercato sul forum e ho già aperto una discussione su un drag and drop.. non volevo intasare il forum quindi per il cursore ho cercato e mi sono intrufolata qui

    cmq ho trovato tutto in as2 e mi sono resa conto (dopo un breve dibattito con dei colleghi) che anche questo è in as2 o (risbaglio..?)
    mi servirebbe in as3..

    approfitto per precisare: vorrei che il mouse quando va su aree sensibili e bottoni, cioè quando normalmente diventa manina che indica, mi caricasse un mc.


    grazie a tutti!
    aiutoNonSoBbona

  9. #9
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    .. non volevo intasare il forum quindi per il cursore ho cercato e mi sono intrufolata qui

    cmq ho trovato tutto in as2 e mi sono resa conto (dopo un breve dibattito con dei colleghi) che anche questo è in as2 o (risbaglio..?)
    mi servirebbe in as3..
    Capito.. ma ribadisco: a mio parere sarebbe meglio che tu aprissi una nuova discussione in modo da specificare meglio la tua richiesta, non credo si intasi il forum ma, anzi, si rischia di fare maggiore confusione riportando a galla una vecchia discussione (anche se solo di pochi mesi) anziché aprirne una nuova.
    Questo perché a distanza di mesi possono essere cambiate varie cose, anche a livello di script.
    Sarebbe invece meglio aprire una nuova discussione ed eventualmente mettere un link di riferimento a questa se dovesse essere necessario.. e, come buona norma, specificare la versione di as sul titolo (vedi regolamento interno di questo forum "flash"), infatti non sbagli riguardo la versione, in questa discussione si è trattato as2, quindi non sarebbe consono continuare qui se a te serve una soluzione in as3.

    Buon proseguimento..
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  10. #10
    Utente di HTML.it L'avatar di scalA
    Registrato dal
    Jun 2009
    Messaggi
    11
    ok grazie! apro una nuova discussione!
    aiutoNonSoBbona

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.