ActionScript 2.0 :: Dynamic Height Rescale (based On String.length)
Aug 7, 2008
Okay what I after is how to detect the length of the string populated from array...then auto rescale the height of the title_mc as shown in my AS as well as the dynamic created textfield ..so the textfield will display long string + "newline" for long string...(autowrapper)..
I am looking at "length" property in the Adobe AS3.0 language ref as I do not understand it. It says: An integer specifying the number of characters in the specified String object. (I understand this). Because all string indexes are zero-based, the index of the last character for any string x is x. length - 1. (I do not understand the "- 1". I understand that all string indexes are zero-based but I cant put this together with the last character for any string being -1 or whatever it is saying.
On my project, I have a dynamic textfield inside a movieclip. The textfield loads XML text. How can I set the dynamic textfield length(width) based on how much text is typed on the xml file?
im trying to resize/scale a movieclip based on the browser window.i sort of got it working. but my prob is that i dont want it to scale beyond the browser size when u just stretch the width or height.check it outif u stretch just the width of the browser the image enlarges which i dont wont it to. heres the code/formula used in a onResize
var mywidth:Number = 955; var myheight:Number = 575; Enlarge = (Math.round(Stage.height/myheight*100)+Math.round(Stage.width/mywidth*100))/2;
I'm using a tweening engine and I need to be able to base the _yscale % of a movie clip off the height of a dynamic text field that is slightly smaller contained within the movie clip. 52 pixels smaller to be exact.I'm very poor at math but I'm guessing so far that some variable needs to be declared to factor the percentage based off the height of the dynamic text field. And I just can't think of how to do that.What I know so far:movie clip height at 100% _yscale = 396 the 'buffer' space above and below the dynamic field = 52.So if my dynamic text field height = 0, my movie clip would be 52 pixels in height. And that percentage in _yscale is 13.1%.I just can't figure out the math for this and how to translate it into ActionScript.
Here is my problem. I have a file set to 1000 pixels in height and length. My image covers that size. I am trying to create a series of panels that are lined up next to each other and than motion tween it so it looks like the background is moving. I am creating each panel by copying and pasting it and placing them next to each other so it forms a single large line. However, the screen does not allow me to see everything and tends to cut off my panels and I don't know how to fix this. I have it set as "Show All" and it still does not work.
I was told to covert it to background strips dynamically. Can someone tell me how to do this step by step?
I was told to do this, Covert the files to movie clips and that add this:
I am resizing a movie clips height automatically to match the height of some dynamic text that is displayed above it (will eventually be loading it from xml ). is there a way to keep a safe margin top and bottom? this is my code so far Text_Box_Graphic.height = Text_Box.height;
I have an array with many values pushed into it (happen to be names of objects). I am using a for loop to check all of the objects (by index number) for collisions, etc. Periodically, depending on a condition, I want to remove the currently checked object's name from the array list. I noticed that there is a problem if I immediately splice the checked name from the list. Namely, the list gets shorter, which is what I want, but not until I'm done checking all objects. Is it a good idea to solve the issue by incrementing i-- after the splice? I do this so that the object that used to be next in the list doesn't get skipped.It seems to work very well but I want to know if this is a lame/problematic solution and if there are any better ways of dealing with it
for (i=0;i<myarray.length;i++){ var ob=myarray[i] //any old condition
I am trying to find out what the max length is for a string because since as3 doesnt provide any methods for removing characters from a string by changing the initial string itself, i am going to have to stick to re-initializing.I did a little test to see how long it would take for my program to break using the following code:
Actionscript Code:
+[code]..............
The program crashed at a string length of about 500 million.
EDIT:however before it crashed,it performed the incrementations with reasonable performance.
EDIT EDIT: which is strange since my ram still had over 2 gig the program didnt use
What im looking to do is dynamically create TextFields based on my array.length. So if I have 3 strings in my array then 3 TextFields with the array text needs to be created.
I've managed to actually create TextFields based on the array.length - however afterwards I dont know how to reference them individually, to lets say re-position x, y for array[1]. I've tried saving the Textfields in another array by .push method, but can't seem to reference them correctly.
//Create textfields based on data in Array - in this case 3 textfields var textArray:Array = new Array('First TextField','TextField Two','Anything, really'); //Array to .push "save" created textfields
I am working on the following code and I keep getting a cut off at around the 'C' of Dave's computer.I know this is going to be a simple answer but I for the life of me cannot figure out HOW to extend the string visual field. I am pretty sure the secret lies in the variable len.
Code:
import flash.text.TextField; import flash.events.Event; var txtFld:TextField = new TextField();
Is there an easy way to get the byte length of a string in AS3? String.length works in many cases, but breaks if it encounters mulibyte unicode characters.(in this particular case, I need to know this so I can preface messages sent across a TCP socket with the message length. This is in standard netstring format e.g. "length:message,").
I'm populating a dropDownList with arrayCollection of strings. I want the width of the drop down list control to match with the size (in pixels) of the longest string in the array collection. The problem I'm facing is: the font width of the strings in the collection are different e.g. 'W' looks wider than 'l'. So I estimated the width of a character to be 8 pixels but that's not pretty neat. If a string that has many 'W' and 'M' is encountered the estimation is wrong. So I want precise pixel width of strings. How can i get the exact length of a string in pixels??
My solution that estimates all character to be 8 pixels wide is given below:
public function populateDropDownList():void{ var array:Array = new Array("o","two","three four five six seven eight wwww"); var sampleArrayCollection:ArrayCollection = new ArrayCollection(array);
Is there an actionscript function I can use to pad a string to a certain length with a certain character?
Example: I have a number lets say 274 and I want to make sure that number is at least 6 characters long...with any open space receiving the character 'W'. So I'd call the pad function and my final number would look like this: WWW274
I have a string provided to my flash file that I need to break into a max of 3 sentences(strings).
I have written some actionscript to break it up by set lengths, but I also need it to not break words up.
To test you can place the following code in a blank as2 file.
Code: var personalMessage:String = "You got this far so we reckon that you could be curious enough to learn a little more, we�ll contact you shortly to answer any questions you may have."; _root.myArray = new Array(); _root.myArray = personalMessage.split("");
I'd like to know a way to measure the real length of a text string in pixels. The problem is that every character has a different width.The length property informs us of how many characters does the string have...but how do we measure the pixels (x space) in a precise way?
I'd like to know a way to measure the real length of a text string in pixels. The problem is that every character has a different width. The length property informs us of how many characters does the string have...but how do we measure the pixels (x space) in a precise way?
I'm trying to do a test on the length of a string and then call a function depending on the result. This is the pertinent excerpt from the fla file:
Code: _loc4._comment = candles[_loc3].comment; // I want to find out the length of _comment and call differently depending _loc4.onRollOver = function () { if (_loc4._comment.length > 0 && _loc4._comment.length < 60) { show_comment(this._comment, this._x + this._parent._x, this._parent._parent._y - 50); } else { show_comment(this._comment, this._x + this._parent._x, this._parent._parent._y - 100); }};
Basically I want to check the length (in characters) of _loc4.comment and if its under 60 call with an offset of 50 and if its not call with an offset of 100.
I am trying to assign a number to a variable that is dynically generated from a binded array...when i try and assign it and trace it out nothing happens, which means I am obviously doing something wrong but I am not sure? just for fun i decided to bind the data to a label like so...
i made a function for replacing a text letter by letter. You've probably seen this effect of putting in place of a text a random one, with the length of the new text and then replacing the random text, letter by letter with the new one. It worked fine but I had to do some adjustments, because I needed to vertically align the text to the bottom, and I had the newline character in the text which gave me some issues with the aligning. Since I did this adjustments, string.length returns undefined even if trace(string) shows the correct text in the output window. On the other hand length(string) gives me the right answer. I also use the charAt function which also returns undefined, even if the trace function shows the correct text.
I use the following code to load some banners: a "banner" is a clickable PNG image. I get the URL it must point to through a parameter of the AdLoader class.
In practice, I create some MovieClip containers (loader_1, loader_2, etc.) and in each container I want to load one image.
What happens: when the images are loaded I want to position each image at the y+10 pixel of the preceding, so if the first is at y:0 and its height is 140, I want the second image at y:150 (and so on). I can't understand what it happens but sometimes the code works, while most of the time it doesn't.
I'm trying to build a text input field with a fixed width, multiline. So when you type and the input is more than the available space, the field increases in height... similar behavior to blogs and other html forms recently.
I was hoping there was some easy method or property to make this change, but if not, then does the text input throw some event when the text exceeds the width?