Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: funzioni...help !

  1. #1
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    funzioni...help !

    Ho da poco iniziato a studiare l'Action Script di Flash MX ed ho un piccolo grattacapo con le funzioni personalizzate.
    Creo un funzione nel fotogramma 1 della timeline principale che userò per esempio per cambiare la trasparenza ad un clip o un pulsante che sarà

    function colore() {
    _alpha=30;
    }

    creo un istanza "clip1" di Simbolo 1 e al suo interno richiamo la funzione

    on(release){
    _root.colore();
    }

    ok funziona, ma ora il problema, se creo una seconda istanza di Simbolo 1 es: "clip2" e vi associo lo stesso richiamo a colore() come in "clip1" quando provo il filmato se premo su uno solo dei clip mi cambia alpha ad entrambi anche se non inserisco nessun richiamo nella seconda istanza avviene ciò e pure se creo un secondo simbolo !

    sapendo che le funzione per funzionare devo essere:
    -definite
    -richiamate

    come è possibile che agiscano anche se non vi è nessun richiamo ad essa (in altre istanze) ?

    Sicuramente sarà un banale problema di logica ma che non sono ancora riuscito a risolvere potete aiutarmi ?



  2. #2
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,768
    on(release){
    _root.colore();
    }


    Hai provato a mettere il nome istanza della clip ????

    es. _root.nomeistanza.colore.

    Così dovrebbe funzionare solo per quell' istanza.

    fammi sapere.

  3. #3
    function colore(theClip) {
    theClip._alpha=30;
    }


    on(release){
    _root.colore(this);
    }

  4. #4
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    se metto il nome dell'istanza es:

    on (release){
    _root.clip1.colore();
    }

    non funziona nemmeno.

  5. #5
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    function colore(theClip) {
    theClip._alpha=30;
    }


    on(release){
    _root.colore(this);
    }

    ok così funziona, ma potresti spiegarmi meglio la funzione da te descritta e perchè la mia non funzionava ?
    Grazie !


  6. #6
    semplicemente perchè nella tua funzione mancava l'argomento

    al rilascio del pulsanti chiedevi alla funzione di fare qualcosa ora con l'argomento chiedi alla funzione di fare qualcosa su uno specifico oggetto

    function colore(theClip) {
    theClip._alpha=30;
    }
    conosco poco di programmazione, equel poco ...lo uso pure malee

  7. #7
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    argomento ovvero parametro, ma non è possibile definire una funzione senza parametri che faccia quello che ho sopra citato ?
    la cosa che però non ho ancora ben capito è come mai la funzione aveva effetto anche su quelle istanze di Clip o istanze di un secondo clip al quale non avevo assegnato il richiamo alla funzione, putroppo sono ancora alla prime armi perciò vorrei che mi spiegaste quella che a me sembra una assurdità logica.
    Grazie ancora !

  8. #8
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,768
    Questo dalla guida in linea, prova a vedere se può esserti di aiuto....



    unction

    Disponibilità

    Flash Player 5.

    Uso

    function nomefunzione ([parametro0, parametro1,...parametroN]){
    istruzione/i
    }
    function ([parametro0, parametro1,...parametroN]){
    istruzione/i
    }

    Parametri

    nomefunzione Il nome della nuova funzione.

    parametro Un identificatore che rappresenta un parametro da passare alla funzione. Si tratta di parametri opzionali.

    istruzioni Una qualsiasi istruzione ActionScript definita per il corpo di funzione.

    Valori restituiti

    Nessuno.

    Descrizione

    Azione; una serie di istruzioni che vengono definite per eseguire una determinata attività. È possibile dichiarare, o definire, una funzione in una posizione, quindi richiamarla da altri script in un filmato. Quando si definisce una funzione, è possibile anche specificarne i parametri. I parametri sono dei segnaposto per i valori sui quali opererà la funzione. È possibile passare diversi parametri a una funzione ogni volta che viene richiamata. In tal modo, la stessa funzione può essere riutilizzata in varie situazioni.

    L'azione return nelle istruzioni di una funzione determina la restituzione di un valore.

    Uso 1: dichiara una funzione e specifica nomefunzione, parametri e istruzione/i. Quando si richiama una funzione, si invoca la dichiarazione della funzione. È consentito il riferimento anticipato a essa, ossia all'interno dello stesso elenco di azioni è possibile dichiarare una funzione dopo averla richiamata. La dichiarazione di una funzione sostituisce qualsiasi dichiarazione precedente della stessa. È possibile usare questa sintassi ogni qualvolta è consentita un'istruzione.

    Uso 2: crea una funzione anonima e la restituisce. Questa sintassi si usa nelle espressioni e il suo uso è consigliato principalmente per l'inserimento di metodi negli oggetti.

    Esempio

    Uso 1: l'esempio seguente definisce la funzione sqr che accetta un parametro, quindi restituisce il valore square(x*x) del parametro. Se la funzione viene dichiarata e usata all'interno dello stesso script, la relativa dichiarazione può apparire dopo il richiamo della funzione.

    y=sqr(3);

    function sqr(x) {
    return x*x;
    }

    Uso 2: l'esempio seguente definisce l'oggetto Circle:

    function Circle(radius) {
    this.radius = radius;
    }

    La seguente istruzione definisce una funzione anonima che calcola l'area del cerchio, quindi la associa come metodo all'oggetto Circle:

    Circle.prototype.area = function () {return Math.PI * this.radius * this.radius}

  9. #9
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Nell'attesa di studiarmi meglio le funzioni, e fare molta pratica, ho risolto così:

    nel fotogramma 1 della linea temporale del simbolo master (movieclip) "Simbolo 1" ho inserito la funzione

    function colore() {
    _alpha=20;
    }

    sullo stage principale seleziono le istanze di Simbolo 1 che chiamo clip1 e clip 2 alle quali associo i seguenti richiami alla funzione

    clip1:
    on (release) {
    _root.clip1.colore();
    }

    clip2:
    on (release) {
    _root.clip2.colore();
    }

    e così funziona azz. che fatica


    :bubu:

  10. #10
    Se proprio vogliamo proprio essere pignoli, per usare il metodo che alla fine hai utilizzato tu è anche abbastanza inutile usare una funzione...

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.