• User Newbie

    Simulare scrittura a mano di caratteri tipo arial, etc...

    Salve,
    ho da poco iniziato ad usare flash, sono riuscito a gestire i livelli guida per simulare una penna che disegna un profilo.
    Adesso il problema è simulare la scrittura di un font definito in flash, tipo arial... o simili...
    Sto vedendo questo esempio ma non capisco il funzionamento, cosa devo modificare per aggiungere o cambiare le lettere scritte?
    peterjoel.com/Samples/handWriting.fla

    Se avete consigli su altri metodi li accetto molto volentieri.


  • Super User

    Ciao flashmac benvenuto sul Forum GT, se non devi fare una scritta molto lunga puoi usare un livello maschera e fare una animazione frame per frame.


  • User Newbie

    Grazie del benvenuto, la scritta è lunga tipo 35 caratteri, mi sembrano un pò tantini da fare frame per frame, con questa tecnica ho fatto il tracciamento di un profilo di una foto.
    Non esiste una funzione da associare a qualche oggetto in modo che quando segue la guida disegna anche una linea nera?
    Magari invece del carattere arial scrivo le lettere a mano e le uso poi come guida, però mi serve che qualche funzione tracci il tragitto come un pennarello.


  • Super User

    Be direi che il fla che hai postato tu funziona abbastanza bene, solo che ho provato con il font arial ma viene un obbrobrio, si può usare solo con un testo scritto a mano con la matita, ho cercato in giro per vedere se trovavo altri esempi ma l'unico che ho trovato era fatto frame per frame.


  • User Newbie

    Sei riuscito a scrivere nell'esempio oltre che ad A B C anche altre lettere?
    e come hai fatto? se mi posti il fla magari ci guardo da solo.


  • Super User

    Ciao buone notizie applicando una maschera movieclip con setmask sono riuscito a fare anche un carattere arial, certo l'ho fatto in fretta e di notte quindi è un po grezzo ma funziona ti ho fatto un fla di esempio che puoi scaricare da quà http://www.nhatan.altervista.org/sorgente.html se hai bisogno di spiegazioni chiedi pure.


  • User Newbie

    Sei troppo gentile, scusa ma l'ignoranza regna, io vengo dalla programmazione c di microcontrollori e mi sento senza strumenti in mano quando si tratta di flash!
    Tutto sembra semplice dentro il fla però ho provato in 100 modi ad aggiungere altre lettere dopo quella tua ma non riesco ad ottenere il tuo effetto, la tua lettera funziona bene mentre la mia si visualizza tutta in un solo istante, sicuramente è dovuto alla maschera!
    Come devo procedere nell'inserimento di altre lettere? cioè di cosa devo tener conto?


  • Super User

    Come avrai sicuramente già capito il tutto avviene dentro il movieclip in libreria chiamato Stroke, bene per creare un filmato nuovo procedi così: dal menù Inserisci/simbolo clip filmato dai nome Stroke e ok, ora dovresti essere dentro la time line di Stroke, scrivi il testo distanzia un po le lettere una dall'altra rispetto alla distanza di default, trasforma il testo in clip filmato e dagli nome istanza "filmato_mc", inserisci un fotogramma per esempio al n° 200 per il momento poi se serve allungherai la time line, ora blocca il livello, disegna un piccolo ovale o rettangolo all'incirca dello spessore del riempimento del font, in pratica sarebbe quello che nel filmato originale si chiama Dot. Trasformalo in clip filmato e dagli nome istanza "mask_mc", ora crea un livello guida movimento, in questo livello con la matita traccia la prima linea guida, come ho fatto io sulla lettera A, ora aggancia mask_mc alla guida movimento, metti un fotogramma chiave ad esempio sul frame 40, aggancia mask_mc alla estremità opposta della guida movimento e crea una interpolazione movimento sul livello di mask_mc, fai una prova per assicurarti che mask_mc segua effettivamente la guida e quindi il contorno della lettera perchè alle volte guida movimento fa le bizze e il clip filmato si sgancia, bene apri un nuovo livello e nel frame inserisci questo codice "filmato_mc.setMask(mask_mc);". Una cosa molto importante nella finestra proprietà devi mettere una spunta nel cek Usa caching bitmap in runtime sia per filmato_mc che per mask_mc, nel mio esempio la lettera A o prima fatto la guida movimento sul la parte verticale del font, poi in quella orizzontale, se fosse stato un carattere calligrafico si sarebbe potuto fare in un unica linea ma trattandosi di un font tipografico bisogna separare la parte verticale del font da quella orizzontale, quando hai completato tutto il testo esci dalla linea temporale di Stroke, crei un nuovo clip filmato vuoto e ci incolli sopra il codice che abbiamo preso dal filmato originale. Dimenticavo, perche tutto funzioni devi concatenare Stroke, cioè tasto destro su Stroke in libreria scegli la voce concatenamento e nella finestra che si apre spunti esporta per actionscript.


  • Super User

    Ci sei riuscito?