Darthvulture Skrevet 18. januar 2010 Del Skrevet 18. januar 2010 Jeg har da laget en "news-viewer" i flash, hvor da jeg bruker xml(skal senere gjøres om til cms, men skulle først fikse til alt design messig og slikt før heavy-programmereren i firmaet skulle gjøre resten), problemet mitt er at det som står i xmlen ikke vises, det skal visstnok være noe problem med linkingen, men etter en god del googling så har jeg kommet fram til at jeg ikke helt forsto hva de helt mente... Flashen jeg refererer til er denne siden mappestrukturen er slik: swf og fla i root mappen(ligger i en mappe kalt flash) og så er xml i en egen mappe utenom det(kalte den for resources). Selve flashen fungerer greit, her er direkte linken til flashen Hvis det er noe mer informasjon dere trenger for å måtte hjelpe så er det bare å si ifra. Lenke til kommentar
Nordentro Skrevet 18. januar 2010 Del Skrevet 18. januar 2010 Kanskje det hjelper å endre boleanverdiene i "object tag'n". Lenke til kommentar
Darthvulture Skrevet 19. januar 2010 Forfatter Del Skrevet 19. januar 2010 hvordan endrer jeg det? Lenke til kommentar
maxM Skrevet 19. januar 2010 Del Skrevet 19. januar 2010 Om du kan vise koden du har brukt i flashen din blir det litt lettere å finne ut av dette. Men du er sikker på at det ikke er feil i koden din i flash? Om du prøver å hente en XML-på en annen server, får du det til da? Prøv f.eks. å bruke rss-feeden til dagbladet (http://www.dagbladet.no/rss/forsida/). Lenke til kommentar
Darthvulture Skrevet 21. januar 2010 Forfatter Del Skrevet 21. januar 2010 (endret) var xmlFileName = "resources/news.xml"; var tweentoleration = .5; var tweendecay = .3; ////////////// /////// var mainXmlData = new XML(); mainXmlData.ignoreWhite = true; tmp_txt._visible = false; var menuItems = new Array(); function collapseAll(citm) { //trace("COlLAPSE ALL MENU ITEMS"); for (i=0; i<menuItems.length; i++) { if (menuItems[i] != citm) { //trace(menuItems[i]+" "+menuItems[i].expanded); if (menuItems[i].expanded == true) { menuItems[i].expanded = false; collapse(menuItems[i]); } } } } function expand(mitm) { collapseAll(mitm); yOffset = 0; mitm.menuItems = new Array(); mitm.segments = new Array(); next_item = mitm.node2; mitm.next_item = next_item; //trace(mitm.xmlData.childNodes.length); for (i=0; i<mitm.xmlData.childNodes.length; i++) { dpth = this.getNextHighestDepth(); attachMovie(mitm.xmlData.childNodes[i].attributes.template, "item"+dpth, dpth); this["item"+dpth].active = true; this["item"+dpth]._y = Math.round(mitm._y); //yOffset; this["item"+dpth]._x = 0;//mitm._x+5-10*Math.random(); //5-10*Math.random(); this["item"+dpth].xmlData = mitm.xmlData.childNodes[i]; this["item"+dpth].txt = mitm.xmlData.childNodes[i].firstChild//attributes.label; mitm.menuItems.push(this["item"+dpth]); if (mitm.menuItems[mitm.menuItems.length-2] != undefined) { mitm.menuItems[mitm.menuItems.length-2].node2 = this["item"+dpth]; mitm.menuItems[mitm.menuItems.length-1].node1 = mitm.menuItems[mitm.menuItems.length-2]; } else { mitm.node2 = this["item"+dpth]; mitm.menuItems[mitm.menuItems.length-1].node1 = mitm; //trace("ELSE: "+mitm); } yOffset += ySpacing; } //end for mitm.menuItems[mitm.menuItems.length-1].node2 = next_item; next_item.node1 = mitm.menuItems[mitm.menuItems.length-1]; } function collapse(mitm) { mitm.node2 = mitm.next_item; mitm.next_item.node1 = mitm; dpth1 = container.getNextHighestDepth(); for (i=0; i<mitm.menuItems.length; i++) { //removeMovieClip(mitm.menuItems[i]); //trace(mitm.menuItems[i]); mitm.menuItems[i].dispatch(); } mitm.menuItems[mitm.menuItems.length-1].node2 = undefined; delete mitm.menuItems; } function build() { //trace("BUILD MENU"); yOffset = 0; for (i=0; i<xmlData.childNodes.length; i++) { dpth = this.getNextHighestDepth(); attachMovie(xmlData.childNodes[i].attributes.template, "item"+dpth, dpth); this["item"+dpth].active = true; this["item"+dpth]._y = Math.round(yOffset); this["item"+dpth]._x = 0//5-10*Math.random(); this["item"+dpth].xmlData = xmlData.childNodes[i]; //trace("iTEM"+dpth+": "+this["item"+dpth].xmlData); this["item"+dpth].txt = xmlData.childNodes[i].attributes.label; menuItems.push(this["item"+dpth]); if (menuItems[menuItems.length-2] != undefined) { menuItems[menuItems.length-2].node2 = this["item"+dpth]; menuItems[menuItems.length-1].node1 = menuItems[menuItems.length-2]; } yOffset += ySpacing; } } mainXmlData.onLoad = function() { xmlData = this.firstChild; build(); //build menu }; function init() { //load xml mainXmlData.load(xmlFileName); unloadMovie(dummy); } init(); // // function tweenfade(pos1, pos2) { if (Math.abs(pos2-pos1)<= tweentoleration) { return pos2; } else { return (pos1+.3*tweendecay*(pos2-pos1)); } } function tween(pos1, pos2) { if (Math.abs(pos2-pos1)<=tweentoleration) { return pos2; } else { return (pos1+tweendecay*(pos2-pos1)); } } // // Endret 21. januar 2010 av topvulture Lenke til kommentar
Haraldson Skrevet 21. januar 2010 Del Skrevet 21. januar 2010 Hei, går det an å få se XML-en? Lenke til kommentar
Darthvulture Skrevet 21. januar 2010 Forfatter Del Skrevet 21. januar 2010 (endret) embed src coden er <p> <object style="width: 600px; height: 400px;" width="600" height="400" data="flash/news_viewer.swf" type="application/x-shockwave-flash"> <param name="quality" value="best" /> <param name="scale" value="showall" /> <param name="wmode" value="window" /> <param name="src" value="flash/news_viewer.swf" /> </object> </p> xml <?xml version="1.0"?> <news> <newsitem template="newsitem" label="Vitae Metus Semper" date="06/04/2007"> <newsitem template="text">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis consectetuer lacus vitae metus semper mattis. Aenean eu erat nec nunc accumsan ultrices.Duis consectetuer lacus vitae metus semper mattis. Aenean eu erat nec nunc accumsan ultrices.</newsitem> </newsitem> <newsitem template="newsitem" label="Lorem ipsum dolor" date="07/04/2007"> <newsitem template="text">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </newsitem> </newsitem> <newsitem template="newsitem" label="Ullamco Laboris Nisi" date="08/04/2007"> <newsitem template="text">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</newsitem> </newsitem> <newsitem template="newsitem" label="Voluptate Velit" date="09/04/2007"> <newsitem template="text">Laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</newsitem> </newsitem> <newsitem template="newsitem" label="Cillum Dolore" date="09/04/2007"> <newsitem template="text">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</newsitem></newsitem> <newsitem template="newsitem" label="newteeestttlolol" date="06/01/2009"> <newsitem template="text">How about we change our math a little and always round up. The function we need is called the ceiling function because it rounds a number up to the “ceiling.”</newsitem> </newsitem> </news> Endret 21. januar 2010 av topvulture Lenke til kommentar
Haraldson Skrevet 21. januar 2010 Del Skrevet 21. januar 2010 Du må nok wrappe tekstblokkene dine i CDATA-blokker: <newsitem template="text"> <![CDATA[ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ]]> </newsitem> Lenke til kommentar
Darthvulture Skrevet 21. januar 2010 Forfatter Del Skrevet 21. januar 2010 ok, men har det mye å gjøre med at det ikke vises når jeg embedder det på en side? og hva gjør denne CDATA blokken? =) takk for kjapt svar forresten =) Lenke til kommentar
Haraldson Skrevet 21. januar 2010 Del Skrevet 21. januar 2010 Du kan lese om CDATA her. Kort fortalt forteller den at teksten ikke skal parses. Lenke til kommentar
Darthvulture Skrevet 21. januar 2010 Forfatter Del Skrevet 21. januar 2010 (endret) ah men nå gjorde jeg det, det vises fortsatt ikke se for deg selv på http://www.web42.no Endret 21. januar 2010 av topvulture Lenke til kommentar
Haraldson Skrevet 21. januar 2010 Del Skrevet 21. januar 2010 Og det hjelper ikke om du refererer til XML-en med absolutt filsti ut fra rot (/flash/resources/news.xml), får du ikke eventuelt noe output i errorconsolen i Flash? Lenke til kommentar
Darthvulture Skrevet 21. januar 2010 Forfatter Del Skrevet 21. januar 2010 nope :/ Lenke til kommentar
maxM Skrevet 22. januar 2010 Del Skrevet 22. januar 2010 Dette fungerte for min del. Jeg skrev inn hele URL-en til xmlen. Nesten nederst i koden, din, før du begynner å unloade, la jeg til mainXmlData.onLoad = function() { xmlData = this.firstChild; trace(xmlData.firstChild); //Denne linjen la jeg til build(); //build menu }; Output blir: <newsitem template="newsitem" label="Vitae Metus Semper" date="06/04/2007"><newsitem template="text"> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </newsitem></newsitem> Ettersom dette er AS2 er det litt vanskeligere å forstå alt for min egen del. Men det er jo ingen plass i koden din der det blir refferert til en classe der du lager noe TextField, eller noe form for TextField i koden du har delt med oss. Du får ikke vist noe tekst uten ett TextField i flashen din. I AS3 måtte du gjort følgende for å få vist teksten fra XMLen din: var myText:TextField = new TextField(); myText.height = 250; myText.width = 250; myText.x = 10; myText.y = 10; myText.text = xmlData.firstChild.firstChild.firstChild; addChild(myText); Evnt. lage ett fysisk dynamisk textfelt i fla. fila di og gi det ett instance. dittInstance.text = xmlData.firstChild.firstChild.firstChild; muligens det blir "_text" i AS2. Lenke til kommentar
Darthvulture Skrevet 22. januar 2010 Forfatter Del Skrevet 22. januar 2010 takk for svar men den linja du la til hjalp ikke særlig, har egne as til tekstene igjen, jeg fant egentlig bare denne sourcen ute, men det var ingen tutorial med, så har bare tweaket en god del på den, men det var et rotete system personen hadde laget, kunne fint fått sett en god tutorial på dette med å lage en oppdateren newsfeed med bruk av xml og helst slik systemet var nå, med collapsing "menu". inbefatter ikke nok flash kunnskaper for å kunne lage slike ting selv enda :/ Lenke til kommentar
maxM Skrevet 22. januar 2010 Del Skrevet 22. januar 2010 trace(); funksjonen har ingen annen virkning enn å sende info til output vinduet, den påvirker ingenting annet i flashen din. Men det er en fin måte å feilsøke litt på. http://www.kirupa.com/developer/flash/index.htm her har du en del emner som blir godt forlart. Husk at det er bade AS2 og AS3 der, så du burde bestemme deg for en av delene. Jeg dreiv lenge med AS2, men når jeg nå begynner å få satt meg inn i AS3 er alt veldig mye eklere og forståelig. Litt bratt læreingskurve, men det er verdt det. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå