{lang: 'de'}
Flashhilfe.de - Flash Community

Probleme bei Texte aus XML dynamisch auslesen [Flash CS4]

 


AntwortenRegistrieren Seite1 2 3 4 5 6 7  

Purgar#1
Benutzerbild von Purgar
Beiträge: 151
Registriert: May 2010

20.12.2010, 15:33

Guten Tag liebe Flashgemeinde,

habe da mal eine Frage. Quäle mich hier jetzt seit Stunden mit ner XML rum, die ich in Flash reinlade und verarbeite. Das soll nämlich alles dynamisch passieren. Bei den Images klappt das. Sobald ich einen neuen Pfad für eine Grafik in der XML eingebe, wird diese auch in Flash erkannt und in den MovieClip, wo ich die images einfüge, reingeladen.
Aber bei den Texten habe ich ein Problem..ich will dies auch so hinbekommen, dass ich nicht immer wieder ein neues Textfeld in Flash erstellen muss, sobald ich einen neuen Text in der XML einfüge, der ausgelesen werden soll. Es soll auch da dynamisch passieren. Wie geht das?
Ein kleiner Auszug meiner XML:

PHP:
1
2
3
4
5
6
7
8
9
<images>
<gallery title="weihnachten"/>
<image src="images/tn/test.jpg" url="images/test.jpg" />

<gallery title="neujahr"/>
<image src="images/tn/10.jpg" url="images/10.jpg" />

</images>

so mir geht es jetzt um die gallery title.  Die sollen beide in Flash angezeigt werden und sobald ich eine neue gallery hinzufüge in der xml, auch in flash eingelesen und angezeigt werden.
Geändert von Purgar am 20.12.10 um 15:37 Uhr
Sleepingbeast#2
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

20.12.2010, 16:32

Hallo Purgar,

grundsätzlich würde ich die XML erstmal ein klein wenig anders strukturieren. Statt die Elemente <gallery> und <image> in der gleichen Hierarchieebene anzuordnen, ist es sinnvoller die <image>-Elemente zu Kindelementen von <gallery> zu machen. Also:
ActionScript:
1
2
3
4
5
6
7
8
9
10
<images>
  <gallery title="weihnachten">
    <image src="images/tn/10.jpg" url="images/10.jpg" />
    <image src="images/tn/11.jpg" url="images/11.jpg" />
    <image src="images/tn/12.jpg" url="images/12.jpg" />
  </gallery>
  <gallery title="eine andere Galerie">
    <image....../>
  </gallery>
</images>


Zu deiner eigentlichen Frage:
Wenn du den MovieClip, in den du die Bilder reinlädst ohnehin in der Bibliothek liegen hast und per Script auf die Bühne addest, kannst du innerhalb dieses MovieClips einfach noch ein dynamisches Textfeld erstellen, in welches dann der Inhalt des title-Attributs geschrieben wird.
Ansonsten kannst du die natürlich das Textfeld auch komplett dynamisch per Script mit
ActionScript:
1
2
var deinTextfeld:TextField = new TextField()
...

erzeugen.


Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
Geändert von Sleepingbeast am 20.12.10 um 16:33 Uhr
Purgar#3
Benutzerbild von Purgar
Beiträge: 151
Registriert: May 2010

Themenautor/in

21.12.2010, 16:07

oh ok, das habe ich soweit hinbekommen. wie kann ich denn jetzt nur die elemente laden, die unte der dementpsprechenden Gallery beigefügt worden sind.
Sprich ich habe Weihnachten als Gallerynamen und soblad ich darauf klicke, sollen auch nur die Bilder, die dort angegeben worden sind, geladen werden
RustyCake#4
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

21.12.2010, 16:15

Zeig mal bitte Deine Bisherigen Scripts, den XML-Loader die Button_scripts etc.
Und sollen alle Bilder geladen werden (wenn man auf Weihnachten klickt) , oder eins nach dem anderen?
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Purgar#5
Benutzerbild von Purgar
Beiträge: 151
Registriert: May 2010

Themenautor/in

22.12.2010, 12:55

also die XML sieht so aus

PHP:
1
2
3
4
5
6
7
8
9
10
11
<images>
  <gallery title="weihnachten">
    <image src="images/tn/10.jpg" url="images/10.jpg" />
    <image src="images/tn/11.jpg" url="images/11.jpg" />
    <image src="images/tn/12.jpg" url="images/12.jpg" />
  </gallery>
  <gallery title="Neujahr">
    <image....../>
  </gallery>
