Flash CS3: un baco testuale

Martedì 12 Febbraio, 2008

Lavorando con il testo statico ho scoperto un cuorioso difetto su Adobe Flash CS3 Professional. Inserendo un testo statico in un filmato e inclinandolo (skew), si ottengono risultati diversi, quando si manda in esecuzione il filmato, in base all’impostazione dell’antialiasing:

Flash CS3 bug text

Nell’ambiente authoring di Flash, invece, l’anteprima è identica per entrambe le scelte di antialiasing. Nell’esempio mostrato qui sopra ho usato un Font Arial. Tuttavia il problema si presenta con qualsiasi Font, anche quelle Bitmap. Lo stesso difetto si presenta anche inserendo il testo statico all’interno di un MovieClip e inclinando quest’ultimo invece del testo vero e proprio. (??)

Post correlati

Flash: come inizializzare componenti nel costruttore di una classe

Martedì 6 Novembre, 2007

Quando si estente una classe da un MovieClip che continene altri oggetti (MovieClip, TextField, etc...) questi ultimi potrebbero non essere "pronti" all'interno del costruttore. Questo accade soprattutto quando si utilizzano altri MovieClip estesi o i componenti (controls) di Flash. Per risolvere il problema basta sfruttare l'evento onLoad ereditato dalla classe stessa. Ad esempio immaginiamo di avere un MovieClip che contiene un campo TextField (oggetto visuale statico interno a Flash) e un oggetto TextInput (controllo inserito dal pannello componenti) e si vuole impostare qualche proprietà durante il costruttore della nostra classe MiaClasse.

Esempio Creiamo un simbolo ed inseriamo al suo interno sia l'oggetto TextField (chiamiamolo text_txt) sia l'oggetto TextInput (textinput_txt). Associamo questo simbolo ad una classe che estende un MovieClip, chiameremo la nostra classe MiaClasse. Quello che vogliamo ottenere è che durante il costruttore della nostra classe MiaClasse vengano inizializzati questi due controlli. Se proviamo ad usare un codice come questo:

Actionscript:
  1. //
  2. import mx.controls.TextInput;
  3. //
  4. class MiaClasse extends MovieClip {
  5.     //
  6.     private var text_txt:TextField;
  7.     private var textinput_txt:TextInput;
  8.     //
  9.     function MiaClasse() {
  10.         trace("MiaClasse::costruttore");
  11.         //
  12.         text_txt.text = "Ciao";
  13.         textinput_txt.text = "Ciao";
  14.         //
  15.     }
  16.  
  17. }

Continua a leggere... »

Post correlati