| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: May 2003
Beiträge: 1.031
| XML und ScrollPane
Hi ! Habe ein Problem das mich schon seit Tagen beschäftigt und einfach nicht mehr ruhig schlafen lässt: Ich lese in Frame 1 eine XML Datei ein. Die Daten die aus dem XML kommen sind Pfade zu Bildern. Diese Bilder setze ich noch während der XML Abfrage in eine ScrollPane per dynamisch erzeugter MC's. Damit das ScrollPane mir die ScrollBalken anzeigt, möchte ich eine Linie von X=0 nach _global.Groesse zeichnen, wobei die Variable _global.Groesse die Anzahl meiner Bilder * 152 (die Breite eines Bildes) enthält. Problem: Die Draw Funktion ganz unten wird zuerst ausgeführt, danach wird das XML geladen das mir sagt wie breit die zu zeichnende Linie sein muss. Ergo bedeutet dies das der Wert _global.Groesse = undefined ist wenn der erste Frame aufgerufen wird. Die Linie wird nicht gezeichnet. Gibt es eine Möglichkeit die XML erst fertig zu lesen und danach die Linie zu zeichnen? Hier ein Auszug aus dem Code: Code: SlideList = new XML();
SlideList.ignoreWhite = true;
SlideList.load("SlideList.xml");
SlideList.onLoad = function(){
for() {
_global.Groesse = parseFloat(SlideList.firstChild.childNodes[i].firstChild.firstChild) *152;
}
}
with (_global.dS.sc1.content){
clear();
lineStyle(0, 0xFF0000, 0);
moveTo(0, 0);
lineTo(_global.Groesse, 100);
lineTo(_global.Groesse, 100);
lineTo(0, 0);
lineTo(0, 0);
endFill();
refresh();
} Gruß Christian Geändert von Utopian (04-03-2005 um 09:40 Uhr) |
| | |
| | #2 (permalink) |
| zimmer 101 Registriert seit: Jul 2003 Ort: LE
Beiträge: 1.581
|
schreibe die line-zeichenaktionen einfach in deine onLoad-function, nachdem du _global.Groesse zugewiesen hast (bist du dir sicher, dass die for-schleife ohne bedingungen funktioniert? da sollte schon noch sowas wie (i=0;i<SlideList.firstChild.length;i++) drinnstehen). onLoad ist asynchron, d.h. es wird erst ausgeführt, wenn das laden beendet ist, zu dem zeitpunkt wurde das zeichnen aber schon ausgeführt. l.g. rick
__________________ Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN. ricobeck.de |
| | |
| | #3 (permalink) | |
| Neuer User Registriert seit: May 2003
Beiträge: 1.031
| Zitat:
Die Linie wird zwar gezeichnet aber keine Scrollbalken angezeigt. Natürlich hat die forSchleife eine Bedingung ;-) Hier das ganze Desaster: Code: _global.br = browser;
_global.dS = this;
_global.SlideLoaded = new Array;
_global.dS.sc1.contentPath = "Slides";
_global.dS.sc1.content.createEmptyMovieClip("Zeiger",1000);
_global.dS.sc1.content.Zeiger._y = 10;
_global.dS.sc1.setStyle("borderStyle", "none");
_global.welcherSlide = 0;
SlideList = new XML();
SlideList.ignoreWhite = true;
SlideList.load("SlideList.xml");
//ZeichneScroller();
SlideList.onLoad = function(){
for(var i=0; i<SlideList.firstChild.childNodes.length; i++) {
_global.x = parseFloat(SlideList.firstChild.childNodes[i].firstChild.firstChild) *152;
_global.SlideLoaded[i] = {
PPTSlideCount: SlideList.firstChild.childNodes[i].firstChild.firstChild,
StringDuration: SlideList.firstChild.childNodes[i].firstChild.nextSibling.firstChild,
StringStartTime: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.firstChild,
StringSlideNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.firstChild,
StringSequenceNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
Sent: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
SequenceNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
PPTFileName: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
FileName: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
Status: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
HighQualitySlideName: SlideList.firstChild.childNodes[i].nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
FileThumbnailName: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
SlideNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
SlideTitle: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
StartTime: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
Duration: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild
}
_global.dS.sc1.content.createEmptyMovieClip("slide"+i,i);
_global.dS.sc1.content["slide"+i].loadMovie(SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild);
//_global.dS.sc1.content["slide"+i].attachMovie("Rahmen","Rahmen"+i,80000+i);
//_global.dS.sc1.content["slide"+i].addListener("mc_slide" + i);
_global.dS.sc1.content["slide"+i]._x = (_global.dS.sc1.content["slide"+a]._x + _global.dS.sc1.content["slide"+a]._xscale * 1.70);
//_global.dS.sc1.content["slide"+i]._y = 10;
_global.dS.sc1.content["slide"+i]._y = (140/2) - (_global.dS.sc1.content["slide"+i]._yscale/2);
var wirklicheBreite = (_global.dS.sc1.content["slide"+i]._xscale / 100) * 152;
var wirklicheHoehe = (_global.dS.sc1.content["slide"+i]._yscale / 100) * 114;
a = i;
}
}
with (_global.dS.sc1.content.Zeiger){
clear();
lineStyle(1, 0xFF0000, 100);
lineTo(0, 133);
endFill();
}
with (_global.dS.sc1.content){
clear();
lineStyle(0, 0xFF0000, 0);
moveTo(0, 0);
lineTo(_global.x, 100);
lineTo(_global.x, 100);
lineTo(0, 0);
lineTo(0, 0);
endFill();
refresh();
}
stop(); | |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: May 2003
Beiträge: 1.031
|
Das meintest du: (oder?) Code: _global.br = browser;
_global.dS = this;
_global.SlideLoaded = new Array;
_global.dS.sc1.contentPath = "Slides";
_global.dS.sc1.content.createEmptyMovieClip("Zeiger",1000);
_global.dS.sc1.content.Zeiger._y = 10;
_global.dS.sc1.setStyle("borderStyle", "none");
_global.welcherSlide = 0;
SlideList = new XML();
SlideList.ignoreWhite = true;
SlideList.load("SlideList.xml");
//ZeichneScroller();
SlideList.onLoad = function(){
for(var i=0; i<SlideList.firstChild.childNodes.length; i++) {
_global.x = parseFloat(SlideList.firstChild.childNodes[i].firstChild.firstChild) *152;
with (_global.dS.sc1.content){
clear();
lineStyle(0, 0xFF0000, 100);
moveTo(0, 0);
lineTo(_global.x, 100);
lineTo(_global.x, 100);
lineTo(0, 0);
lineTo(0, 0);
endFill();
refresh();
}
_global.SlideLoaded[i] = {
PPTSlideCount: SlideList.firstChild.childNodes[i].firstChild.firstChild,
StringDuration: SlideList.firstChild.childNodes[i].firstChild.nextSibling.firstChild,
StringStartTime: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.firstChild,
StringSlideNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.firstChild,
StringSequenceNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
Sent: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
SequenceNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
PPTFileName: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
FileName: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
Status: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
HighQualitySlideName: SlideList.firstChild.childNodes[i].nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
FileThumbnailName: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
SlideNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
SlideTitle: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
StartTime: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
Duration: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild
}
_global.dS.sc1.content.createEmptyMovieClip("slide"+i,i);
_global.dS.sc1.content["slide"+i].loadMovie(SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild);
//_global.dS.sc1.content["slide"+i].attachMovie("Rahmen","Rahmen"+i,80000+i);
//_global.dS.sc1.content["slide"+i].addListener("mc_slide" + i);
_global.dS.sc1.content["slide"+i]._x = (_global.dS.sc1.content["slide"+a]._x + _global.dS.sc1.content["slide"+a]._xscale * 1.70);
//_global.dS.sc1.content["slide"+i]._y = 10;
_global.dS.sc1.content["slide"+i]._y = (140/2) - (_global.dS.sc1.content["slide"+i]._yscale/2);
var wirklicheBreite = (_global.dS.sc1.content["slide"+i]._xscale / 100) * 152;
var wirklicheHoehe = (_global.dS.sc1.content["slide"+i]._yscale / 100) * 114;
a = i;
}
}
with (_global.dS.sc1.content.Zeiger){
clear();
lineStyle(1, 0xFF0000, 100);
lineTo(0, 133);
endFill();
}
stop(); |
| | |
| | #5 (permalink) |
| zimmer 101 Registriert seit: Jul 2003 Ort: LE
Beiträge: 1.581
|
ohne das jetzt alles gelesen zu haben, aber refresht man eine pane nicht mit Code: myScrollPane.refreshPane(); l.g. rick
__________________ Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN. ricobeck.de |
| | |
| | #6 (permalink) | |
| Neuer User Registriert seit: May 2003
Beiträge: 1.031
| Zitat:
Boah das ist echt zum Verzweifeln... Gruß Christian | |
| | |
| | #7 (permalink) |
| _______________ Registriert seit: Mar 2003 Ort: !Schnitzerland
Beiträge: 2.003
|
was das? ActionScript:
schoene gruesse
__________________ ey… be cool! Mac OS-X 10.5.6, Safari Version 4 Public Beta (5528.16), on PowerBook 12" G4 1,5 GHz, 1,25 GB RAM, FlashPlayer 9 is auch noch da, wenn ich Lust habe… |
| | |
| | #9 (permalink) |
| zimmer 101 Registriert seit: Jul 2003 Ort: LE
Beiträge: 1.581
|
ganz klar: er erspart sich die schleifen in der schleife. rafiniert. l.g. rick
__________________ Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN. ricobeck.de |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: May 2003
Beiträge: 1.031
|
Hehe ausgetrickst...das hättet ihr nicht von mir gedacht, oder? Aber zurück zu meinem Problem: Woran liegts? Gibt es vielleicht eine Möglichkeit zu prüfen ob die XML geladen wurde und dann erst die Linie zu zeichnen, danach die Bilder in die ScrollPane zu legen? Gruß Christian |
| | |
| | #11 (permalink) |
| _______________ Registriert seit: Mar 2003 Ort: !Schnitzerland
Beiträge: 2.003
| ActionScript:
schoene gruesse
__________________ ey… be cool! Mac OS-X 10.5.6, Safari Version 4 Public Beta (5528.16), on PowerBook 12" G4 1,5 GHz, 1,25 GB RAM, FlashPlayer 9 is auch noch da, wenn ich Lust habe… |
| | |
| | #12 (permalink) |
| zimmer 101 Registriert seit: Jul 2003 Ort: LE
Beiträge: 1.581
|
hänge mal bitte das fla an, sonst scrolle ich mich noch zu tode. außerdem scheinen mir ein paar } zu fehlen, bzw. an der falschen stelle zu sein. l.g. rick
__________________ Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN. ricobeck.de |
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: May 2003
Beiträge: 1.031
|
ARGH zu groß, Mist! Hier nochmal der aktuelle Code der relevant ist: Code: _global.br = browser;
_global.dS = this;
_global.SlideLoaded = new Array;
_global.dS.sc1.contentPath = "Slides";
_global.dS.sc1.content.createEmptyMovieClip("Zeiger",1000);
_global.dS.sc1.content.Zeiger._y = 10;
_global.dS.sc1.setStyle("borderStyle", "none");
_global.welcherSlide = 0;
SlideList = new XML();
SlideList.ignoreWhite = true;
SlideList.load("SlideList.xml");
//ZeichneScroller();
SlideList.onLoad = function(){
for(var i=0; i<SlideList.firstChild.childNodes.length; i++) {
_global.x = parseFloat(SlideList.firstChild.childNodes[i].firstChild.firstChild) *152;
if(i==0){
with (_global.dS.sc1.content){
//clear();
lineStyle(0, 0xFF0000, 100);
//moveTo(0, 0);
lineTo(_global.x, 100);
lineTo(_global.x, 100);
lineTo(0, 0);
lineTo(0, 0);
endFill();
}
}
_global.SlideLoaded[i] = {
PPTSlideCount: SlideList.firstChild.childNodes[i].firstChild.firstChild,
StringDuration: SlideList.firstChild.childNodes[i].firstChild.nextSibling.firstChild,
StringStartTime: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.firstChild,
StringSlideNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.firstChild,
StringSequenceNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
Sent: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
SequenceNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
PPTFileName: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
FileName: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
Status: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
HighQualitySlideName: SlideList.firstChild.childNodes[i].nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
FileThumbnailName: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
SlideNumber: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
SlideTitle: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
StartTime: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild,
Duration: SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild
}
_global.dS.sc1.content.createEmptyMovieClip("slide"+i,i);
_global.dS.sc1.content["slide"+i].loadMovie(SlideList.firstChild.childNodes[i].firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild);
//_global.dS.sc1.content["slide"+i].attachMovie("Rahmen","Rahmen"+i,80000+i);
//_global.dS.sc1.content["slide"+i].addListener("mc_slide" + i);
_global.dS.sc1.content["slide"+i]._x = (_global.dS.sc1.content["slide"+a]._x + _global.dS.sc1.content["slide"+a]._xscale * 1.70);
//_global.dS.sc1.content["slide"+i]._y = 10;
_global.dS.sc1.content["slide"+i]._y = (140/2) - (_global.dS.sc1.content["slide"+i]._yscale/2);
var wirklicheBreite = (_global.dS.sc1.content["slide"+i]._xscale / 100) * 152;
var wirklicheHoehe = (_global.dS.sc1.content["slide"+i]._yscale / 100) * 114;
a = i;
}
}
with (_global.dS.sc1.content.Zeiger){
clear();
lineStyle(1, 0xFF0000, 100);
lineTo(0, 133);
endFill();
}
stop(); |
| | |
| | #14 (permalink) |
| _______________ Registriert seit: Mar 2003 Ort: !Schnitzerland
Beiträge: 2.003
|
kannst du mal kurz zeigen wie du deine xml aufgebaut hast, weil mit deinem raffinierten feld komm ich absolut nicht klar! schoene gruesse
__________________ ey… be cool! Mac OS-X 10.5.6, Safari Version 4 Public Beta (5528.16), on PowerBook 12" G4 1,5 GHz, 1,25 GB RAM, FlashPlayer 9 is auch noch da, wenn ich Lust habe… |
| | |
| | #15 (permalink) |
| Neuer User Registriert seit: May 2003
Beiträge: 1.031
|
Hi ! Also am Aufbau und am Einlesen liegts nicht. Es liegt nur daran wie und wann die Daten eingelesen werden. Optimal wäre wohl in gleichen Frame folgendes zu haben: 1. XML Lesen 2. Linie f. ScrollPane zeichnen 3. Bilder anhand der XML Daten in ScrollPane als dyn. MCs zeichnen Wie müsste ich mein AS umstellen damit das dabei herauskommt? Gruß Christian |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |