• User Newbie

    aiuto scrollbar

    Ho creato una pagina in cui viene visualizzato un testo da xml, il codice è il seguente:

    *var xmlLoader:URLLoader = new URLLoader()
    xmlLoader.addEventListener(Event.COMPLETE, onComplete, false,0, true)
    var moveContent:MovieClip;
    xmlLoader.load(new URLRequest("biografia.xml"))
    *
    *function init():void {
    moveContent = mov_clip;
    addChild(moveContent);}

    function onComplete(evt:Event):void {
    var xmlData:XML = new XML (evt.target.data)
    mov_clip.heading_bio.htmlText = xmlData.dialogue[0].heading;
    var head = mov_clip.heading_bio.htmlText = xmlData.dialogue[0].heading;
    var body = mov_clip.bio.htmlText = xmlData.dialogue[0].text;
    trace (xmlData)
    head.htmlText = (xmlData);
    body.htmlText= (xmlData)}*

    si accede a due tag di xml, ovvero head che corrisponde al titolo e body che corrisponde al testo.

    Ho creato poi due pulsante, freccia giù (down_btn) e freccia (up_btn) su ma non riesco ad attivarli per fungerli da scrollbar. Ho provato questo codice:

    *down_btn.onPress = function() {
    mov_clip.bio.htmlText.scroll += 1;
    };
    *
    up_btn.onPress = function() {
    mov_clip.bio.htmlText.scroll -= 1;
    };

    ma mi escono i seguenti errori:
    1119: Accesso a una proprietà non definita onPress mediante un riferimento con tipo statico flash.display:SimpleButton.
    1120: Accesso alla proprietà non definita mov_clip.

    Sbaglio perché non è un testo scorrevole ma un testo dinamico? non riesco a capire come fare, ho provato diversi codici :gtsad:


  • Super User

    Ciao Webdream il codice che hai usato per i pulsanti è as2 e gli errori che hai postato sono tipici di as3. quindi penso che stai programmando in as3.


  • User Newbie

    Ecco perché, come dovrei fare allora usando as3? vorrei fare una semplice scrollbar con i soli due pulsanti


  • User Newbie

    come non detto, ce l'ho fatta, non collegavo bene la movie clip . grazie di tutto.


  • Super User

    Sono contento che hai risolto da solo perchè io sinceramente di as3 ne so molto poco, ma se posti cosa hai fatto magari può servire ad altri oltre che a me, grazie ciao.


  • User Newbie

    mi scuso per il ritardo, lo posto ora il codice:

    mov_clip è la clip filmato che contiene il testo
    down_mc e up_mc sono i pulsanti per andare giù e per andare su nelo scorrimento del testo e sono anch'essi delle clip filmato.
    scroller_mc è la clip filmato che scorre lungo una linea e indica in che punto si sta scorrendo il testo. I valori numerici cambiano a seconda della lunghezza che si dà alla scrollbar. scrollV indica il "salto"

    //ecco il codice
    up_mc.addEventListener(MouseEvent.CLICK, upScroll);
    var textzone = mov_clip;
    function upScroll(event:MouseEvent):void {
    trace(textzone.scrollV);
    textzone.scrollV-=2;
    }
    down_mc.addEventListener(MouseEvent.CLICK, downScroll);
    function downScroll(event:MouseEvent):void {
    trace(textzone.scrollV);
    textzone.scrollV+=2;
    }
    scroller_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragSlider);
    stage.addEventListener(MouseEvent.MOUSE_UP, dropSlider);
    var bounds:Rectangle=new Rectangle(scroller_mc.x,scroller_mc.y,0,243);
    var dragging:Boolean=false;
    function dragSlider(event:MouseEvent):void {
    scroller_mc.startDrag(false,bounds);
    dragging=true;
    }
    function dropSlider(event:MouseEvent):void {
    scroller_mc.stopDrag();
    dragging=false;
    }
    function checkSlider(event:Event):void {
    textzone.scrollV = Math.round ((scroller_mc.y - bounds.y)* textzone.maxScrollV/243);
    }
    stage.addEventListener(Event.ENTER_FRAME, checkSlider);
    function textScrolled(event:Event):void {
    scroller_mc.y = bounds.y + (textzone.scrollV * 243/textzone.maxScrollV);
    }
    textzone.addEventListener(Event.SCROLL, textScrolled);


  • Super User

    Bene grazie, ciao.