Antworten auf deine Fragen:
Neues Thema erstellen

[AS2] XML laden

mave

Nicht mehr ganz neu hier

Hallo ich würde gerne Code aus einer XML Datei in Flash laden.... blos ich probier schon 10h jetzt rum und bekommst mit den Nodes irgendwie incht gebacken... denk ich zumindest... wenn jemand helfen kann wäre super, hier mal der Code:

Code:
import mx.utils.Delegate;
import mx.transitions.Tween;
import mx.transitions.easing.*;
//Anzahl der Produkte
var numOfItems:Number;
//Radius der Drehung mittels X & Y
var radiusX:Number = 300;
var radiusY:Number = 50;
//Definition des Zentrums der Drehung
var centerX:Number = Stage.width / 2;
var centerY:Number = Stage.height / 2;
//Geschwindigkeit der Drehung
var speed:Number = 0.005;
//Definition der Perspektive
var perspective:Number = 0;
//Umgehung von _root
var home:MovieClip = this;
theText._alpha = 0;
//Laden des MoveClip von Tooltip
var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
//Alphawert von Tooltip zu beginn
tooltip._alpha = 0;
//Erstellen des XML Objekts
var xml:XML = new XML();
xml.ignoreWhite = true;
//XML wenn geladen wird, dann...
xml.onLoad = function()
{
 var nodes = this.firstChild.childNodes;
 //Festlegen der Anzahl der Produkte
 numOfItems = nodes.length;
 //Produkte in der Präsentation
 for(var i=0;i<numOfItems;i++)
 {
  //Produktvariable
  var t = home.attachMovie("item","item"+i,i+1);
  //Gleiche Verteilung der Produkte in der Drehung
  t.angle = i * ((Math.PI*2)/numOfItems);
  //Animation bzw. Bewegung der Produkte mittels Funktion mover
  t.onEnterFrame = mover;
  //Laden des Tooltip Text aus XML
  t.toolText = nodes[i].attributes.tooltip;
  //Laden des Content Text aus XML
  t.content = nodes[i].attributes.content;
  //Laden der Bilder aus XML
  t.icon.inner.loadMovie(nodes[i].attributes.image);
  //Laden der Bilder aus XML für Reflektion
  t.r.inner.loadMovie(nodes[i].attributes.image);
  //Rollover-Funktion
  t.icon.onRollOver = over;
  //Rollout-Funktion
  t.icon.onRollOut = out;
  //Aufrufen der Released Funktion
  t.icon.onRelease = released;
 }
}
function over()
{
 //Aufrufen des Tooltiptextes
 home.tooltip.tipText.text = this._parent.toolText;
 //Positionierung des Tooltips
 home.tooltip._x = this._parent._x;
 home.tooltip._y = this._parent._y - this._parent._height/2;
 //Bewegung des Tooltips mit dem Produkt
 home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
 //Alphawer für Tooltip bei Over
 home.tooltip._alpha = 100;
}
function out()
{
 //Ausblenden des Tooltip bei Out
 delete home.tooltip.onEnterFrame;
 //Alphawert für Tooltip bei Out
 home.tooltip._alpha = 0;
}
function released()
{
 //Tooltip bei Content anzeigen
 home.tooltip._alpha = 100;
 //Produkte auslbenden bis auf das angeklickte
 for(var i=0;i<numOfItems;i++)
 {
  //Variable t für das ausgewählte Produkt
  var t:MovieClip = home["item"+i];
  //Neue Positionierung des ausgewählten Produkts
  t.xPos = t._x;
  t.yPos = t._y;
  t.theScale = t._xscale;
  //Deaktivieren der Funktionen Over, Out und Release sowie Enter
  delete t.icon.onRollOver;
  delete t.icon.onRollOut;
  delete t.icon.onRelease;
  delete t.onEnterFrame;
  //Prüfen ob Produkt geklickt wurde
  if(t != this._parent)
  {
   //Animation die abgespielt wird, wenn das Produkt nicht das ausgewählte ist
   var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,0,1,true);
   var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,0,1,true);
   var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,100,0,1,true);
  }
  else
  {
   //Animation die abgespielt wird, wenn das Produkt das ausgewählt ist
   var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,100,1,true);
   var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,100,1,true);
   var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,200,1,true);
   var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,320,1,true);
   var tw5:Tween = new Tween(theText,"_alpha",Strong.easeOut,0,100,1,true);
   //Laden des Content Texts
   theText.htmlText = t.content;
   var s:Object = this;
   tw.onMotionStopped = function()
   {
    s.onRelease = unReleased;
   }
  }
 }
}
function unReleased()
{
 home.tooltip._alpha = 0;
 delete this.onRelease;
 var tw:Tween = new Tween(theText,"_alpha",Strong.easeOut,100,0,0.5,true);
 for(var i=0;i<numOfItems;i++)
 {
  var t:MovieClip = home["item"+i];
  if(t != this._parent)
  {
   var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,0,t.theScale,1,true);
   var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,0,t.theScale,1,true);
   var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,0,100,1,true);
  }
  else
  {
   var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,100,t.theScale,1,true);
   var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,100,t.theScale,1,true);
   var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,t.xPos,1,true);
   var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,t.yPos,1,true);
   tw.onMotionStopped = function()
   {
    for(var i=0;i<numOfItems;i++)
    {
     var t:MovieClip = home["item"+i];
     t.icon.onRollOver = Delegate.create(t.icon,over);
     t.icon.onRollOut = Delegate.create(t.icon,out);
     t.icon.onRelease = Delegate.create(t.icon,released);
     t.onEnterFrame = mover;
    }
   }
  }
 }
}
//Festlegen der Position wo der Tooltip erscheint
function moveTip()
{
 home.tooltip._x = this._parent._x;
 home.tooltip._y = this._parent._y - this._parent._height/2;
}
//Laden von XML
xml.load("icons.xml");
//Funktion mover für Bewegung der Produkte
function mover()
{
 this._x = Math.cos(this.angle) * radiusX + centerX;
 this._y = Math.sin(this.angle) * radiusY + centerY;
 var s = (this._y - perspective) /(centerY+radiusY-perspective);
 this._xscale = this._yscale = s*100;
 this.angle += this._parent.speed;
 this.swapDepths(Math.round(this._xscale) + 100);
}
//Steuerung der Drehung mit der Maus
this.onMouseMove = function()
{
 speed = (this._xmouse-centerX)/35000;
}

