Flash :: Get Stage.stageHeight Or Stage.stageWidth From Imported Class?
Jul 1, 2010can you tell me a simple and clean way to pass the dimension of the stage to another class, imported in my documentclass?
View 2 Repliescan you tell me a simple and clean way to pass the dimension of the stage to another class, imported in my documentclass?
View 2 RepliesI am using SWFOBJECT to embed my flash content. I have been worried about stage.stageWidth and stage.stageHeight returning 0 in Firefox/Internet Explorer; this problem is referred to in question #21 on the SWFOBJECT FAQ [URL]..I have been told that this problem is particularly prevelant on Macs. The SWFOBJECT FAQ (question 21) indirectly suggests that this problem does not occur with static publishing. Is this correct? Is it still advisable to implement a solution to this stageWidth/stageHeight problem, even if you are using static publishing?
View 1 RepliesI've been working on a project that requires lots of scaling around a center point.
I always thought that stage.stageWidth and stage.stageHeight give you the dimensions of the stage you set in the properties panel no matter what. But when I went into fullscreen mode (with scaling), both the width and the height changed to the dimensions of the screen rather than staying the dimensions I specified.
In my AS3 code all the elements on the page are dynamically positioned depending on the current width and height of the SWF - providing it's not under a certain value, then the items are back in their original position.
When debugging in the Flash player the size all reports correctly however when run from a web browser it does not - initially.
This is my HTML & PHP code for the entire page:
HTML Code:
<?php
function hashId($fn) {
$hash=md5_file($fn);
[Code].....
But I cannot get the size to report correctly without, say, clicking a button.
It seems to me like I need to force flash to re-draw the screen, but I had no luck trying to do that.
I'm having issue regarding the display when using Firefox 3.5 on MAC, I can see my menu and the display is correct. The menu just position above what it supposed to be positioned. It works fine with Safari on MACOSX.My flash size is: 1440x750It looks like Firefox can't recognize stage.StageWidth and stage.StageHeight. It returns 0.Some suggest implementing was to pass in the actual width and height of movie via FlashVars. The movie uses these instead of stage.stageWidth and stage.stageHeightDoes anyone have an example of code of how to fix that issue??
public function Main()
{
addEventListener(Event.ADDED_TO_STAGE, handleOnStage, false, 0, true);
[code]....
Working on personal full flash site and I can't really figure out how to make MC's position on Stage aligned on Firefox browser. Everything goes fine using Safari.
I have tried a method of set a timer every time it goes off (every 200 ms or so) it checks to see if stage.stageWidth > 0. If that is the case, do stop the timer and start resize on stage. However it's still not working on Firefox of MAC. :(
In my HTML code:
<link href="css/site.css" rel="stylesheet" type="text/css" />
Test Site
<script type="text/javascript">
var swf = new SWFObject("main.swf", "mymovie", "100%", "100%", "10", "#000000");
swf.addParam("allowScriptAccess", "always");
[Code]....
In as3 What is the difference between calling stage.width and stage.stageWidth I read somewhere that if we have nothing on stage then the value of stage.width is 0,but what happen when I have nothing on stage but loading contents dynamically on stage?I have tried this and when i have loaded content dynamically on stage then i have got
stage.width=value; // where value is dynamic number
I created a custom class in a .as file. I then linked this custom class with a symbol from the library in my .fla file. However, I can't reference stage.stageWidth in my custom class file. I get a null object error.
I think this happens because the custom class file is associated with a symbol on the stage and not the stage itself. For example, if I set the fla file's Document Class to the name of my custom class I can reference stage.stageWidth in the custom class. But I don't do this because I am creating multiple instances of the symbol on the stage. In order to do that properly i found I have to set the class in the properties panel of the symbol to the underlying class which then defines how each symbol behaves.
Under this type of linkage, is there a way to reference the stage width from the class? I've tried root.stage.stageWidth and parent.stage.stageWidth to no avail. I also made sure to import flash.display.* in my custom class. Below is the code for my .fla file and my .as file. In the .as file you'll see the line "x = Math.random() * stage.stageWidth;". This is the line giving me problems. I could hard code it, as I do for the y variable on the next line, but I'd prefer not to in order to keep the code flexible.
[Code]....
I made a class to create and handle a google map in my swf and everything works very well. But I want to make my layout completely liquid. To acomplish this, I need to call the stage from the class... But it doesnt seem to be so easy.
the code is bellow:
[Code]....
I need to double my stage size, as well as all of the objects on the stage. Is there an easy way to do this? stage.stageHeight, stage.height, etc do not work.
View 3 RepliesI am building a simple ToolTip-Class. In case the cursor gets to close to the stage's border's I'd like it to flip accordingly, so it won't get cropped.
For this I'd like to compare the stage width and my mouseX and then scale and wove things accordingly.
However when I try to get stage.stageWidth from inside my package it will return null.
In actionscript 3 (as3) What is the difference between calling stage.width and stage.stageWidth. This was something I remember I got confused about in the past (Adobe's api docs are an artform in obfuscation
View 2 RepliesWhat am I missing here? According to the docs:
Quote:
When the value of the scaleMode property is not set to StageScaleMode.NO_SCALE, the stageWidth property represents the width of the SWF file as set during authoring in the Document Properties dialog box. This means that the value of the stageWidth property stays constant as you resize the Flash Player window. This property cannot be set. So stick this in a new FLA
[Code]...
and the traces are of different values. According to the docs, this shouldn't be happening. What's going on? Did I miss something little?
Anyone else has experienced weird behaviors and unexpected values when checking for stage.stageHeight while you have Bandwith Profiler open in Flash IDE?
I have been using this for testing Perlin Noise stuff:
[Code]...
As you see here, the swf is set to a height of 400 When executed with test movie, control-enter, the trace returns 400 .. now, if you try this with the Bandwidth Profiler open, it would return 300, and the Sprite would only extend to 300 height.
How do control the stagewidh and stageheight Using script in AS3?
View 1 RepliesI have two problems. 1) the page still will not resize properly until the window is resized. I assume I have the code wrong somehow.
2) I changed the height of my menu object to stage.stageHeight, but its now coming up squished and only about 30% of the actual height of the stage. I am not sure what I did as it seemed to be working before, but I cant seem to fix it.
Code:
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.RESIZE, stageresizeListener);
[Code]...
I am getting a 1009 error using tweenlite. I have placed the COM folder of tweenlite in the same directory as the FLA. On the main stage I have imported the tweenlite class using:
Code:
import com.greensock.*;
import com.greensock.easing.*;
On the main stage I have a MC called mainholdermc. When I click a button called mentions but on the main stage it basically tells mainholdermc to play. This works well. I have another movieclip called vosdes. At the same time that mainholdermc plays I want to use tweenlite to make the aplha of vosdes lower. If I put this actionscript on the main page it works fine:
Code:
mentionsbut.addEventListener(MouseEvent.CLICK, mainholder);
function mainholder(event:MouseEvent):void {
mainholdermc.gotoAndPlay(2);
TweenLite.to(vosdes, 0.4, {alpha:0.1});
}
The problem is that I want to move the tweenlite command to within the the vosdes movieclip. So within the vosdes movieclip I have this written in the actionscript:
Code:
import com.greensock.*;
import com.greensock.easing.*
TweenLite.to(this.vosdes, 0.4, {alpha:0.1});
I found that by using
Code:
this.MC_NAME
it is the equivalent of the _root in AS2.
However this is not working. When I compile the FLA no errors occur until I click on the mentionsbut and I get the following error:
Code:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.greensock::TweenLite/init()
at com.greensock::TweenLite/renderTime()
at com.greensock.core::SimpleTimeline/renderTime()
at com.greensock::TweenLite$/updateAll()
[Code] .....
I am creating a android app using adobe air (flex sdk 4.6.0) and i am trying to find out what the width of the phone screen is in pixels. So I am fallowing the tutorial here but when ever i copy the code into my project and click run it always gives me this error "TypeError: Error #1009: Cannot access a property or method of a null object reference." and goes to the line that has stage.stageWidth I have also tried stage.width but it does the same thing. So does stage.stageWidth no longer work or how do you tell the screen size of the tablet or phone? Was it replaced with something else for phones? I am trying to get the information so i can center images in the center of the screen using action script.[code]
View 1 RepliesI've seen this in several of my projects, when testing the stage.stageHeight is 100 less than what I've set the property to. I looked around and found at thread from 2004 (AS2) that talks about it, and found one in 2009 (AS3)With this in mind, I almost always have this:
ActionScript Code:
var SW:int = stage.stageWidth;
var SH:int = stage.stageHeight;
[code].....
how to make my package use stage.stageHeight so I can tell a ball to bounce when it reaches the bottom of the stage. I'm calling my ball to the stage from the library in a way I'm not used to and have never done so I'm assuming it has got to do with that. if you take a moment to look at it (pretty simple i've stripped out everything except for the physics that makes a ball drop and bounce) and let me know why I cant detect the stage.
particle.as file:
[Code]......
So I'm trying to do a simple graph with rollover definitions. I have the graph on one layer in the root along with the definitions. On a hit testing MC I have the following:
var defbox:info = new info();
var mcName = this.name;
var xPos = (MovieClip(parent).stage.stageWidth)/2;
[code]....
Experimenting with Flash as usual.Preloader's are always something that have caused me trouble.Here's what I typically use for a timeline based preloader in AS3:
this.addEventListener(Event.ENTER_FRAME, loading);
function loading(e:Event):void {
var total:Number = this.stage.loaderInfo.bytesTotal;[code].......
I'm really interested in a preloader that loads right across the stage however - regardless of if the stage is resized.I should imagine it'll involve implementing = Math.round(stage.stageWidth); at some point?
I am trying to set masks and other component positions in relation to Stage size.AS3 CS5I trace stage.stageWidth on a 800x600 pixel stage and I get - 100My stage will scale within a Director piece.Is this a bug? Modal condition? Releated to scaling??
View 7 RepliesThe old loaded swf issue. How can I keep the dimensions of the loaded SWF to that of its FLA, and not to the new stage where it is loading? I know there is only one stage, so i just have to hard-code this into the loaded SWF right?
View 9 RepliesI've decided to start re-writing my project, but this time making the use of class files rather than nesting code inside my MovieClips.
Now it's come to the "message box" that I previously wrote, and I'm having some troubles. (note: I don't really want to download a pre-built one as my message box class end up being the backbone for several custom interfaces).The problem is that I cannot, for the life of me, figure out why my message box class cannot access "stage.stageWidth", "stage.stageHeight", "MovieClip(root).currentWidth", etc.
This is the code for the working "messageBox.as":
ActionScript Code:
package com.components{
import flash.display.Shape;
import flash.display.MovieClip;
[code]....
I've tried several variations of creating the movie clip, but to no avail. I've tried like creating a global movie clip variable and that attatching the movieclip to it in this function, the same with a display object, creating a function variable and doing both of the above, etc.I just cannot figure it out! All of my other classes are working just fine!
I have a main.swf and a slider.swf. I load the slider.swf into main.swf. In my slider.swf I have this code which adds an image to the stage from the Library:
[Code]...
I assume it has to do with the stage.stageWidth. Is there a another way to reference the stage. If I load the the image externally via a loader I can use the stage.stage Width.
I have a class called shapeC that only creates a rectangle and then addChild(rectangle);. That class is instantiated on the main timeline. Currently, the only way you can see that rectangle is to add the instantiated class to the stage via addChild(shapeC);. My question is, is there a way that the shapeC class can add the rectangle to the root stage without requireing the instantiated class to be added to the stage?
View 4 RepliesI'm after a way to implement a similar style of navigation as the blue strip that enters from the right hand side of the stage on this website:
[URL]
I'm fairly sure it will revolve around the use of a stage.stageWidth listener on an mc and then subtracting a certain amount to ensure it doesn't span the entire width..
I've had this annoying problem since CS1 and persists through CS3. If i import an image (either to stage or to library then placed on stage) the pixel size reported in the properties box is smaller by a very small amount. For example, I just dropped a 1005x650 PNG on the stage. The properties box shows this as w[1004.8] h[649.9]. The file is 72ppi in photoshop. Zooming in confirms that the image is shrunk slightly. In this case, the image was same size as the stage and I could see the white background showing through on the right edge of the graphic. It means that everytime i put a bitmap graphic on the stage, I have to correct the w and h in the properties box.
Does anyone else have this problem? Is there a solution? Does it occur in CS4?
I've got an application which gives the viewer the capability to create a design then further customize it with their own art, i.e. a logo, which can be a .jpg, .gif or .png. I may narrow the file options down, but right now I'm finding when one prints this design (I have a "print" button as well) any transparent .png file that's in this design prints out with a white "box" that is obviously the canvas on which said .png was designed.
View 2 Replies