</images>


und so lade ich die XML ein...
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
   
var xmlPath:String = "image-scroller.xml";
xmlLoader.load(new URLRequest(xmlPath));
trace("loading xml from: " + xmlPath);

function LoadXML(e:Event):void {
     trace("xml loading complete");
     
     xmlData = new XML(e.target.data);
     //trace(xmlData.image);
   buildScroller(xmlData.gallery.image);
     buildScroller2(xmlData.gallery);
     trace(xmlData.gallery);
}
var gallery:String;
var large:MovieClip = new MovieClip();
addChild(large);
var ldr2:Loader = new Loader();   
var ldr3:Loader = new Loader();   
large.addChild(ldr2);
var source_:String;
var scroller:MovieClip = new MovieClip();
var scroller2:MovieClip = new MovieClip();
var speed:Number;
var padding:Number = 20;
var padding2:Number = .5;
var thumbFadeOut:Number = .2;
var thumbFadeIn:Number = 1;
var thumbSmall:Number = 1;
var thumbLarge:Number = 1.1;
var id:String;

this.addChild(scroller);
this.addChild(scroller2);
scroller.y = scroller.x = padding;

function buildScroller(imageList:XMLList):void{
     trace("build Scroller");
     for (var item:uint = 0; item < imageList.length(); item++ )  {
        
        var thisOne:MovieClip = new MovieClip();
        
        var blackBox:Sprite = new Sprite();
        blackBox.graphics.beginFill(0xFFFFFF);
        blackBox.graphics.drawRect( -1, -1, 142, 107);
        blackBox.alpha = thumbFadeOut;
        thisOne.addChild(blackBox);
        thisOne.blackBox = blackBox;
        //thisOne.y = 200;
      thisOne.x = thisOne.myx = (140 + padding) * item;
        
        thisOne.itemNum = item;
        
        thisOne.id = imageList[item].attribute("id");
        thisOne.link = imageList[item].attribute("url");
        thisOne.src = imageList[item].attribute("src");
        source_ = thisOne.src;
      
        
        var thisThumb:Sprite = new Sprite();
        
        trace ("ID " + thisOne.id);
        
        
        var ldr:Loader = new Loader();
        var urlReq:URLRequest = new URLRequest(thisOne.src);
        trace("loading thumbnail "+item+" into Scroller: " + thisOne.src);
        ldr.load(urlReq);
        
        
        
        ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
        ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
        thisThumb.addChild(ldr);
        thisOne.addChild(thisThumb);
        
     
        thisOne.buttonMode = true;
        
        thisOne.addEventListener(MouseEvent.MOUSE_OVER, overScrollerItem);
        thisOne.addEventListener(MouseEvent.MOUSE_OUT, outScrollerItem);
        thisOne.addEventListener(MouseEvent.CLICK, clickScrollerItem);
        
     
        scroller.y = 300;
        scroller.addChild(thisOne);
        scroller.alpha = 0.7;
        scroller.scaleX = 0.6;
        scroller.scaleY = 0.6;
        
        scroller.addEventListener(Event.ENTER_FRAME, moveScrollerThumbs);
        
     }
     }
   function buildScroller2(imageList2:XMLList):void{
     
     for (var itema:uint = 0; itema < imageList2.length(); itema++ )  {
           
           
           var gallery_text:TextField = new TextField();
           var gallery:String;
        var thisOne2:MovieClip = new MovieClip();
        thisOne2.y = thisOne2.myy = (20 + padding2) * itema;
        thisOne2.itemNum = itema;
        thisOne2.ID = imageList2.image[itema].attribute("id");
        trace("WICHTIGE ID" + thisOne2.ID);
        trace("LISTE " + imageList2);
        thisOne2.id = imageList2[itema].attribute("id");
        gallery_text.text =  imageList2[itema].attribute("title");
        
        trace("NAMEN" +thisOne2.gallery);
        
     
        
        
          gallery_text.textColor = 0xFFFFFF;
        gallery_text.selectable = false;
        addChild(gallery_text);
        
        gallery_text.wordWrap = true;
        
         
         
        thisOne2.addChild(gallery_text);
        thisOne2.buttonMode = true;
        thisOne2.addEventListener(MouseEvent.ROLL_OVER, overScrollerItem2);
        thisOne2.addEventListener(MouseEvent.MOUSE_OUT, outScrollerItem2);
        thisOne2.addEventListener(MouseEvent.CLICK, clickScrollerItem2);
        scroller2.y = 30;
        scroller2.addChild(thisOne2);
        scroller2.alpha = 0.7;
        scroller2.scaleX = 0.6;
        scroller2.scaleY = 0.6;
     
        trace("gallery" + thisOne2.gallery);
     scroller2.addEventListener(Event.ENTER_FRAME, moveScrollerThumbs2);
     trace("termination of build scroller");
     
        
        
        addChild(thisOne2);
 
     
     
     }
     }
