Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    78

    come fare uno scroll text in a.c 3.0

    come da titolo (sempre che sia coretto nella sua terminologia) m'interesserebbe sapere, come fare uno scroll text verticale in action script 3.0, magari se avete un link con tutorial in italiano, o se sapete dove girarmi per trovare qualche file da modificare in tutta tranquillità

    a voi che risponderete, un anticipato ringraziamento ^^

    Francesco M.

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ciao Francesco, la tua richiesta è un tantino generica, nel senso che di modi per fare uno scroll ce ne sono diversi. Possono esserci scroll con una barra da trascinare o con i pulsanti, o ancora completi di entrambi, con la rotella del mouse fino allo scroll cinetico che va di moda adesso con i cellulari. Inoltre non disdegnamo il componente nativo di Flash UIScrollbar che, associato ad un campo di testo, lo controlla senza mille altre aggiunte. Sempre sulla scia dei components ci facciamo rientrare anche la TextArea, componente completo a cui bisogna "agganciare" solo una stringa di testo per essere visualizzata all'interno di un box con scroll orizzontale e verticale a seconda della necessità.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    78
    vediamo

    io avrei bisogno di uno scroll che abbia principalmente ed essenzialmente i due pulsanti, per far scorrere su e giù il testo, ovviamente che se li tieni premuti il testo scorre finchè non si rilascia il pulsante

    poi se ci fosse la possibilità di aggiungerci la barra da trascinare non sarebbe male, ma non è essenziale, forse addirittura superflua per quel che ci dovrei far io ^^

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da xabila
    vediamo

    io avrei bisogno di uno scroll che abbia principalmente ed essenzialmente i due pulsanti, per far scorrere su e giù il testo, ovviamente che se li tieni premuti il testo scorre finchè non si rilascia il pulsante

    poi se ci fosse la possibilità di aggiungerci la barra da trascinare non sarebbe male, ma non è essenziale, forse addirittura superflua per quel che ci dovrei far io ^^
    Il codice non è complesso, specie per come è stato implementata la classe TextField nelle ultime release. Prova questo in un nuovo progetto e vedi come si comporta, poi vediamo di approfondire il codice e quello che viene fatto per ottenere il risultato finale. Ha i due pulsanti, la barra di scroll e il "mousewheel" ossia lo scorrimento con la rotella.

    Codice PHP:
    function drawRect (w:Number 100.0h:Number 100.0c:uint 0b:Number NaNl:uint 0):MovieClip {
        var 
    temp:MovieClip = new MovieClip();
        
    temp.graphics.lineStyle (bl1false"normal""none""miter"255);
        
    temp.graphics.beginFill (c1.0);
        
    temp.graphics.drawRect (00wh);
        
    temp.graphics.endFill ();
        return 
    temp;
    }

    var 
    t:TextField = new TextField ();
    addChild (t);
    t.t.10;
    t.width t.height 200;
    t.multiline t.wordWrap t.border t.background true;
    t.appendText ("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris bibendum sapien. Aenean mollis feugiat neque. Aliquam erat volutpat. Sed vulputate ultrices sapien. Nunc quis nibh. Sed volutpat, erat vel porta mollis, tellus tellus euismod mi, vel accumsan nibh risus ac mi. Aenean ac eros. Aliquam egestas ante a massa. Duis elementum elementum urna. Sed vitae mi.\nCras rutrum massa ut massa. Suspendisse non velit mollis neque vestibulum luctus. Donec arcu. Fusce fermentum quam eu enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec fringilla pellentesque nisi. Duis pretium, sem vitae sagittis ultrices, enim elit scelerisque leo, vel fermentum velit diam vitae turpis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam turpis. Proin eget turpis. Cras vitae libero. Mauris rutrum odio id purus. Nam urna diam, accumsan vitae, dapibus in, mollis sit amet, mi. Aliquam lorem purus, aliquet in, aliquam quis, blandit at, nisi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus mollis tincidunt metus. Mauris sed mauris eu tellus accumsan ullamcorper. Donec dignissim lobortis lacus. In hac habitasse platea dictumst.\nUt ut purus sit amet justo ultrices feugiat. Mauris accumsan, lacus quis lacinia rutrum, dolor eros imperdiet mauris, vel consectetur mauris ipsum eu dolor. Morbi rutrum vulputate purus. Praesent elit nulla, cursus vitae, luctus id, volutpat ut, neque. Mauris dui. Vestibulum egestas ante mattis est. Cras lacus. Nam consectetur sapien ut ipsum. Quisque interdum, sapien vel vestibulum euismod, massa purus auctor est, ac commodo lectus metus at odio. Donec luctus, massa vitae molestie vulputate, odio libero condimentum neque, ut aliquam diam tellus vitae enim. Duis eu lorem. Sed sodales quam sit amet dui. Aliquam erat volutpat. Vestibulum lacinia. Ut placerat condimentum mauris. Sed velit odio, ultrices a, tempor nec, varius eu, magna. Donec neque mi, gravida ac, imperdiet sed, auctor a, ante.\nDonec imperdiet luctus mi. Vivamus in ante ac risus tincidunt ultrices. Vestibulum massa dolor, rhoncus sed, venenatis et, porttitor et, nisi. Sed nec metus. Nunc augue. Integer turpis sem, dignissim eu, sodales ac, porta vitae, ante. Cras tincidunt lorem quis nibh. In sodales luctus dolor. Integer fringilla, dui vitae mollis iaculis, dui quam suscipit risus, sed bibendum orci risus sed felis. Cras ut magna vel nunc pretium faucibus.\nDuis pellentesque elementum turpis. Suspendisse justo libero, sodales nec, scelerisque in, pharetra id, felis. Donec magna eros, molestie et, viverra non, euismod sed, ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Cras vitae leo a nibh rhoncus molestie. Quisque erat. Fusce consectetur sem id lorem. Nullam elit odio, semper sit amet, dictum ut, lobortis et, metus. Nulla vestibulum velit sagittis turpis. Suspendisse cursus magna sit amet velit. Aliquam elementum, turpis elementum iaculis convallis, enim orci porttitor tortor, sit amet euismod velit odio nec tortor. Donec neque mauris, suscipit eget, sollicitudin sed, commodo eu, nunc. FINE");
    var 
    b1:Sprite addChild(drawRect(10100)) as Sprite;
    b1.10;
    b1.addEventListener (MouseEvent.MOUSE_DOWNdown);
    var 
    b2:Sprite addChild(drawRect(10100)) as Sprite;
    b2.t.getBounds(this).bottom 10;
    b2.addEventListener (MouseEvent.MOUSE_DOWNdown);
    var 
    s:Sprite addChild(new Sprite()) as Sprite;
    s.addChild (drawRect(101700xFFFFFF10));
    s.addChild (drawRect(10300));
    b1.b2.s.t.getBounds(this).right+5;
    s.25;
    t.addEventListener (Event.SCROLLscroll);
    s.addEventListener (MouseEvent.MOUSE_DOWNdrag);
    function 
    drag (evt:MouseEvent):void {
        var 
    temp:MovieClip s.getChildAt(1) as MovieClip;
        
    temp.startDrag (false, new Rectangle(000140));
        
    s.addEventListener (Event.ENTER_FRAMEmove);
        
    stage.addEventListener (MouseEvent.MOUSE_UPdrop);
    }
    function 
    drop (evt:MouseEvent):void {
        
    s.removeEventListener (Event.ENTER_FRAMEmove);
        
    stage.removeEventListener (MouseEvent.MOUSE_UPdrop);
        
    s.stopDrag ();
        
    b1.removeEventListener (Event.ENTER_FRAMEenterFrame);
        
    b2.removeEventListener (Event.ENTER_FRAMEenterFrame);
    }
    function 
    move (evt:Event):void {
        
    t.scrollV = (t.maxScrollV s.getChildAt(1).y) / (s.getChildAt(0).height-s.getChildAt(1).height);
    }
    function 
    scroll (evt:Event):void {
        
    s.getChildAt(1).Math.round((t.scrollV * (s.getChildAt(0).height-s.getChildAt(1).height)) / t.maxScrollV);
        if (
    t.scrollV == 1) {
            
    s.getChildAt(1).0;
        }
    }
    function 
    down (evt:MouseEvent):void {
        
    stage.addEventListener (MouseEvent.MOUSE_UPdrop);
        
    evt.currentTarget.addEventListener (Event.ENTER_FRAMEenterFrame);
    }
    function 
    enterFrame (evt:Event):void {
        if (
    evt.currentTarget == b2) {
            
    t.scrollV++;
        } else {
            
    t.scrollV--;
        }


  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    78
    sono piuttosto confuso devo ammettere, il codice, per funzionare funziona perfettamente, e ti ringrazio, ma nel mio lavoro avevo necessità di una determinata grafica e in quello non saprei dove partire per modificarlo, sono piuttosto ignorante in questa tematica eh ">.>

    poi altro problema che insorge, nel mio lavoro, la form del testo rimarebbe fissa, poi ci sono otto pulsanti che fanno comparire i relativi testi, ma non saprei se, con un codice così, sia possibile il tutto ._.

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Come puoi notare nel codice ci sono due "Sprite" che fungono da pulsanti. Questi nel codice vengono generati disegnandoli, ma nessuno ti vieta di avere nel tuo progetto i due pulsanti già disegnati. Ti basterà eliminare la parte di script che crea i pulsanti e mettere come nome dei pulsanti che già hai quello che c'è nel codice (b1 e b2) oppure cambiare il nome di quei due pulsanti nel codice con quello dei tuoi.
    Per la barra di scorrimento, la particolarità del codice è che si muove all'interno del suo sfondo, quindi se intendi usarla devi disegnare un rettangolo grande abbastanza, sulla quale la "barretta" possa scorrere. Non ho messo riferimento di nomi per questi due elementi che compongono la barra di scroll, ma è facile inserirli. Al posto di queste due righe:

    s.addChild (drawRect(10, 170, 0xFFFFFF, 1, 0));
    s.addChild (drawRect(10, 30, 0));

    metteremo

    var sfondo_scroll:MovieClip = s.addChild (drawRect(10, 170, 0xFFFFFF, 1, 0)) as MovieClip;
    var barretta:MovieClip = s.addChild (drawRect(10, 30, 0)) as MovieClip;

    Perciò dove avremo scritto nel codice s.getChildAt(0) dovremo sostituirlo con sfondo_scroll e dove c'è s.getChildAt(1) avremo barretta.

    Anche qui potremo sostituire facilmente la grafica con quella che più ci aggrada, così come abbiamo fatto sopra, eliminando dal codice le parti dove questi elementi vengono creati.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    78
    senza offesa, sono conscio della mia ignoranza e ti chiedo scusa, ma sinceramente parlando, non ho capito quasi nulla O,O

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.