Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    67

    Convertire una stringa in un instance name movieclip - con as3

    Salve, sto scrivendo una funzione che riceve come parametro una stringa, e che dovrebbe convertire quella stringa nel nome di istanza di un movieclip che ho creato.

    nomeoggetto="stringa";

    //quando clicco sul bottone che dovrebbe far partire il movieclip
    function cambia_stato(event:MouseEvent):void {
    movie(nomeoggetto);
    }

    function movie(oggetto:String):void {
    trace(oggetto); // la stringa è passata correttamente
    var newclip:MovieClip;
    newclip= oggetto as MovieClip; // mi restituisce valore null
    newclip.play();
    }

    Ho provato anche con:

    newclip=this[oggetto];

    oppure con:

    newclip=this.getChildByName(oggetto) as MovieClip;

    ma newclip assume sempre un valore null.

    Come posso risolvere questo problema, per favore ?

  2. #2
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Ciao

    Puoi cambiare il nome di una MovieClip semplicemente cambiando il suo valore .name :

    Codice PHP:
    var newclip:MovieClip = new MovieClip;

    newclip.name "pippo"
    trace (newclip.name); // pippo

    newclip.name "pluto"
    trace (newclip.name); // pluto 
    Dalla 4a riga il nome di "newclip" è "pluto" e qualsiasi riferimento alla proprietà .name di quel MovieClip avrà valore "pluto".
    Nota inoltre che nel tuo codice hai solo istanziato una variabile di tipo MovieClip ma non l' hai creato con il costruttore new, di conseguenza avrà sempre valore null perchè di fatto, non esiste.

    Inoltre se NON fai riferimento nel trace alla proprietà name della MovieClip riceverai come output [object MovieClip].

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    67
    Originariamente inviato da Sleter
    Ciao

    Puoi cambiare il nome di una MovieClip semplicemente cambiando il suo valore .name :

    Codice PHP:
    var newclip:MovieClip = new MovieClip;

    newclip.name "pippo"
    trace (newclip.name); // pippo

    newclip.name "pluto"
    trace (newclip.name); // pluto 
    Dalla 4a riga il nome di "newclip" è "pluto" e qualsiasi riferimento alla proprietà .name di quel MovieClip avrà valore "pluto".
    Nota inoltre che nel tuo codice hai solo istanziato una variabile di tipo MovieClip ma non l' hai creato con il costruttore new, di conseguenza avrà sempre valore null perchè di fatto, non esiste.

    Inoltre se NON fai riferimento nel trace alla proprietà name della MovieClip riceverai come output [object MovieClip].

    ciao
    Ok grazie, con il costruttore new e il .name l'assegnazione va a buon fine leggendo il trace, tuttavia però poi l'istruzione newclip.play(); non va anche se non vengono rilevati errori.
    Se vado a sostituire quello che leggo nel trace al posto di newclip, il movieclip parte.
    Un altro suggerimento ?

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.