RustyCake#6
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

22.12.2010, 14:25

Du mußt das anders angehen.
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var dataArray:Array = [];
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener (Event.COMPLETE, LoadXML);
var xmlPath:String = "image.xml";
xmlLoader.load (new URLRequest(xmlPath));
function LoadXML (e:Event):void
{
     xmlData = new XML(e.target.data);
     for (var i:uint =0; i<xmlData.gallery.image.length(); i++)
     {
        dataArray[i] = [];
        dataArray[i][0] = xmlData.gallery.image[i]. @ src;
        dataArray[i][1] = xmlData.gallery.image[i]. @ url;
        trace(dataArray[i][0])
        trace(dataArray[i][1])
     }
}
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Purgar#7
Benutzerbild von Purgar
Beiträge: 151
Registriert: May 2010

Themenautor/in

29.12.2010, 11:35

oh ok..aber irgendwie komme ich echt nicht weiter...bei mir sieht das jetzt erstmal so aus

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
var xmlLoader:URLLoader = new URLLoader();

xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
   
var xmlPath:String = "image-scroller.xml";
xmlLoader.load(new URLRequest(xmlPath));
trace("loading xml from: " + xmlPath);

function LoadXML(e:Event):void {
     trace("xml loading complete");
        var xml_dokument:XML = new XML(e.target.data);
     xml_dokument.ignoreWhitespace = true;
     xml_dokument.ignoreComments = true;
     trace("XML Komplett" +xml_dokument.gallery);
 
 
 
  //build scroller from xml

     
     for (var item:uint = 0; item < xml_dokument.gallery.image.length(); item++ )  {
        dataArray[item] = [];
        var thisOne:MovieClip = new MovieClip();
        var blackBox:Sprite = new Sprite();
        blackBox.graphics.beginFill(0xFFFFFF);
        blackBox.graphics.drawRect( -1, -1, 142, 107);
        blackBox.alpha = thumbFadeOut;
        thisOne.addChild(blackBox);
        thisOne.blackBox = blackBox;
        
        thisOne.x = thisOne.myx = (140 + padding) * item;
        
        thisOne.itemNum = item;
          dataArray[item][0] = xml_dokument.gallery.image[item].@src;
          dataArray[item][1] = xml_dokument.gallery.image[item].@url;
        dataArray[item][2] = xml_dokument.gallery.image[item].@id;
        dataArray[item][3] = xml_dokument.gallery.@title;
        trace("SOURCE" +dataArray[item][0]);
          trace("URL" + dataArray[item][1]);
        trace("ID" + dataArray[item][2]);
        trace("TITLE" + dataArray[item][3]);
        
        thisOne.link = dataArray[item][1];
        thisOne.src  =dataArray[item][0];
        thisOne.id = dataArray[item][2];
     
        trace("URLTHISONE" + thisOne.link);
        
        var thisThumb:Sprite = new Sprite();
        
        trace ("ID " + thisOne.id);
        
        var ldr:Loader = new Loader();
        var urlReq:URLRequest = new URLRequest(thisOne.src);
        trace("loading thumbnail "+item+" into Scroller: " + thisOne.src);
        ldr.load(urlReq);
        
        thisThumb.addChild(ldr);
        thisOne.addChild(thisThumb);
        
        ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
        ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
        
        
        
        thisOne.buttonMode = true;
        
        thisOne.addEventListener(MouseEvent.MOUSE_OVER, overScrollerItem);
        thisOne.addEventListener(MouseEvent.MOUSE_OUT, outScrollerItem);
        thisOne.addEventListener(MouseEvent.CLICK, clickScrollerItem);
        
        
        scroller.y = 300;
        scroller.addChild(thisOne);
        scroller.alpha = 0.7;
        scroller.scaleX = 0.6;
        scroller.scaleY = 0.6;
        
        
        scroller.addEventListener(Event.ENTER_FRAME, moveScrollerThumbs);
     
     for (var itema:uint = 0; itema < xml_dokument.gallery.length(); itema++ )  {
        var thisOne2:MovieClip = new MovieClip();
        thisOne2.y = thisOne2.myy = (20 + padding2)*itema;
        thisOne2.itemNum = itema;
        var gallery_text:TextField = new TextField();
        gallery_text.text = xml_dokument.gallery[itema].@title;
        
        gallery_text.textColor = 0xFFFFFF;
        gallery_text.selectable = false;
        
        
        gallery_text.wordWrap = true;
        
         
          thisOne2.addChild(gallery_text);
        thisOne2.addEventListener(MouseEvent.ROLL_OVER, overScrollerItem2);
        thisOne2.addEventListener(MouseEvent.MOUSE_OUT, outScrollerItem2);
        thisOne2.addEventListener(MouseEvent.CLICK, clickScrollerItem2);
        scroller2.y = 30;
        scroller2.addChild(thisOne2);
        scroller2.alpha = 0.7;
        scroller2.scaleX = 1;
        scroller2.scaleY = 1;
     }
     }
     }
