ActionScript 3.0 :: Function Handling Generic Vectors?
Jul 22, 2010
I have this question regarding vectors. Is there a way where I can make a generic utility method which would for example, subdivide a vector into two vectors and would be able to handle all types of vectors, whether they contain <int> or <string> or <myClass>
for example:
ActionScript Code:
public function splitVectorIntoTwo(v:Vector.<T>):Vector.<Vector.<T>> {
var result:Vector.<Vector.<T>> = new Vector.<Vector.<T>>();
//Do logic
return result;
}
I don't know if this is possible but else it hinders our development quite a bit by using vectors since we can't use some generic utility methods as they will not accept generic vector types and you have to create a specific method for every vector type, one for Vector.<int> one for Vector.<string> etc.... With arrays, since they are not type-safe they can be passed within every such method.
So I have the code of two classes (I can't post any actual code as its way too long - even broken up But I can give you a sample of simmilar aspects)
public class ClassA { private var objectString:Vector.<String>; // create a new vector to hold items - this will be passed
[Code]....
Yes I have an understanding of vectors so pointing me to the documentation may be worthless. As I have read it hundred times. I would not be posting here if I didnt. How ever I may have missed something.
Upon debugging this I see that Class A has a vector that now contains one element -> "hello." When I pass that vector on Object container is null. Whats worse is now I return a null vector list and pass on a null vector list and trace should in theory show me null.
In java this is how I would pass vectors and arrays around and I believe some one showed me this is how you do it in actionscript.
I'd like to port a Flash application to iPhone.I like flash for a lot of reasons and would prefer to use it for content generation. However there are a few downsides I am told, like at least 3.5 MB per app.So while using Flash would make it easier to extend the current pipeline to include iPhone content, I was wondering what other choices are there for dealing with vector assets. I'm looking to bring in assets from Flash (or illustrator) easily, be able to add placeholders that can be replaced, and package them so that they can be updated easily from iOS.
Will most likely end up outsourcing the app creation, but I would like to know what the choices are before deciding what route to go.
Alright so... I really don't know the best way to approach this. I had a LOT of code that I thought could be generalized into a function. I don't know how to explian it... here is the code:i attached it...I know it's a lot of code... I just... I don't know what to do with it anymore! When it was in a bunch of small functions, it worked (sort of) just seemed reallly messy and annoyed me.Oh btw its causing the hero to jsut go to 0,0 and then a hit symbol appears there, and then nothing happens, the hit doesnt even dissappear.
My requirement/need is the AS3 code for placing any type of Component(viz., Button, CheckBox, ComboBox, ListBox, radiobutton, Slider, Scrollbar,Label,TextField, etc.,) on the stage with desired width,height, X and Y parameters(values) which we mention in "Properties" tab of Properties Window in flash. Hence, What i need is, (say)a generic ActionScript 3.0 method/function, which places any of the components present in "Components Panel" onto the stage. the function prototype or signature may be like this:
function addComponent(int <width>, int <height>, int <XPos>, int <YPos>)
t is a general query i think so. i.e., A basic programmer's task for defining a function for my requirement.I think,if I want to add a Button onto the stage at 100,100 pixel position and the button component's width and height are 50,50 respectively, (i.e., button.X=button.Y=100 && button.width=button.height=50).So, a button must be placed at 100,100, then, the sample code looks like this:
Button <btn_instance> = new Button(); //creates Button instance <btn_instance>.addComponent(50,50,100,100);// properties of button.
So, I'm a beginning to intermediate Flash and AS guy grappling with some programming concepts.I find that when I create my own functions from scratch, especially to define a generic function to different movie clips, in this case to their onEnterFrame functions, I get unexpected results.The bottom is some code from a new simple website I'm trying to code. My problem is that I can't get the function working in a generic way. I know I may be taking the completely wrong approach and totally missing something, but I am continuously coming up with problems (seems to be a misunderstading of scope at a deeper level, not simple variable timeline scope, but inherant scope within functions, etc..).So, I will just copy paste the code here and try and comment as much as possible. For claritie's sake I will remove button codes except option1 and option2.
//initialization of a few global and one timeline variable. These should //be self explanatory in the code so I wont go into to much detail //my probs arent in the detail but in the overall relationship of the
I am trying to turn the following code (which works well when applied to a _mc) into a generic function I can use on the first frame of my main timeline:
I am new to flash and ActionScript 3.0.I am learning ActionScript 3.0. My requirement/need is the AS3 code for placing any type of Component(viz., Button, CheckBox, ComboBox, ListBox, radiobutton, Slider, Scrollbar,Label,TextField, etc.,) on the stage with desired width,height, X and Y parameters(values) which we mention in "Properties" tab of Properties Window in flash.
Hence, What I need is, (say)a generic ActionScript 3.0 method/function, which places any of the components present in "Components Panel" onto the stage. i.e., As per my idea, the function prototype or signature may be like this: function addComponent(int <width>, int <height>, int <XPos>, int <YPos>)
i.e., A basic programmer's task for defining a function for my requirement. I think,if I want to add a Button onto the stage at 100,100 pixel position and the button component's width and height are 50,50 respectively, (i.e., button.X=button.Y=100 && button.width=button.height=50). So, a button must be placed at 100,100, then, the sample code looks like this: Button <btn_instance> = new Button(); //creates Button instance <btn_instance>.addComponent(50,50,100,100); // properties of button.
I try to create a function to change border property of border container.To do that I create a function for each border container on my MXML.But I'd to code better and to do a generic function.Today my function is:
protected function bcContact_mouseOverHandler(event:MouseEvent):void { // TODO Auto-generated method stub bcContact.setStyle("borderVisible",true);
[code]....
bcContact is one border container Id.I try to replace bcContact by this but it doesn't work.
I have these images that will load when I input a certain string of text but I don't know how to combine functions to make a generic one that will work for all of the images. These are just two and they're basically the same thing except I have to make each function (something)1 and then (something)2 for the next image.
I'm not sure if you've noticed this, probably not, but function pointers in AS3 run much, much slower than calling the function directly. It's a recent finding, and an annoying one. I use function pointers a lot. An obvious example would be to easily change the behaviour of a certain object. Say I have a class that controls movement, it has a class level function variable called UPDATE (ie public var UPDATE:Function), and 3 or 4 actual functions it can point to.
This always me to quickly/easily change the behaviour of an object. Say for example I want an object to run on different movement code once it's collided with something, I can just do UPDATE = movement2; etc. However, a pointer for a function runs about 15 times slower than running the function directly, therefore I need a replacement. And I really have no idea why there is this absurd disparity in speed between the 2. With some variables, accessing a reference is faster than accessing the variable directly, obviously not with functions. What would you advise as a nice, simple replacement solution for the above example?
I have a html popup containing one flash file. Onclose of the popup I need to write some values into the socket. How can I handle the onclose event from flash ?
So I have recently created a Tshirt design application where a user can draw on a tshirt / add text / upload images. Though I am having a few problems. Problem #1: Using the pen tool I can only allow users to draw and reset the drawing using the graphics class, no idea how to create an eraser tool
Q1 - Is there any way to create the eraser? Problem #2: Once a user saves the shirt it is later encoded into a JPG or PNG With no way of editing the shirt in the future.
Q2 - I thought of saving the locations of the shapes / items they uploaded onto the shirt and colors and later re-creating the shirt once loaded. But ran into one problem that is I cannot save the drawing they did using the pen tool, only the location of the objects (MC's) is there any better way to creating this?
I have two vector graphics I imported to my stage and want to do a shape tween between them. But shape tween is grayed out. The images are imported Illustrator EPS's. I attached two screenshots.
I very often use animated text (rather for menu titles than paragraphs) in my flash works and the render of fonts is usually quite irregular. What I now do is convert the alphabet + figures of the font I am using to vectors (Ctrl + B) on the scene and then make movieclips with each letter, which I store in the library ready for AS to call them. The rendering quality is comparably better. The truth is I've never had to make more than, say 50 clips "by hand", but it would still make my life easier and save me dull time/work if there was a way with AS to transform a text field to vectors...
How would you define/create generative typography ? I thought also of some sort of "intelligent" adaption. For example a font that uses serifs in certain condition or not... Are there some findings in how you could access the vectors of a font in actionscript ?
Is there a way to use getters and setters for Vectors?Say, in my Main class, I would like to write
myVector.push(item);
and in another class, I have written:
public function get myVector():Vector.<int> { return _opponentCardList; } public function set myVector(myVector:Vector.<int>):void { _myVector = myVector; }
This doesn't really work as you have to set _myVector to a Vector. But what if you just want to push(), pop() or splice?
I'm currently developing a Flash website that incorporates an flv player. The controls on the player's skin are all vectors. I've set it up so that when you hit fullscreen on the player controls a fullScreenSourceRect is created which is working great. However when the the player is full screen, the once crisp vectors are now pixelated as if they were a bitmap.
Is there any way to modify the vectors of a DisplayObject at runtime? I import a Sprite or MovieClip on my application, and I want to be able to modify the vectors that composes it. A close approach is to use Graphic class, but it always renders below the Sprite, it can't clear the original graphic, and it can't modify the vectors, only draw new things. And if this is totally impossible, I would like to know how I can call Sprite.graphics.drawXXX, so that the graphics are rendered above the Sprite.
I'm working on a project which draws circles continuously at framerate and animates them around the stage and I'm running into performance issues.
I'm already converting all objects to bitmapData as soon as they become static. My question is, will converting the circles to bitmapData as soon as they are drawn increase performance? In other words, is animating say, 200 bitmaps (with transparency) faster than 200 vector circles?
Are there any drawbacks to this technique? (I'm thinking opacity problems maybe?)
If they were more complex shapes than circles would the answer be different?
I'm trying to serialize data in AS3 but am running into a frustrating problem. Originally I had problems with "myObjClass" not being convertible, but after I discovered "registerClassAlias" I got things working allright. Some time later, I added vectors to the myObjClass. I ran into trouble with Vector Strings before, as was reported here:
I'm trying to scale down some vectors but when i do they become pixelated. So I tried putting then in a container and scaling down the container, but pixelation still occurs.can anyone tell me why this is happening and a possible work around?Here is the function from my class:
private function addItems():void { addChild(itemsContainer);
I'm programming in AS3 using CS3, which only seems to publish using versions of flash up to and including V9.Anyway, I'd like to use some vectors of integers in my program, but these seem only available in Flash Player 10. I'd rather not use Arrays as these cannot be assigned "types" and are a bit slow and clunky.Is there an alternative to the vector class (i.e. arrays for which we can assign types)? If not, is there a way that I can bring flash player 10 into the File >> Publish Settings menu so that I can use vectors?To me this is a remarkable issue to have, because typed arrays are an essential part of any serious programming.
I'm trying to scale down some vectors that have a z position set (other than zero) and they are becoming pixelated. So flash is obviously bitmapping the vectors.
Does anyone know of a work around to stop the pixelation?
Here is the function from my class:
private function addItems():void { addChild(itemsContainer); // make the items.