ActionScript 3.0 :: Resizing A Sprite Without Scaling/streching Its Children?
Nov 29, 2009
I have a Bitmap. Let's say it's 100x100 in size. I would like to display that bitmap on a Sprite that for the sake of this example is 100x50. Since the height of the bitmap is double than the height of the sprite - I would have liked the bitmap to be cropped (and to later implement a "scroll-down" mechanism) - HOWEVER, apparently:
1. The size of an "empty" sprite is defined by the size of its first children(s) - once I addChild the bitmap into the sprite - the sprite becomes 100x100 (If I try to define the size of the sprite to 100x50 before adding the child, and then adding it - then nothing is displayed).
2. If I then try to resize the sprite by modifying its Height property - the bitmap get's "scaled-down", or rather "squashed-in" to fit the new size.I'd like the bitmap to retain its original size (and be cropped at the bottom).Can it be done (without copyPixeling to a different bitmap etc.), and if so how?
btw:(3) If after all that I try to scale the bitmap back up (by changing scaleY) - then the sprite itself is again gets scaled and resized with it...
I am not simply trying to contain things and have the container resize without the contents resizing. I would just use a simple MovieClip for that.. My main focus is on the use of BitmapFill. I'm trying to make a repeating background image for a container; thus far I'm able to draw my BitmapFill sprite to the size I want. (Which is the stage's height) but when the stage is resized, I want to re-size my container but have my containers BitmapFill crop or add more as the window is resized bigger or smaller. Allow me to illustrate what I mean:
I've got a simple rectangle sprite that fills with a bitmap from the library and a simple resize handler function that detects when the window has been resized.what I would like to do is have my rectangle resize to the height of the stage.stageHeight maintaining its bitmap fill, but not resizing the bitmap fill or any children within the sprite.
From what I've read, this is a little tricky because the sprite resizes in relation to what it contains.. or.. something like that.. I really don't know any more.. I saw one example where a person extended the sprite class but I don't know why or how..
in my library there is an image called 'pattern' and my code looks like this:
I've got a little problem with BitmapFill, I'm trying to use a sprite as a container for various things and i would like it to have a filled pattern background. my problem is that i want it to resize the sprite to the height of the window but not have the background fill resize, and add more / crop as the window size is changed. to illustrate what i mean, please view the diagram attached to this post .
I have an image in my library called 'pattern' and my code is as follows:
I am creating an AIR nativeWindow. I am adding two children, an HTMLLoader and a Sprite. The child Sprite has two children, a TextField and a Sprite that will be used to draw. I have set stage.scaleMode = "noScale" and stage.align = "TL", which the HTMLLoader seems to respect. However, the child Sprite scales its children whenever I set a height.
public function BaseWindow(){ var winInit:NativeWindowInitOptions = new NativeWindowInitOptions(); winInit.type = NativeWindowType.NORMAL;[code]..........
How do I prevent the distractor Sprite from scaling its children?
I have a List Component being resized at runtime based on the size of the Stage. It seems to scale the content rather than just changing the bounds of the list. Is there a way to change its size programatically without scaling the content?
I'm trying to build a webmap application in flex. For this, I've got a fxg-file which represents the maps. It's in a also there are some elements, like POIs, text etc., in this group. I zoom the with scaleX and scaleY, this works just fine for the map. But the problem is: All children zoom also. I don't want this. They should stay the same place on the map and the same size.
Heres some code the as function <fx:Script> <![CDATA[ import mx.skins.Border; [Bindable] public var hoehe:Number = 1; [Code] .....
ComponentsLakwView contains some labels etc. This should not be resized?
I have custom flex component inherited from UIComponent (compiled, no source code access). It has fixed width-to-height proportions and it's scalable. If I set its width and height to 100%, it's trying to fit parent's size, but it keeps width-to-height proportion, so if it's proportion does not equal parent's proportion, there can appear empty space near this component when resizing parent.
What I need, is to fit my component completely to parent's size. Is there any nice way to do this? I could listen to parent's resize event, and play with component's scaleX and scaleY
Ive seen this done in some website, the image while resized (down of course) doesnt lose quality. When I tried to scale the loader it loses quality. I even tried to use bitmapdata for that but it seems the result is the same.
'i am doing a game for children where users can drag and drop resize and scale movie clips on stage! The drag and drop is not an issue...however im not quite sure how to do all the rest... is there a way or a tutorial to do this?
i am looking for class or something to proportional outside scaling of stage and all included objects (internal or external).I know SWFfit and LiquidStage. I have got many problems with integrating SFWfit to my code (resizing is not affected to included objects). LiquidStage seems to be ok but it`s not freeware . I am looking for free possibilities to do it.I am trying to connect that with GAIA framework.
I am looking for a solution, on how to set a movie clip so it would fit to different monitor resolutions. I have found a few solutions (like changing the "px" to "%" inside the html file), but none of them give me the results I wan
I have finished my flash game, but when I used web Browser such as Chrome or FireFox to run it, it enlarged my game to full size of the browser. Is there anyway( in AS3 script) that I could prevent this from happening as well as hide the symbols that their sizes are bigger than my default size defined at the document property panel?
I have a container object that i add children to. I want to change the height & width of the container without the children scaling. In this case I draw a rectangle in flash which I'll use as the container object then export for AS.
What's the best way of resizing parent movieclip without affecting the children? I have a container movieclip that resizes depending on the stage, and when I add another movieclips to it they also resize, but I want them to keep the original size,
I creating a flash gallery(using flash first time) and found one problem. When i resize movieclip(container) it resize its children, so i could't resize them manualy to dimensions what i need. How i can disable resizing of children of movieclip?
I have sprites with dynamically created children: combo-boxes, buttons, and textfields. The number of children is variable and they're positioned vertically one under the other. If a sprite contains textfields only, its height corresponds to the joint height of all children + the spaces between them. In the case of sprites containing combo-boxes and buttons however, the sprite height is larger.
I may be on the wrong track here, but it seems that what is responsible is the object bounds. E.g. if my button height is 25 and getBounds returns 100, the sprite's height is larger by 75 pixels.The sprites are loaded into a scroll-pane, and depending on their size, the vertical bar is visible (or not). Obviously the above results in situations where a scroll-bar appears even though the entire contents of the sprite is visible, or one scrolls down to an empty space...Is there a way around this problem? Can object bounds be re-sized as well or can I overwrite this '100' value somewhere in Flash itself?
I have two options and I want to know whats faster. I have a pool of 1000 sprites objects in as3 on screen. When its needed each sprite has to resize itself. I can 1- Make each sprite a simple container to use graphics to draw a rectangle, that is, call a 'spriteInstance.graphics.' ,draw the rectangle and on each 'refresh', I do graphics.clear and redraw the rectangle but with the new size, this for each sprite. or 2- Create each sprite with a border and on each refresh, resize it Whats better?
How do you resize a sprite without resizing the contents? For example the script below create a sprite, attaches it to the root, creates a button, attaches the button to the new sprite then resizes the sprite. but it scales the button when I try to resize?[code]...
I have an AIR app who has a canvas that scales when I resize the window. I have a sprite that is added to that canvas. When I scale the window the sprite does not scale with it.How do I tell the added sprite to scale with the canvas? Or tell it to be 100% of the container always?Right now I am listening for a resize event and resizing the sprite on that. But that seems like a waste of code/ too much of a CPU hog because I can easily add an element (using MXML) and tell it to be 100% of the parent and it will scale it on its own (EG without telling it to).
I'm trying to add some scroll bars to a Sprite using ScrollRect. The Sprite starts empty and when I add something at 500, 500, it should scroll, as it is outside the viewport. Unfortunately, adding a 10x10 Sprite at 500, 500, doesn't make my Sprite change its size to 510, 510, but to 10, 10 ::- (.
We all know that DisplayObjectContainers resize according to what's put in them. But I didn't know up until today that if you put something at 500, 500, the Sprite / DObjContainer will NOT resize from 0, 0 to 500, 500, but simply jump directly at 500, 500. Annoying, as I cannot put Scrollbars on something whose content fluctuates so. I need 0, 0 to remain 0, 0 and if something is placed at 500, 500, the sprite's height should increase with 500 + that something's height.
I'm trying to add some scroll bars to a Sprite using ScrollRect. The Sprite starts empty and when I add something at 500, 500, it should scroll, as it is outside the viewport. Unfortunately, adding a 10x10 Sprite at 500, 500, doesn't make my Sprite change its size to 510, 510, but to 10, 10 ::- (.
We all know that DisplayObjectContainers resize according to what's put in them. But I didn't know up until today that if you put something at 500, 500, the Sprite / DObjContainer will NOT resize from 0, 0 to 500, 500, but simply jump directly at 500, 500. Annoying, as I cannot put Scrollbars on something whose content fluctuates so. I need 0, 0 to remain 0, 0 and if something is placed at 500, 500, the sprite's height should increase with 500 + that something's height.
I'm trying to simulate some fade in/out effects in Action Script 3 programmatically, using Timer class and controlling alpha property of the specified DisplayObject in time. In general it works and looks great. As I was expecting. But after I add some more child DisplayObjects to the parent Sprite it starts to behave weirdly. Children seem to not fade at the same rate as parent object and it visually noticeable, and ugly. There seems to be a short lag after parent already started to fade out and before children actually follow. Are there any additional measures I should take to avoid that? I do alpha manipulation only on parent object. I thought that'd be logical...