RustyCake#8
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

29.12.2010, 14:46

Ja schön, bin nicht so gut im Hellsehen, könntest Du auch noch sagen wo es hackt, oder Dein Script wenigstens Kommentieren?
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Purgar#9
Benutzerbild von Purgar
Beiträge: 151
Registriert: May 2010

Themenautor/in

01.01.2011, 22:45

hey sorry, das ich letztens so voreilig war..also Sinn und Zweck der ganzen Sache ist, eine Flashgallery zu erstellen. DAfür brauche ich einmal den Titel der jeweiligen Gallery, die in der swf angezeigt werden soll und wenn ich auf den dementpsprechenden Titel klicke, soll sich eine thumbnail-gallery öffnen. Alles sollte dynamisch passieren. Keine festen Werte oder so, sondern ich kann so viele Bilder oder die Pfade zu den Bildern in die XML einfügen, wie ich möchte..desweiteren sollten sich auch immer wieder neue gallerien erstellen lassen können.
ich bin soweit, dass ich bilder einladen kann, soviele wie ich möchte, und das die titel angzeigt werden, die dann auch einzeln anklickbar sind.
aber irgendwie funktioniert das nicht zusammen. Nur immer getrennt voneinander...sobald ich die beiden irgendwie in Verbindung setzen möchte, wird nicht mehr alles richtig angzeigt.
ICh schicke mal das Script mit
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
var scroller:MovieClip = new MovieClip();
var scroller2:MovieClip = new MovieClip();
var scroller3:MovieClip = new MovieClip();
var speed:Number;
var padding:Number = 20;
var padding2:Number = .5;
var thumbFadeOut:Number = .2;
var thumbFadeIn:Number = 1;
var thumbSmall:Number = 1;
var thumbLarge:Number = 1.1;
var id:String;
var images = [];
var dataArray:Array = [];
this.addChild(scroller);
this.addChild(scroller2);
scroller.y = scroller.x = padding;
scroller2.y = scroller2.x = padding;
scroller3.y = scroller3.x = padding;
//load xml
var xmlLoader:URLLoader = new URLLoader();

xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
   
var xmlPath:String = "image-scroller.xml";
xmlLoader.load(new URLRequest(xmlPath));

