Actionscript 3 :: Flash - Question About Adding Attributes?
Jun 4, 2011
i'll put a "#" sign on the part where i ask for clarity!this is the code from this link[URL]i know this link explains it by detail but i still don't some parts of the code
I've created and XML object that's working fine and I want the user to be able to add to the XML dynamically, using an input text field and appendChild() So, what is the syntax to use so that I can put in the text they enter as an attribute of a node of my current XML object? Here's what I've got for adding to the XML (stripped down obviously):
ActionScript Code: var xmlData:XML = new XML(); var clientToAdd:String = userInput.text; xmlData.appendChild(<project name=clientToAdd></project>);
How can I take the variable clientToAdd and make it the attribute "name" of the "project" node?
Let's say I have 5 instances of a movie clip on the stage, which are going to be manipulated by Actionscript. Is there a way I can add attributes/parameters/variables to each one, inside flash? Like "hitpoints" and "attack," for example. If I could set all those values inside the Flash IDE, for later access in the game code, it would make my workflow a lot cleaner. (I'm making game levels)
I am dynamically creating a number of objects (movieclips) which all have a number of attributes.[code]and so on. i.e sub attributes. I don't think this is possible? Only sprite and movieclips can have dynamic attributes so unless atrbY is a movieclip (which it isn't, it's a string) it isn't allowed?Each object can have suboptions with further attributes associated with the chosen suboption.Later in the program I will manipulate, read and interact with the objects and they have text display behaviours dependent on the suboption chosen. That part (should) be straightforward! heh. One the object has the attributes attached in a usable format, accessing them should be simple.This will be for a store. i.e t-shirt1 has size small, price 10, size medium, price 12, size large, price 14. t-shirt2 has size medium, price 35, size large, price 40 and so on.[code]
This format of the XML can be adjusted if it would make the parsing easier.I am currently reading the XML in, stepping through, grabbing the individual parameter such as category and then adding it as an attribute of the object and it works fine. i.e. I end up with obj.category = 'catname'. However, on suboptions I am having a problem.Should I put all the suboptions in a multidimensional array and use nested loops to apply them to the object?I would still have the problem of objX.suboptionarray[Y].suboptionprice which isn't allowed? In the above XML case Y would be 0,1 and 2 giving 3 suboptions to objX and each suboptions would hold attributes such as pvid associated with that suboption.I could go down the horrible route, obj1.suboption1subptionprice ; obj1.suboption1suboptionpname; obj1.suboption1suboptionvalue; obj1.suboption2suboptionprice; obj1.suboption2suboptionpname and so on and so on for each suboption which could be five options (small,medium,large,x-large, xx-large) and which would "work" but would be bad programming and involve splicing names to get say, the "third" suboptions' price and pvid e.t.c
Going down the route of mutidimensional arrays sounds good except that on say 50 objects I would have stacks of arrays which I'm guessing isn't great in terms of resources?.Just to add, the number of suboptions varies between object, every object has a minimum of one suboption (default option) but can have as many as needed (unlikely to be more than 5 but should be scalable). i.e some t-shirts only come in medium whereas some have many sizes.I have a fair amount of leeway on the format of the XML which I generate from the database so the formatting of that could change to make the parsing easier.
I've tried many different ways of accessing the name of an attribute, but just can't get it working.The current Function:
protected function applyProperties(_axml:XML):void { var list:XMLList = _axml.properties;[code]...........
I have tried the name, I've tried searching it as an Object, I looked for solutions on stackoverflow.. nothing has worked for me so far. Originally I had the properties node as such: fearing that Flash was interpretting incorrectly.
edit: It seems like the XML was interpretted rather than printed out..
This is my first post on this forum, so sorry If Im posting in the wrong spot or asking stupid questions. I've been programing for several years, but I'm kinda new to using XML in flash. I'm making an xml menu system and I would like to know if it is possible to filter without a defining the parent node. For example I would like to do this... var whatIwantToFind = myXML..(@name == 'munkinugget'); Unfortunately this throws a syntax error. It tells me that its expecting a double colon before the semicolon.
Recently struggling with weird IE9 + Flash problem I came over multiple advices to use classid and codebase attributes specifically for IE. But couldn't find any explanation of why they might be required or what they simply do. Any good writeup on this topic anywhere? Side-question: Can I just make classid value up out of my head or it should be generated according to some rules?
After loading the following XML file, is there a way to count the number of attributes of the "question" node, and if possible, the number of items having the word "answer" in them? (in this case 4 should be returned, ie. answer1, answer2, answer3, answer4)
Code:
<?xml version="1.0" encoding="utf-8" ?> <quiz> <question text="The man went ___ the morning." answer1="at" answer2="on" answer3="in" answer4="out" correct="in" /> </quiz>
here's a painfully easy one I bet -- I'm aware of how to use EX4 to filter most pieces of the xml I need however how can I filter an XML list such as the one below to check say --- if a dog is a beagle? preferably as a Boolean.
I want to get all xml elements (xml descendents) which have some attributes like: <books> <book concept="rr" author="xx"/> <book concept="tt" /> <book concept="yy" /> <book concept="uu" author="xx"/> </books>
I need to perform a xml descendent search for xml nodes with author attribute containing results should be: <book concept="rr" author="xx"/> <book concept="uu" author="xx"/>
In my project I have some xml I've embedded and am now parsing.
Here's an example of xml I have.
HTML Code: <use> <player> <add var="health">2</add>
[Code].....
I guess I could just change the names of them in my XML but their must be a workaround. I could potentially not have control over the file and then I'd be screwed.
In Flash I load the text content of the title attribute into a text field, problem is -- the prints instead of operating as a carriage return (new line).
Again, no access to the XML so changing the TextField to htmlText and adding a <br/> tag wont work.
When I try to load in my xml attributes it loads in all the attribures for that node not just the Title Or Description. How do I get it to just load the Title.
Code: var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, loadXML); loader.load(new URLRequest("2152.xml")); function loadXML(e:Event):void { XML.ignoreWhitespace=true; var xml=new XML(e.target.data); [Code] .....
I have set up my code to filter my xml attributes but need to be able to filter by a var that is dynamically set elsewhere. I can get the code to work if I set: var birthyear = "1980";
How do I get var birthyear to use the var yob that is set elsewhere in my code?
now for some reason, the elements are correctly traversed using the default namespace. But the attribute isn't found. After a bit of debugging, I found that I could only retrieve the attribute when using xml.animal.attribute(new QName("", "type")). Why isn't the attribute in the same default namespace as the element?
Because also the photo-url-tag has a dash, I needed to parse it with ...child("photo-url"). This worked fine, but if I want to filter these tags(photo-url), in order to receive all photo-url's with the same attribute: "max-widht='1280'", I couldn't manage to do so. I tried this approach:
var photoUrl:XMLList = xml.posts.post.child("photo-url").(@max-width==1280);
I get this error:
ReferenceError: Error #1065: Variable @max is not defined.