Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155

    [as3] TextField con rotation sparisce

    Ciao a tutti!
    Il mio problema è molto semplice (da capire, non da risolvere, almeno per me):
    Devo impostare una rotation su un textfield, e quando lo faccio questo sparisce!
    Se lascio rotation = 0 il testo è lì che si vede, se cambio sparisce!
    Il codice è semplicissimo, ma lo posto comunque:

    Codice PHP:
    var t:TextField = new TextField();
    addChild(t);
    t.rotation 45;
    t.text 'ciao'
    Può essere d'aiuto il fatto che il filmato è compilato per AIR?
    Io penso di no, comunque aspetto il giudizio di voi esperti..

    Grazie già da ora!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Il problema deriva dal fatto che bisognerebbe incorporare il font per modificare proprietà quali opacità e appunto rotazione. Per evitare di fare questo l'alternativa più semplice è quella di usare una copia bitmap del campo di testo al posto del campo stesso, in questo modo avrai la possibilità di modificare tutto quello che ti interessa essendo l'oggetto praticamente un'immagine.

    Codice PHP:
    var t:TextField = new TextField();
    t.text "ciao";
    var 
    d:BitmapData = new BitmapData(t.widtht.heighttrue0x00808080);
    d.draw(t);
    var 
    b:Bitmap addChild (new Bitmap(d)) as Bitmap;
    b.smoothing true;
    b.rotation 45

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

    Non sono un'esperto ma proprio recentemente ho riscontrato lo stesso problema utilizzando la classe TextField su un testo con rotazione da visualizzare in dinamico.

    Nel mio caso si trattava di numeri di istanza inseriti in un clip che veniva aggiunto allo stage cliccando su un pulsante.
    Quando questo clip eseguiva la rotazione che gli avevo assegnato nel codice, il numero spariva.

    Ho risolto, dalle proprietà del campo di testo dinamico inserito nel clip, cliccando su "incorpora" e selezionando "Numeri[0...9]" e finalmente i numeri si vedevano fino alla fine dell'animazione compresa la rotazione del clip.

    Nel tuo caso, trattandosi di una stringa di testo, prova a inserire nelle proprietà "incorpora" del testo dinamico "Maiuscolo[A...Z]" , "Minuscolo[a...z]" e "Latino esteso aggiuntivo".

    Per fare una prova, puoi anche scegliere di "incorporare" = "Tutto" ma da quello che ho visto testando l'.swf, questa opzione appesantisce molto il file per cui, è meglio scegliere di incorporare solo quello che serve.

    Fammi sapere se risolvi in questo modo o se il problema è un'altro.

    ciao

    P.S: Ho letto solo adesso il post di And80 che ringrazio per quest'altra possibile soluzione che ne chiarisce di più la logica del problema.
    ... Non si finisce mai di imparare !

    Un saluto a tutti

  4. #4
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155
    Grazie a tutti e due!
    Penso che userò il metodo di Sleter, perché ho bisogno anche di cambiare il testo a metà del lavoro e creare ogni volta una nuova bitmap non mi sembra il caso.
    Anche se mi chiedevo quale dei due metodi sia il più pesante, dato che probabilmente avrò molti testi..
    E poi com'è che faccio ad incorporare i caratteri tramite AS? Basta mettere TextField.embedFonts = true?

    Grazie ancora

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    A livello di consumo di risorse lo spostamento e quindi la renderizzazione del testo è più pesante di quella di un'immagine, ma è chiaro che se ti serve il campo di testo per vari motivi è meglio che carichi 20kb in più di font nel filmato invece di usare le bitmap.

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.