function LoadXML(e:Event):void {
     
        var xml_dokument:XML = new XML(e.target.data);
     xml_dokument.ignoreWhitespace = true;
     xml_dokument.ignoreComments = true;    //trace("XML Komplett" +xml_dokument.gallery.image);
   
 
 
  //build scroller from xml

     
     for (var item:uint = 0; item < xml_dokument.gallery.image.length(); item++ )  {
        dataArray[item] = [];      
        var thisOne:MovieClip = new MovieClip();
        var blackBox:Sprite = new Sprite();
        blackBox.graphics.beginFill(0xFFFFFF);
        blackBox.graphics.drawRect( -1, -1, 142, 107);
        blackBox.alpha = thumbFadeOut;
        thisOne.addChild(blackBox);
        thisOne.blackBox = blackBox;
        
        thisOne.x = thisOne.myx = (140 + padding) * item;
        
        thisOne.itemNum = item;
          dataArray[item][0] =xml_dokument.gallery.image[item].attribute("src");
        
        
        
           ;
        thisOne.src  =dataArray[item][0];
        
        
        //trace("URLTHISONE" + thisOne.link);
      
        var thisThumb:Sprite = new Sprite();
        // gallery text container
      //trace ("ID " + thisOne.id);
      //add image
      //thisThumb.y = 200;
      var ldr:Loader = new Loader();
        var urlReq:URLRequest = new URLRequest(thisOne.src);
        trace("loading thumbnail "+item+" into Scroller: " + thisOne.src);
        ldr.load(urlReq);
        //trace("gallery" + gallery);
      thisThumb.addChild(ldr);
        thisOne.addChild(thisThumb);
        //assign event listeners for Loader
      ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
        ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
        
        
        //create listeners for this thumb
      thisOne.buttonMode = true;
        //addChild(thisOne);
      thisOne.addEventListener(MouseEvent.MOUSE_OVER, overScrollerItem);
        thisOne.addEventListener(MouseEvent.MOUSE_OUT, outScrollerItem);
        thisOne.addEventListener(MouseEvent.CLICK, clickScrollerItem);
        
        //add item
      scroller.y = 300;
        scroller.addChild(thisOne);
        scroller.alpha = 0.7;
        scroller.scaleX = 0.6;
        scroller.scaleY = 0.6;
        //scroller.visible = false;
      //add gallery title
      scroller.addEventListener(Event.ENTER_FRAME, moveScrollerThumbs);
        //scroller.visible = false;
   //
   
        var thisOne2:MovieClip = new MovieClip();
        var thisOne3:MovieClip = new MovieClip();
        
        thisOne2.y = thisOne2.myy = (20 + padding)*item;
        thisOne3.x = thisOne3.myx = (140 + padding)*(item -item +1);
        thisOne2.itemNum = item;
        
        var gallery_text:TextField = new TextField();
        var url_text:TextField = new TextField();
        gallery_text.text = xml_dokument.gallery.image[item].parent().parent().title;
        
        
        gallery_text.textColor = 0xFFFFFF;
        gallery_text.selectable = false;
        
        
        gallery_text.wordWrap = true;
        
         
          thisOne2.addChild(gallery_text);
        thisOne2.addEventListener(MouseEvent.ROLL_OVER, overScrollerItem2);
        thisOne2.addEventListener(MouseEvent.MOUSE_OUT, outScrollerItem2);
        thisOne2.addEventListener(MouseEvent.CLICK, clickScrollerItem2);
        scroller2.y = 30;
        scroller2.addChild(thisOne2);
        scroller2.alpha = 0.7;
        scroller2.scaleX = 1;
        scroller2.scaleY = 1;
        
     //trace("clicked item " + e.currentTarget.itemNum + " - visit url: " + e.currentTarget.link);
   //scroller.visible = true;
   
     //var thisThumb1:MovieClip = new MovieClip();
   //thisThumb2.addChild(ldr2);
   // e.currentTarget.id = scroller;
   
        //addChild(thisOne3);
      
        
     
     
 
        
     
 
     
     
     }   
}
   function clickScrollerItem2(e:MouseEvent):void {
     //var ldr3:Loader = new Loader();
      /*var urlReq3:URLRequest = new URLRequest(e.currentTarget.thumbs);
        //trace("loading thumbnail "+itema+" into Scroller: " + url_text.text);
      var thisThumb2:Sprite = new Sprite();
        ldr3.load(urlReq3);
        //trace("gallery" + gallery);
      thisThumb2.addChild(ldr3);
        large2.addChild(thisThumb2);
        scroller3.y = 30;
        ldr3.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler2);
        ldr3.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler2);
     scroller3.addChild(large2);
        scroller3.alpha = 0.7;
        scroller3.scaleX = 1;
        scroller3.scaleY = 1; */

     
}

      function completeHandler2(e:Event):void {
     //trace("thumbnail complete "+e.target.loader.parent.parent.name);
   //size image into scroller
   resizeMe(e.target.loader.parent, 140, 105, true, true, false);
     Tweener.addTween(e.target.loader.parent.parent, { alpha:1, time: .5 } );
}
function errorHandler2(e:IOErrorEvent):void {
     //trace("thumbnail error="+e);
}
   
   function completeHandler(e:Event):void {
     //trace("thumbnail complete "+e.target.loader.parent.parent.name);
   //size image into scroller
   resizeMe(e.target.loader.parent, 140, 105, true, true, false);
     Tweener.addTween(e.target.loader.parent.parent, { alpha:1, time: .5 } );
}
function errorHandler(e:IOErrorEvent):void {
     //trace("thumbnail error="+e);
}




