2012-03-28 3 views
0

У меня есть анимация флеш-анимации для здоровья, которую я хочу показать один совет каждый день. Я создал xml с 365 элементами по одному на каждый день. Теперь я хочу связать свою флешку с xml, чтобы получить правильный совет для определенного дня.Вызовите элементы XML через флеш, основанные на дате

Я создал XML, используя два метода .. какой из них вы считаете лучшим?

<data> 

<Tip date="28/03/2012" title="Start your day with breakfast." description="Breakfast fills your empty tank to get you going after a long night without food. "/> 

</data> 

И другой XML

<data> 
<title name="Start your day with breakfast."> 
    <description>Breakfast fills your "empty tank" to get you going after a long night without food. </description> 
</title> 

<title name="Eat more grains, fruits and vegetables."> 
    <description>These foods give you carbohydrates for energy, plus vitamins, minerals and fiber. Besides, they taste good! Try breads such as whole-wheat, bagels and pita. </description> 
</title> 

</data> 

Теперь мне нужно закодировать свой флэш-ролик, чтобы заставить его работать, но, к сожалению, не знаю, как.

Я начал с некоторыми основными вещами:

var my_date:Date = new Date(); 

var months:Array = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]; 

var dateStr = ((months[my_date.month]).toString())+"_"+ my_date.date.toString()+"_"+ my_date.fullYear.toString(); 

//Create the loader, set dataFormat to text 
var loadFile:URLLoader = new URLLoader() 
loadFile.dataFormat = URLLoaderDataFormat.TEXT 
loadFile.addEventListener(Event.COMPLETE, onLoadXML) 
loadFile.load(new URLRequest("flash1.xml")); 
function onLoadXML(ev:Event){ 
try{ 
    //Convert the downloaded text into an XML 
    var myXML:XML = new XML(ev.target.data) 
    var list:XMLList = myXML..title 
    //walks the list and show in textfields 
    for(var i=0; i<list.length(); i++){ 
     //trace(list[i][email protected]+"-"+list[i].comments+" - "+list[i].image) 
    this["Title_txt"+i].text = [email protected] 
    this["description_txt"+i].text = list.description 


    } 
} catch (e:TypeError){ 
    //Could not convert the data 
    trace("Could not parse the XML") 
    trace(e.message) 
} 
} 

Я не могу получить его работу должным образом, таким образом, с просьбой о помощи. Если вы поможете мне решить проблему с датой, и код as3 будет замечательным.

Спасибо и ждать вашего ответа

Хелен

ответ

0

Почему бы не использовать for each петлю вместо обычного for? Также, var list:XMLList=myXml.title достаточно. ..title не требуется.

function onLoadXML(ev:Event){ 
try{ 
    //Convert the downloaded text into an XML 
    var myXML:XML = new XML(ev.target.data); 
    var list:XMLList = myXML.title; 
    //walks the list and show in textfields 
    for each(var title:XML in list){ 
     this["Title_txt"+i].text = [email protected] 
     this["description_txt"+i].text = title.description; 
    } 
} catch (e:TypeError){ 
    //Could not convert the data 
    trace("Could not parse the XML") 
    trace(e.message) 
} 
} 
+0

Спасибо за ваш ответ ... это делает его проще в пути ... хотя я до сих пор есть проблемы с функцией даты, чтобы загрузить конкретную дату –

+0

Ну, ваш код показывает, что вы даже не попробуйте сделать дату. Я понятия не имею, что вы хотите с «функцией даты». Почему ты не уточняешь? –

Смежные вопросы