Привет, у меня проблемы с флэш-кодом.Я думаю, что я только немного из моей глубины, поэтому любая помощь будет оценена.
У меня есть XML-файл со следующей структурой:
<buttons>
<button>
<id>Garden</id>
<xPos>99</xPos>
<yPos>364</yPos>
<content>
<![CDATA[
<h1>Walls</h1>here is information on Garden's will go here<br> enter any information you like and it will be displayed in the information panel.<br>here is a example product link: <a href="http://coccosrl.dizzyhigh.com/category/prodotti/">tutti prodotti</a><br>and here is another<a href="http://coccosrl.dizzyhigh.com/prodotti/bordi-battentati/">bordi-battentati</a><br>
]]>
</content>
</button>
<button>
..................
</button>
</buttons>
Я хочу загрузить эти данные вмигать, и чтобы кнопки отображались на экране в соответствующих координатах x / y.При нажатии кнопки для отображения информации из узла содержимого для связанной кнопки.
, однако у меня возникают проблемы с получением данных для узла содержимого для отслеживания в окне вывода.
какя могу сослаться на узел содержимого из xml для связанной кнопки?
frame1 Code:
stop();
import myGlobal;
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, showXML);
xmlLoader.load(new URLRequest("buttons.xml"));
function showXML(e:Event):void {
XML.ignoreWhitespace = true;
myGlobal.buttonData = new XML(e.target.data);
trace(myGlobal.buttonData.button.length());
gotoAndStop("main");
}
frame 2 Code (main):
stop();
var i:Number;
for (i=0; i < myGlobal.buttonData.button.length(); i++) {
trace(" name of button: "+ myGlobal.buttonData.button[i].title.text());
trace(" xPos: "+ myGlobal.buttonData.button[i].xPos.text());
trace(" yPos: "+ myGlobal.buttonData.button[i].yPos.text());
trace(" yPos: "+ myGlobal.buttonData.button[i].content.text());
//add button to stage
this[myGlobal.buttonData.button[i].title.text()] = new iBtn();
this[myGlobal.buttonData.button[i].title.text()].y = myGlobal.buttonData.button[i].yPos.text();
this[myGlobal.buttonData.button[i].title.text()].x = myGlobal.buttonData.button[i].xPos.text();
addChild(this[myGlobal.buttonData.button[i].title.text()])
this[myGlobal.buttonData.button[i].title.text()].addEventListener(MouseEvent.CLICK, btnClick);
}
function btnClick(e:MouseEvent):void
{
//do all the stuff i want to happen when a button is clicked here....
trace(e.target.id);
}
Я использую файл myGlobal.as в качестве держателя для всех своих данных, чтобы я мог получить к нему доступ по всему флагу:
package {
public class myGlobal {
public static var buttonData:XML;
public static var panelStatus:Boolean = new Boolean();
}
}