function resizeMe(mc:DisplayObject, maxW:Number, maxH:Number=0, constrainProportions:Boolean=true, centerHor:Boolean=true, centerVert:Boolean=true):void{
      maxH = maxH == 0 ? maxW : maxH;
      mc.width = maxW;
      mc.height = maxH;
      if (constrainProportions) {
          mc.scaleX < mc.scaleY ? mc.scaleY = mc.scaleX : mc.scaleX = mc.scaleY;
      }
     if (centerHor) {
        mc.x = (maxW - mc.width) / 2;
     }
     if (centerVert){
        mc.y = (maxH - mc.height) / 2;
     }
}

function moveScrollerThumbs(e:Event):void {
     if ( mouseY > scroller.y && mouseY < scroller.y + scroller.height) {//vertically over scroller
      if (mouseX < stage.stageWidth/2 - padding*2 && mouseX > 0) {//left of stage explicitly
         speed = -(mouseX - (stage.stageWidth/2 - padding*2)) / 8;
        }
        else if (mouseX > stage.stageWidth/2 + padding*2 && mouseX < stage.stageWidth) {//right of stage explicitly
         speed = -(mouseX - (stage.stageWidth/2 + padding*2)) / 8;
        }
        else {
           speed = 0;
        }
        scroller.x += speed;
        
        //scroller limits
      if (scroller.x < -scroller.width + stage.stageWidth - padding) { //if scrolled too far left
         scroller.x = -scroller.width + stage.stageWidth - padding;
        }
        else if (scroller.x > padding) { //if scrolled to far right
         scroller.x = padding;
        }
     }
}
function overScrollerItem(e:MouseEvent):void {
     //trace("over" + e.currentTarget.name);
   Tweener.addTween(e.currentTarget, { scaleX:1.2, scaleY:1.2, x:e.currentTarget.myx - e.currentTarget.width * Math.abs(thumbSmall - thumbLarge)/2, y: -e.currentTarget.width * Math.abs(thumbSmall - thumbLarge)/2, time:1 } );
     Tweener.addTween(e.currentTarget.blackBox, { alpha:1, time: 1 } );
     scroller.alpha =1 ;
}
function outScrollerItem(e:MouseEvent):void {
     //trace("out" + e.currentTarget.name);
   Tweener.addTween(e.currentTarget, { scaleX:thumbSmall, scaleY:thumbSmall, x:e.currentTarget.myx, y:0, time:1 } );
     Tweener.addTween(e.currentTarget.blackBox, { alpha:thumbFadeOut, time: 1 } );
     scroller.alpha = 0.6;
}
function clickScrollerItem(e:MouseEvent):void {
     //trace("clicked item " + e.currentTarget.itemNum + " - visit url: " + e.currentTarget.link);
   var thisThumb2:Sprite = new Sprite();
     
      var urlRequest:URLRequest = new URLRequest(e.currentTarget.link);   
     ldr2.load(urlRequest);
     //thisThumb2.addChild(ldr2);

     large.x = 150;
     large.y = 50;
     large.scaleY = 0.35;
     large.scaleX = 0.5;
     
     
}

function overScrollerItem2(e:MouseEvent):void {
     //trace("over" + e.currentTarget.name);
   Tweener.addTween(e.currentTarget, { scaleX:1.5, scaleY:1.5} );
     //Tweener.addTween(e.currentTarget.blackBox, { alpha:1, time: 0.5 } );
   scroller2.alpha =1 ;
}
function outScrollerItem2(e:MouseEvent):void {
     //trace("out" + e.currentTarget.name);
   Tweener.addTween(e.currentTarget, { scaleX:1, scaleY:1,  time:1 } );
     //Tweener.addTween(e.currentTarget.blackBox, { alpha:thumbFadeOut, time: 0.5 } );
   scroller2.alpha = 0.6;
}


