Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505

    [Flash CS6] Ottenere proprietà di un oggetto al click

    Con AS3 ho già esperienza nella creazione di siti, ma ora sto provando a fare qualcosa di diverso.
    Sullo stage ho un pulsante ed una movieclip rettangolare, al click del pulsante viene creata una nuova movieclip rettangolare.
    Ora vorrei che cliccando su questa nuova movieclip mi venissero elencate le sue proprietà: altezza, larghezza e tutto ciò che si può sapere.
    Per ora mi va bene mostrarle nella console di output.
    Questa è la funzione che mi crea la nuova movieclip al click del pulsante
    codice:
    function nuovoProvino (event:MouseEvent):void {
    	var mc:MovieClip = new MovieClip();
    	mc.graphics.beginFill(0xFF0000);
    	mc.graphics.drawRect(0, 0, 660, 590);
    	mc.graphics.endFill();
    	mc.x = (workArea_mc.width - 660) / 2;
    	mc.y = (workArea_mc.height - 590) / 2;
    	mc.addEventListener( MouseEvent.CLICK, getProperties );
    	workArea_mc.addChild(mc);
    }
    Cercando di informarmi in giro ho trovato un po' di codice, ma evito di metterlo perché non funzionava, come dovrei scrivere la funzione getProperties?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2009
    residenza
    Olbia
    Messaggi
    2,930
    Ciao, scusa non puoi semplicemente fare un trace?

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Certo, per stampare le proprietà nella console sicuramente ci andrà un trace, il mio problema viene prima però, reperire le proprietà per poi stamparle (ovviamente col trace).

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2009
    residenza
    Olbia
    Messaggi
    2,930
    Non capisco, le proprietà le assegni tu al momento della creazione.

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Si, certo, ma poi ci dovrò fare altre cose con queste informazioni, per esempio dare la possibilità di cambiare dimensioni o colore di riempimento dopo che la movieclip è stata creata.
    Sto cercando di realizzare uno strumento per personalizzare dei prodotti.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2009
    residenza
    Olbia
    Messaggi
    2,930
    Intendi tipo quelle applicazioni dove puoi cambiare colore alle T-shirt.

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Si, una cosa del genere, prevalentemente si tratterà di cambiare dimensione e colore di font e ridimensionare delle immagini che verranno importate sullo stage.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2009
    residenza
    Olbia
    Messaggi
    2,930
    Quindi bitmap importate e non sprite costruite in run time?

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Diciamo di si, stavo pensando anche di dare la possibilità di cambiare le dimensioni dello stage, ma non è ancora sicuro che serva.
    Quindi in pratica si, diciamo che l'idea finale sarebbe questo funzionamento: cliccando su un elemento presente sullo stage, se si tratta di una bitmap importata, si deve avere la possibilità di ridimensionarla mantenendo l'aspect ratio e ruotarla/specchiarla, se si tratta di testo deve essere possibile cambiarne testo, font, colore e dimensione.
    Su cosa dovrei documentarmi per riuscire a fare queste cose?

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2009
    residenza
    Olbia
    Messaggi
    2,930
    Per poter gestire una bitmap importata flash deve essere sicuro che la bitmap sia caricata completamente solo allora ti permette di ridimensionarla, ruotarla ecc. La sicurezza che sia caricata completamente si ottiene tramite "contentLoaderInfo"
    codice:
    var loader:Loader = new Loader  ;
    loader.load(new URLRequest("foto.jpg"));
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, caricamentoCompletato);
    
    function caricamentoCompletato(evento:Event):void
    {
        loader.x=stage.stageWidth/2
        loader.y=stage.stageHeight/2
        loader.scaleX=0.2
        loader.scaleY=0.2
        addChild(loader);
    }

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.