Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    due problemi con un campo di testo dinamico

    Descrizione generale:
    Ho un campo di testo dinamico, in cui vengono caricati testi diversi, cliccando su diversi pulsanti.
    Questi testi sono costituiti da una lista di link, dove ciascuna riga richiama una asfunction.
    1° problema
    Il campo di testo è creato runtime, con questo codice:

    _root.lists.submain.createTextField("main",1,0,0,3 00,100);
    _root.lists.submain.main.multiline = true;
    _root.lists.submain.main.variable = "main";
    _root.lists.submain.main.wordWrap = false;
    _root.lists.submain.main.border = false;
    _root.lists.submain.main.autoSize = "left";
    _root.lists.submain.main.html = true;
    _root.lists.submain.main.selectable= false;
    Poichè il carattere di default è Times New Roman font, ed io invece voglio il Verdana, ho aggiunto questo codice:

    var my_fmt:TextFormat = new TextFormat();
    my_fmt.font = "Verdana";
    _root.lists.submain.main.setTextFormat(my_fmt);
    ma il testo continua ad essere mostrato con il carattere Times.
    Dov'è l'errore? Come posso risolvere il problema?

    2° problema
    Queste liste possono essere anche abbastanza lunghe, ma lo spazio verticale in cui sono mostrate è limitato, così devo dare la possobilità di fare lo scroll. Vorrei farlo senza scrollbar né frecce su/giù, ma solo in base al movimento del mouse.
    Così, ho usato questo codice (applicato al mc che contiene il campo di testo):

    onClipEvent (mouseMove) {
    this._y = 0+(_ymouse-this._y)*-0.35;
    }
    Il codice funziona; però si sono creati alcuni altri problemi.
    La posizione di partenza del mc è a _y 62 sullo stage. I pulsanti che ne attivano il caricamento del testo sono alla sua sinistra, molto vicini. Quando un pulsante viene cliccato, il mc si muove immediatamente, in base alla posizione del mouse - e questo non è molto bello...
    Inoltre, la posizione del mc, dopo il primo movimento, va più in alto di _y 62, e non ritorna più in quella posizione, independentemente dalla posizione del mouse.
    Io vorrei che, muovendo il mouse, la posizione iniziale possa essere ripristinata.
    Inoltre, il valore numerico del codice in alto (0.35) può andar bene per una lista, ma non per un'altra, magari più corta...
    Così, probabilmente ciò che mi servirebbe è:
    - un codice che rileva l'altezza della lista e genera il valore appropriato per lo scroll
    - un modo per fermare lo scroll verso il basso, quando il mc raggiunge la posizione _y 62
    - oppure, diversamente, un'altra soluzione che dia all'utente la possibilità di scrollare in un altro modo; qualcosa come...

    "se _y.mouse è > di X (valore numerico, relativo allo stage), scrolla verso l'alto il mc, e se _y.mouse < di Y (un'altro valore numerico, relativo allo stage), scrolla verso il basso il mc, ma non più in basso di _y = 62"
    Suggerimenti? Qualsiasi consiglio sarà davvero apprezzato...
    metatad
    graphic & web design

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ti rispondo per la prima perchè per la seconda ora non ho proprio testa...

    per rendere efficace il cambiamento di stile con il TextFormat, l'assegnazione al campo di testo deve essere fatta sempre dopo l'assegnazione del testo stesso... quindi in ogni punto in cui dichiari

    _root.lists.submain.main.htmlText = "bla bla bla";

    devi dichiarare subito dopo l'assegnazione del TextFormat, quindi

    _root.lists.submain.main.htmlText = "bla bla bla";
    _root.lists.submain.main.setTextFormat(my_fmt);

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    thanx...
    metatad
    graphic & web design

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    huum...
    ho provato ad attribuire il setTextFormat dopo aver caricato il testo, ma non funziona...
    Ovvero, io carico il testo così:
    loadVariables("artlist.txt", _root.lists.submain);
    var my_fmt:TextFormat = new TextFormat();
    my_fmt.font = "Verdana";
    _root.lists.submain.main.setTextFormat(my_fmt);
    e non mi attribuisce il valore Verdana al testo; se, invece, carico dinamicamente il testo con:
    loadVariables("artlist.txt", _root.lists.submain.main);
    laddove main è il nome d'istanza del campo di testo, creato appunto con
    _root.lists.submain.createTextField("main", 1, 0, 0, 300, 100);
    il testo non viene caricato...
    metatad
    graphic & web design

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    forse mi sono spiegato male... devi assegnare il textformat solo dopo aver assegnato il testo al campo, non dopo averlo caricato... comunque se stai usando loadVariablesNum, apparte il fatto che si tratta di un testo esterno, presumo che stai anche usando una variabile e non il nome di istanza del testo... a 'sto punto visto che stai usando il createTextField ecc... perchè non cambiare anche il modo di caricare esternamente e quindi di richiamare sul textfield?

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ho riletto anche il tuo secondo quesito, ma mi pare che ci sia un errore concettuale, ossia... il movimento del mouse è comunque costante, si muove durante tutta la navigazione... visto che la tua è una lista di testi cliccabili, come fà uno ad andare a cliccare se la lista è sempre in movimento, nel senso che se la lista è più lunga di un certo tanto, i link in mezzo a tutto il testo non saranno mai "raggiungibili" perchè non si può fermare lo scroll... ma forse non ho capito bene quello che vuoi ottenere e sbaglio a supporre

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    scusa, qualcosa evidentemente mi sfugge (il caldo...): come faccio ad assegnare il testo, se lo carico dinamicamente?
    ho provato a caricarlo altrove (in un altro campo di testo, nascosto, o in una variabile) assegnando poi questo al mio textfield, in questo modo:
    loadVariables("artlist.txt", _root.loadtxt);
    _root.lists.submain.main.text = _root.loadtxt.ldt;
    oppure:
    loadVariables("artlist.txt", _root.loadtxt);
    var testoload = _root.loadtxt.ldt;
    _root.lists.submain.main.text = testoload;
    ma non mi dà nulla...
    Sto fuso, eh?...

    Per il secondo quesito, no, i link sono cliccabili, perchè basta spostare il mouse e poi fermarlo quando si trova sul link che interessa (verificato); il problema, come dicevo nella domanda, è altrove...
    metatad
    graphic & web design

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.