ActionScript 3.0 :: Importing Boolean And Other Data Types From XML?
Jul 22, 2010
Im trying to wrap my head around data types and phrasing them from xml. From what I gather variables that come in from XML are always treated as a string - even if you declare them as something else before hand?Im not seeing that myself as everything else other then the Boolean is behaving as expected. For example in the code below, if I declare FGFILLCOLOR as anything other then an int, or Number, I get an unrelated type error. So why just Boolean and how can I convert them so they behave properly without declaring all of them as a String? Here is what I've got:
Im trying to wrap my head around data types and phrasing them from xml. From what I gather variables that come in from XML are always treated as a string - even if you declare them as something else before hand? Im not seeing that myself as everything else other then the Boolean is behaving as expected. For example in the code below, if I declare FGFILLCOLOR as anything other then an int, or Number, I get an unrelated type error. So why just Boolean and how can I convert them so they behave properly without declaring all of them as a String? Though I've seen a few related solutions posted around but I wan't able to sort them out.
Code: public function foo(bar1:int, bar2:uint, bar3:String, bar4:Boolean):void{}
What I want is to have the different types of data represented by custom named types which are essentially representing the original data types. I other word, I would like to proxy the data types and have a valid function as following:
Code: public function foo(bar1:PAR_Bar1, bar2:PAR_Bar2, bar3:PAR_Bar3, bar4:PAR_Bar4):void{}
so PAR_Bar1 would proxy the `int` data type, PAR_Bar2 would proxy the `uint` data type, so on and so forth.
The reason I need this is because I'm using a debugger with a GUI that can run methods and allows changing function parameter values in real-time, the issue is that the debugger can't tell me what parameter I'm changing, it only displays the data type of a parameter. So if I need to change 10 different parameters all of type int, the debuggers display all of them as int and not by their names.
I think that if I use proxy types I can easily differentiate between parameters.
So, my question: Is it possible to proxy data types? I mean map specific data types to custom data types that would represent the base data types?
Does anyone know of any really easy and effective ways to move complex data types from PHP into FLASH and vice-versa? A while back I made an attempt to recreate PHP' serialize() function in actionscript but it was really difficult and performance was poor.
I'm able to do it fairly easily for one dimensional arrays indexed by numbers, but when I have to pass either an object (or several objects) or when i have to pass a nested array of arbitrary complexity (such as a data tree) then I get bogged down.
I have a little experience dealing with XML in flash (working with the tree component) but it seems like so much effort when i am dealing with a new data type.
Does anyone know of any pre-packaged components or code (in actionscript and complimentary part in php) that might be useful?
public function foo(bar1:int, bar2:uint, bar3:String, bar4:Boolean):void{}
What I want is to have the different types of data represented by custom named types which are essentially representing the original data types. In other words, I would like to proxy the data types and have a valid function as following[code]...
WSDL defines a number of datatypes supported by web service . Is there a documentation stating the various equivalents of those datatypes on flex side. In general for any language that we use to consume web service, how do we get to know the equivalent datatypes of the wsdl types.
One of the web service that I am consuming is returning base64Binary (an image binary data) , What is the equivalent datatype of this on flex ?
In my code there's a function that shows an image on the screen (or loads the image and shows a progress bar). This function is called by clicking on a thumbnail, and it uses a parameter [e.target.name] refering to the property "name" of the thumbnail clicked, which is an integer (or I believe so). The thumbnails are placed inside the cointaner_mc MovieClip.
Code: container_mc.addEventListener(MouseEvent.CLICK, clickThumb); function clickThumb(e:MouseEvent):void{ if (my_full_images[e.target.name] == undefined){[code]...
but I want to call this function by clicking on a button, which would need to pass another type of parameter, in this case, a variable which refers to the number of the image displayed on the screen plus one.I tried this:
Code: clickThumb(image_num + 1); But it doesn't work, I get the following error:
1067: Implicit coercion of a value of type Number to an unrelated type flash.events:MouseEvent.
How could I call the function clickThumb and make it use "image_num + 1" instead of "e.target.name" ?
Could I dispatch the event (MouseEvent.CLICK, clickThumb), passing this value "image_num + 1" ?
Primitive Data Types (Boolean, int, Null, Number, String, uint, and void) are treated as "values" rather than Objects, so when you pass one of them into a function, instead of passing a reference, it basically clones the information, and creates a new instance. It does the same thing when when you use "primitive1 = primitive2", and instead of passing on a reference, clones it.I thought there might be a slim possibility Flash allows me to reference primitives if I treat them as objects instead of (in this case) ints.
I have stored some basic data in a custom class, imported it into a project, and compiled it into an swf. Now, I want to import that swf into the library of a new, entirely separate flash project, and access the data from the original custom class inside that imported swf.
Here's how I'm trying to go about it (unsuccessfully):
1. Create a custom class 'MyClass.as' with some basic data ("hello world") stored in a property:
Code: package { import flash.display.MovieClip; public class MyClass extends MovieClip{
I would like to import text from a XML file into a dynamic text field. The XML file contains database records. I have found that Flash does not support the DOM command 'getElementsByTagName()' which I was endeavouring to use to find the record in the XML file that I wanted to associate with a particular dynamic text field.
Is there any other way to search through the XML file for the particular record I am looking for?
I'm currently using XML to import geo-location data to my flash application.Even though my XML scheme is about as small as can be, I still feel i would do better downloading the variables as text and exploding them. If i manage to change the xml to raw text I can compress the data to about 35% of the original size.I want to load the data in the form a_b_c_d-e_f_g_h.So, to the question; how do I explode a datastring in flash?
In an application we have an excel file of large amount of data whose every row we want as an array of data for impoting into flash application.Here i give a small description what we want to do:
A quick review of the project, I am importing information from an xml file into an array. From there I have passed the information from the array to a variable.I find it that when I try to match the variable to a string letter, that it is not running through the case switch properly and going straight to the default bit. I have tried numerous solution to check where the problem lies;I have trace the actual position of the array to check if it is the correct letter I am trying to match.Did a length check on the variable that it is only 1, and not containing any spacesWhen I hardcode the letter into the variable, the case works perfectly.Any idea on why this is happening would greatly be apreciated. I have pasted a sample of the code below;
var switchTest = initialSlide_array[1]; switch (switchTest) { //switch case used to check template type case "A":
How can I save data to a text file and also append a record to data in an existing text file? I've used Authowrware previously and it was quite easy to create a large string of data (a comma separated list) and export that to a text file (and create the text file if it didn't already exist). I could then easily append additional rows of data (records) to the text file. We want to build a questionnaire that will store the data locally on the computer in a text file. Each record may have a few hundred data points in a comma separated list.
I am importing a picture in flash and i found out that there is a difference between importing to the stage, and importing to the library... [URL] I've placed both picture close of each other and if you look closely, you'll notice that one of them is losing some resolution. Both picture come from the same file, a png. The picture imported to the stage is sharper than the one imported to the library. is there a way to import that picture to the library without losing any resolution?
I've got a flash movie with a menu that jumps to a particular frame to load a page. On that frame, there is a movie clip (instance name: scrollbox_frame), and in that movie clip there is a four-layer animation. One of the layers is not animated but contains a dynamic text box (instance name: about_frame), with multi-line and HTML turned on, and a variable name of "aboutus". This is the code that is triggered by the menu button on the root of the flash movie:
Code: myVariables = new LoadVars(); myVariables.load("text1.txt"); myVariables.onLoad = function(success){
Is there a better way to do use a use a boolean with visible? I'm setting up animations that have conditions for visibility, and I don't want to use something that performs poorly. This animation blinks 30 times and stops. It works without error, but takes a moment to load. I would like to learn other ways of using visibility with conditionals.
This is what I used 'waits before playing' if(condition=5){ box.visible = !box.visible; This works fine 'no pause' if(condition<6){ box.visible = !box.visible; [Code] .....
I was looking for the difference between the different content types in Flash CS3/CS4 - Browser/Screen Saver/Application etc - especially it's capabilities and limitations. Of interest are Standalone player and Application.
Types like Movieclip , String, Object act as references when declared and defined, while types like int, Number are primitives. Why such difference has been made. Why not all of them can be primitives ?
I've been working on a cute game and I've hit a bit of a wall
It's a shooting gallery game and I want to add multiple target types (so far this has been easy) but I want to game to randomly bring them up as you play. There are four possible target spots and seven possible targets:
ok so i am trying to change a boolean with a keyboard event
my code is this:
Code: stage.addEventListener(KeyboardEvent.KEY_UP, keyPressed); function keyPressed(evt:KeyboardEvent):void { if (evt.keyCode==Keyboard.SPACE) { if (!gamePaused) {
Been trying to get a flash map to zoom in and out but I can't seem to get it working, it'll zoom in fine, but not zoom out.I'm zooming into a particular area of a map (Uganda in this example) with a function for a button, I'm using a boolean value to check if I am zoomed in and it registers whether it's true or false (checking with a dynamic textbox). [code]
having an issue with a variable set. It is set as a string to default "no" on the very first frame of my movie, as follows:
var myaccess:String; myaccess="no";
Within my movie, there is an object. When this object is pressed, it is to change the _root.myaccess="yes"; I am tracing the variable within the movie clip and it shows me: I do not understand why it is changing my string definitition from "no" to false. Because of this, my variable does not seem to change to "yes' on object (button) pressed.
I'm using the following array to storing multiple variables for similar movieclips: public var ballPlaced:Array = new Array(false, false, false); ....however, its not storing the boolean value properly in the array? I'm using the following code in the ZoneFill and ZoneEmpty to assign it a value of true or false, e.g;
For instance, what if I had an object, say obj1, and I didn't just want to say, "Hey, is obj2 touching obj1?" But I wanted to say, "Is there any object touching obj1? Which object is it?" If there are lots of objects and you just want to know which object is touching object 1 without asking about every single possible object on the stage