sorry, sieht alles etwas unübersichtlich aus, aber ich veränder immer wieder viel und füge neues ein, lösche altes raus...

und hier die XML
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<images>
<gallery id ="01">
<title>weihnachten</title>

<image src = "images/tn/1.jpg" />
<image src = "images/tn/2.jpg" />
<image src = "images/tn/3.jpg" />
<image src = "images/tn/4.jpg" />
<image src = "images/tn/5.jpg" />
<image src = "images/tn/6.jpg" />

</gallery>

</images>
Geändert von Purgar am 02.01.11 um 10:47 Uhr
RustyCake#10
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

02.01.2011, 14:03

Das Ding hat ca. 250 Zeichen, kannst Du nicht ein bisschen eingrenzen, wo Du denkst das der Fehler ist.
In der Zeit wo ich hier einen Fehler suche, schreib ich mir das Teil neu.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Purgar#11
Benutzerbild von Purgar
Beiträge: 151
Registriert: May 2010

Themenautor/in

02.01.2011, 14:07

man man, erst zu wenig, jetzt zu viel ;-)...das problem liegt in der loadXML function. irgendwie will ich es ja schaffen, dass ich den title auslesen kann und die immer dazugehörigen urls der einzelnen images, die dem dementsprechendem title untergeordnet sind.
RustyCake#12
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

02.01.2011, 14:23

Das hab ich glaube ich auch schon beschrieben, alles in die LoadXML rein zu stopfen, macht das es schwer die Einzelteile zu handeln.
Und auch schwer zu lesen, btw.

//************************************************************************//
Wo finde ich dieses Problem?
**************************************************************************
...sobald ich die beiden irgendwie in Verbindung setzen möchte, wird nicht mehr alles richtig angzeigt.
//************************************************************************//
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Purgar#13
Benutzerbild von Purgar
Beiträge: 151
Registriert: May 2010

Themenautor/in

02.01.2011, 14:45

ah ok..also ich könnte ja auch verschiedene dinge ausserhalb dieser loadXML definieren, aber das hilft mir glaube ich erstmal nicht bei meiner Problemlösung weiter oder?
RustyCake#14
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

02.01.2011, 16:29

OK. Denke ich zwar anders drüber aber Egal.
Der Punkt ist, ich würde gerne wissen, wo in Deinem Script Du die Probleme siehst, Du kannst die werte tracen, ich nicht, also hätte ich gerne einen Tipp wo Du selbst das Problem siehst.
Und wo verbindest Du "die beiden"!
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Purgar#15
Benutzerbild von Purgar
Beiträge: 151
Registriert: May 2010

Themenautor/in

02.01.2011, 17:03

ja ich nehme mir gern andere vorgehensweisen an..bin da total offen ;-)...nur dann würd ich mich freuen, wenn ich das visuell greifen kann..so dass ich das auch lernen kann...
ich kann alles aus der xml in flash einbinden..arbeite auch sehr viel mit trace..habe ich jetzt nur aus dem beispielscript entfernt..mein problem liegt darin, dass ich den text "weihnachten" angezeigt bekommen wil, was auch funktioniert, aber ich will für den titel auch die dementsprechenden bilder auslesen..das problem liegt darin, dass ich die beiden sachen nicht in verbindung bringen kann...wenn ich den in der for-schleife " i kleiner xml_dokument.gallery.image.length();" defniere, habe ich die komplette gallery aber auch dementsprechnd sechs mal den text weihnachten...
wenn ich in der schleife " i kleiner xml_dokument.gallery.length();" stehen habe, habe ich den text, wie gewünscht nur einmal, aber er liest mir auch nur das erste bild aus...
RustyCake#16
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

02.01.2011, 17:46

Nimm den titel aus der Galerie raus.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<images>
<title>weihnachten</title>
<gallery id ="01">
<image src = "images/tn/1.jpg" />
<image src = "images/tn/2.jpg" />
<image src = "images/tn/3.jpg" />
<image src = "images/tn/4.jpg" />
<image src = "images/tn/5.jpg" />
<image src = "images/tn/6.jpg" />
</gallery>
</images>

Und lies den aus, bevor Du in eine die for-schleife gehst!
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"

AntwortenRegistrieren Seite1 2 3 4 5 6 7  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Das Leben geht weiter [Flash CS5] 12.01.2021 - Indy_Crossover
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de