ActionScript 3.0 :: A Proper Solution To Using .this And Static Vars?
Oct 27, 2010
I'm trying to call a function in my main class's .as file from a sub-one.However, the function (in the main class called "makeTurret") needs to add it as a child to the main class. However, to access it from the sub-function it needs to be a static public function (to my knowledge).Because of this, I can't use this for the root.UNWORKING code (Specifically the makeTurret function at the bottom):
I used a "GlobalVarContainer" thing as suggested in this blog post: greenethumb.com/article/11/global-variables-in-as3 which seems pretty handy and I'll definitely use it for other things such as level number and health and so on. However, I still can't use the .this function, so I'm unsure how to actually assign anything to the MovieClip stage, so that things can be added to it as children.
I have created a class to define my main navigation buttons. I would like to handle which button is clicked/pressed as simply and elegantly as possible, and I figured the best way would be to add a static variable to the class that keeps track of the current button pressed. Here's some quick pseudo-code. Code: class MainButton ext MC static var currentButton:MainButton public var sectionToLoad:String public static function getCurrentButton() public function getSection() button.onPress = currentButton = this // other button actions. // then i can check for what the currently clicked button // is and now access its variables. MainButton.getCurrentButton().getSection() etc. etc. etc. I am curious if this is a "proper" way to go about tracking the buttons. I find it is pretty elegant, but i'd rather make sure that this is a good practice of using static class variables. Also, it looks to me that all custom class definitions become a _global object?
I am trying to set the value of some static vars but I need to reference the class with a string rather than a proper constructor. In AS3 I can do this with:
var ref:Class = getDefinitionByName(classDefinitionAsString) as Class; ref[varNameAsString] = newValue;
I can't find an equivelant approach that will work in AS2 though. I have tried:
var ref:Object = new [classDefinitionAsString]; ref[varNameAsString] = newValue;
This seems to just create an Object and as the vars that I am trying to access are static I don't really want to be using 'new' I just want to reference the vars.
it doesn't seem like you can use locally scoped vars within a static block?For example I was thinking I could do:
Code: public static var standardAgeRange:ArrayCollection = new ArrayCollection(); //static block {
[code]....
but apparently I have to first declare _n as a static var of my class (or as a static var within the block itself) in order to use it within the static block.needed to do...
private static var _n:int = 2;
then in the static block:
for (_n=2; _n<120; _n++)
In Java I'm able to use locally scoped variables within the static block. I know this isn't Java, just wondering if I'm missing something fundamental. (I couldn't find a lot of documentation online concerning static blocks in AS.)
If I only instantiate a class once should I make its vars static? I understand how this is of benefit if I make multiple classes, clearly you use less memory as it creates a reference to the same place for each class. Are there any other benefits for creating static vars or functions ?
For example I have my class 'MainMenu' which I create once (might even be my document class). In it I create a Code: private var someHolderForStuff:Sprite = new Sprite();
Should I rather create Code: private static var someHolderForStuff:Sprite = new Sprite();
pros and cons of either using a Singleton that enforces only one instantiation of itself, versus creating one common class with static vars which can be accessed by all other classes that import it?
In my testing, importing but never instantiating works fine. I can even change the value of one of the variables and then have another class see that changed value later on in the program.
If I *know* I will never actually create an instance of my Global class using the New command (but will instead just reference the variables using the class's name), then why should I need to make it a strict Singleton?
I have a client who will want an e commerce area for his site. Does anyone recommend a good Flash based program out there that will allow you to constuct an e commerce solution in both AS 2 or 3 . I know that is a lot to ask for but at this point I really need something that will not break my budget, I can use easily multiple times with different looks .
I am needing to turn off caching for and URLRequest and cannot seem to find a solution for a plain flash SWF.I see that cacheResponse can be set to false for AIR apps, but I am working in plan ol' Flash Pro creating a SWF. Has anyone succesfully set cacheResponse on an URLRequest (using URLLoader) so it does not cache any of the responses and loads the files new every time?[URL]..
I want to design an object for loading and showing customized data, for example, the object firstly loads all employees in database, then look up whether login user in the list, if so then show the login user, otherwise show dummy data "all employees"(means null). But another scenario is the component should "remember" last time user selected data and show in another page,
I want to ' import ' or ' download ' some SWF file into my main-swf file. I then want them to do a lot of communication back and forth. The best would be if I could just call functions from the new SWF file from my main-swf file, or the other way around. Do I use the loader class? And do I use the .parent.parent thing? Or is there a better solution?
I've spent the past 2 days scouring Google and dozens (easily over 100) websites trying to find an answer to something that people do every day! I am absolutely shocked that this info is not available anywhere online.
A simple FMS3 and AS3 and RTMP and FLVPlayback example. totaly not simple and not possible to find
I'm on planning/modeling phase to develop a remote desktop sharing solution, which must be web browser based. In other words: an user will be able to see and interact with someone's remote desktop using his web-browser.Everything the user who wants to share his desktop will need, besides his browser, is installing an add-in, which he's going to be prompted about when necessary. The add-in is required since (afaik) no browser technology allows desktop control from an app running within the browser alone. The add-in installation process must be as simple and transparent as possible to the user (similar to AdobeConnectNow, in case anyone's acquainted with it).The user can share his desktop with lots of people at the same time, but concede desktop control to only one of them at a time(makes no sense being otherwise).
Project requirements:All technology employed must be open-source license compatible.Both front ends are going to be in flash (browser)Must work on Linux, Windows XP(and later) and MacOSX.Must work at least with IE7(and later) and Firefox3.0(and later).At the very least, once the sharer's stream hits the server from where it'll be broadcast, hereon it must be broadcasted in flv (so I'm thinking whether to do the encoding at the client's machine (the one sharing the desktop) or send it in some other format to the server and encode it there).Performance and scalability are important: It must be able to handle hundreds of dozens of users(one desktop sharer, the rest viewers)We'll definitely be using red5.My doubts concern mostly implementing the desktop publisher side (add-in and streamer):
1) Are you aware of other projects that I could look into for ideas? (I'm aware of bigbluebutton.org and code.URL...)
2) Should I base myself on VNC ?
3) Bearing in mind the need to have it working cross-platform, what language should I go with? (My team is very used with java and I have some knowledge of C/C++, but anything goes really).
I'm working on a project that originally required me to use <area> elements and 40 copies of a single GIF image to have a hoverable and clickable <img> tag. I suggested SVG, and the client agreed to use SVG instead, as it was easier to work with for both of us.
Anyways, my question is, what cross-browser JavaScript SVG library will allow me to display and interact with pre-made SVG images.
I know of these libraries:
Raphaƫl: I'm currently using this along with a SVG loading plugin. But that plugin does not support Inkscape or Adobe Illustrator SVGs (i.e. most SVGs). cang: This library looks promising, but it requires <canvas> support, which IE doesn't have natively. svgweb: Another more-promising library. It requires Flash, but most IE users have Flash. jQuery SVG: It seems to be able to load SVG images, but development seems to have died. And it requires me to use a modified version of jQuery 1.3.
My client would like to provide somewhat-arbitrary images to my script and have chunks of them be "selectable" (see my demo here).
I'm putting together a swf file and I'm trying to have clouds moving in the background from right to left infinitely. Currently I made a cloud image the height of the movie and about 4 times wider than the movie and I have it tweening slowly. The image size and the fact it eventually stops is what I'm trying to change now. I made an "infinite" cloud image about 2/3rds the width of the swf. By infinite I mean the left edge and right edge match up, so it looks seemless if you repeat it over the x axis. Now I'm looking for a solution to create a movie clip that will loop this image so it's constantly sliding to the left and repeating itself.
I am looking for the abilities that Youtube's Chromeless player has to offer but for non-Youtube hosted videos such as Metacafe, Vimeo, Viddler, etc. Abilities I will need are :
[Code]....
Can I use Chromeless player for videos hosted on other sites besides Youtube? If not, is there a solution out there? If not, what languages/APIs would I need use and know to create such an application?
We'd like to show some shiny charts/plots/tables for some business data. It targets PC browsers and iPhone/iPad.
We have done some research and here's possible solutions:
HTML5: not yet very standard and we are lack of experience. Flash: it looks like Flash on iPhone runs on some sort of virtual machine, it's not very efficient. We have little knowledge on this too. Silverlight + Cocoa Touch: it looks like MS is now giving up SL. We need two times of work on GUI if we choose this. Maybe I can write some XAML parser for iOS using UIKit and Core Animation.
Hate to drop some bribe on my first post and all but I need answers fast and if any of you have been waiting for as long as I did for a demonoid acct you should be able to figure this out real fast Anyone with some decent flash/as2 skills should be able to figure this out real quick. First one to send back a working file gets the invite code.Ok long story short I purchased a fullscreen xml gallery from FlashDen that is supposed to resize. Here is the link to the demo...Well problem is it only resizes the images based on their width and not their height. (Panorama would show fine but a tall portrait would just go off the page) You will notice in that demo how the resizing is fixed to the side of the painting and not the bottom.
Well, to me this seams useless because I really need every user to be able to see the full pictures no matter what screen resolution they are at and no matter how they adjust their browser window.Believe me when I come posting on threads it means I have spend many many hours trying to figure it out myself...In this case I have spent 30 hours trying to solve this in the last two days....Now I am over the deadline I gave to my client/family member and am still at square one basically.Also note I have figured out how to make it so that it fixes to the bottom and thus shows the tall images in full but when I do this it is no longer centered in the page.
I am really tired and worn out but would love to work with someone's advice to make this a reality.Attached is everything you would need. Please note that by downloading this attachment you are agreeing to only using these files to your new friend Sean and would never think about using this for your own project.Attachment is too big...~3Mb so I had to put it on a server.. Grab it here.
1. Static var(an Array) stored in a class. 2. You create a variable reference to the static class in a separate class. 3. Splice some items from the reference variable in the separate class. 4. Trace the static class and the items have been removed from that too. 5. Verify several times. 6. Get confused. 7. Post on Kirupa.
Ok, so I have a bit of a mess here (Which I'm probably not doing right anyway, which could be my problem...). I have a document class, I'll call it as Body.as, that creates an object from another class known as Headgear.as. There are also other objects created from other classes, or will be in the future. Now, amoung all this, Headgear.as and all of the other classes Body.as will use to make objects require the use of dragging functions (starting and stopping dragging). On stopping drags, position checks are then made to compare a particular hidden movieclip with the dragged MC.
To try and save myself some hassle (from making the same functions over and over to ensuring that when the objects are created I don't need to send a complete crapload of variables just to ensure the position checking function would work), I had the functions for the event listeners (Which are set-up on the draggable MCs in Headgear.as) just direct to functions in Body.as
If I created a static method. say I decide to call on other methods within that static method. Do those methods I call on need to be static as well? what If I used some of the properties. Not to store data permanently, but just within that process. Do those properties need to be static ??
Yesterday I found myself wondering, what is the difference between either having a class with methods that are all static, or simply giving your class the static attribute?
Alright, so I have a class that is linked (via the linkage panel) to a scrollbox class. I'll paste the class here:[code]Ignoring the formatting, the commented out functions are the ones causing the issue. Adobe says that it's a static class and I can't use non-static functions. The way I wanted to use it was:
1. Call the page button generating function above.
2. In the main code in my program is this line:scrollbox.setClickFunction(historyContent.generate Page);So when the buttons that are supposed to be generated are clicked, the scrollbox class can call the History pages generatePage function and pass it which page to show. (I did this because there was a lot of text and a limit on how much would display, so small chunks sounded logical).
3. In the onClick function (which I haven't finished yet because the rest wont work), when you click one of the buttons it calls the set function. Its that simple.
I'm having difficulties doing an animation here, all I'd like to do is create 30sec animation for a big screen (without sound). It needs to have an aspect ratio of 16:9 and be exported in the file format of either mov or wmv. Any recommends for settings to do this the best way?
So far I've made my flash document as large as possible at that ratio (36" x 20" ), created the timeline to 30 seconds and started importing my graphics and such. My biggest problem I've had is when I export to mov, the animations are slow and the video time is longer than what I've set. (whereas exported as avi, the animation is normal) Any ideas on how to counter this problem?
s there a possible issue in the way the button is made not coded?I am using Flash CS4. My buttons seem not to work. I do not think issue is in the action script (I am scripting in 3.0).Here is the way I make the button. I add a movie clip on the stage on the over state ( so if you were to double click on that movie clip a new time line would open), at the end of that movie clip there is a simple stop(); code on its own line. I do not add extra frame on the over state.Then I assign the code to the button and of course cross reference its name in the properties and everything is matching up. Just in case here is my code:
floralyte_btn.addEventListener(MouseEvent.CLICK, onClickFloraLytePopUp); function onClickFloraLytePopUp(event:MouseEvent) :void { gotoAndStop("61"); }
All of my buttons work fine through the Up, Over, Down, HIt stages without the problem. The functionality works fussy, some of them I have to click twice to go to the specified frame with the UILoader, some do not work at all and some work.I double checked and all of them seem to be done identical.