Code:
<?xml version="1.0" encoding="utf-8"?>
<icons>
 <icon image="icon1.png">
 <tooltip><![CDATA[3 Spenderdosen]]></tooltip>
 <content><![CDATA[<li>Durch die große Öffnung der 3 zunächst leeren Spenderdosen können Sie Ihre Pflegeprodukte einfach und hygienisch füllen.</li><br><li>Durch den Verschiebbaren Boden und die kleine Entnahmeöffnung der 3 Spenderdosen können Sie Ihre Pflegeprodukte wieder einfach und hygienisch entnehmen.</li><br>]]></content>
 </icon>
 
 <icon image="icon2.png">
 <tooltip><![CDATA[VARIO<sup>1, 2, 4</sup>]]></tooltip>
 <content><![CDATA[<li>Durch die große Öffnung der 3 zunächst leeren Spenderdosen können Sie Ihre Pflegeprodukte einfach und hygienisch füllen.</li><br><li>Durch den Verschiebbaren Boden und die kleine Entnahmeöffnung der 3 Spenderdosen können Sie Ihre Pflegeprodukte wieder einfach und hygienisch entnehmen.</li><br>]]>
 </content>
 </icon>
 
 <icon image="icon3.png">
 <tooltip><![CDATA[VARIO<sup>App</sup>]]></tooltip>
 <content><![CDATA[<li>Durch die große Öffnung der 3 zunächst leeren Spenderdosen können Sie Ihre Pflegeprodukte einfach und hygienisch füllen.</li><br><li>Durch den Verschiebbaren Boden und die kleine Entnahmeöffnung der 3 Spenderdosen können Sie Ihre Pflegeprodukte wieder einfach und hygienisch entnehmen.</li><br>]]>
 </content>
 </icon>
 
 <icon image="icon4.png">
 <tooltip><![CDATA[VARIO<sup>Trans</sup>]]></tooltip>
 <content><![CDATA[<li>Durch die große Öffnung der 3 zunächst leeren Spenderdosen können Sie Ihre Pflegeprodukte einfach und hygienisch füllen.</li><br><li>Durch den Verschiebbaren Boden und die kleine Entnahmeöffnung der 3 Spenderdosen können Sie Ihre Pflegeprodukte wieder einfach und hygienisch entnehmen.</li><br>]]>
 </content>
 </icon>
 
 <icon image="icon5.png">
 <tooltip><![CDATA[BAG2FLY]]></tooltip>
 <content><![CDATA[<li>Durch die große Öffnung der 3 zunächst leeren Spenderdosen können Sie Ihre Pflegeprodukte einfach und hygienisch füllen.</li><br><li>Durch den Verschiebbaren Boden und die kleine Entnahmeöffnung der 3 Spenderdosen können Sie Ihre Pflegeprodukte wieder einfach und hygienisch entnehmen.</li><br>]]>
 </content>
 </icon>
</icons>
 

Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.940
Beiträge
1.540.016
Mitglieder
68.075
Neuestes Mitglied
falke69
Oben