- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- aiuto scrollbar
-
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
-
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.
-
Ecco perché, come dovrei fare allora usando as3? vorrei fare una semplice scrollbar con i soli due pulsanti
-
come non detto, ce l'ho fatta, non collegavo bene la movie clip . grazie di tutto.
-
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.
-
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);
-
Bene grazie, ciao.