Have a question about why something works the way it does? Want to know why a particular API is the way it is? Submit a question below and I will try to get it answered!
I may not be able to get to all of the questions (don’t want to interrupt the engineers all of the time), but I will do my best
Pingback: WIWTW #1: So Long Object.watch
Why isn’t there a threading API/capability (for anything, not just network calls)? Will we ever get one?
What happened to country codes, and when will they become available within Flash again??
Pingback: Emmy Huang
Why does the Flash Player have a 4800 pixel limit on bitmaps?
You’ve opened the can of worms.
- Why didn’t you guys add an Object.equals() method. The usefulness is so apparent, and fuck that it’s not in ECMAscript.
- Why not have addFilter() and removeFilter() methods on DisplayObject? The current method is completely cumbersome, and removing specific filters is a PITA because the object reference in the filters array is a clone of the originally assigned object. Since there’s no equals(), one has to be very careful to remove the specific filter that is desired.
- hit testing objects. You must pass in the stageX and stageY coordinates, which means you cannot hit test a sprite unless it’s actually placed on the display list. Whaa?
- SharedObject is really two separate classes jammed together. Why was this done?
- Why does Graphics.lineStyle() accept a Number as its first arg when the value must be an integer?
- Why does SoundMixer.computeSpectrum() access _all_ flash sounds playing, even ones inside another SWF running in another tab on the browser? This makes the function completely useless, because you can never depend on it working in any real-world situation, because if the user has a 2nd tab open with flash on it then the security restrictions kick in and no data is returned from the method.
- Why OH WHY does flex break the function contracts of its superclasses? DisplayObjectContainer.addChild(DisplayObject) should always work, but if the container happens to be a flex container then it will choke if the child is not also flex. New methods should have been created to add/remove flex components and the existing method should have _kept on working_, essentially adding to rawChildren.
- Why does one need to add 5 to TextField.textWidth in order to set the TextField’s width? This magic number is also not in a named constant or documented anywhere. Similarly with 4 for textHeight.
- There are tons of places where a method parameter or return value is typed in a way that defies explanation. Two examples from my notes: XML.localName() is defined to return Object, but it can only ever return a String or null. Why not just define the method to return String? Event.currentTarget and Event.target are Object when they should be of type IEventDispatcher.
I could probably dig up more. Flash has been VERY VERY frustrating to learn because of all the wacked-out inconsistencies and idiosyncrasies.
Is there a performance hit taken when importing classes?
If I state import flash.display.* instead of flash.display.Sprite, will my app run more slowly?
Further, if I import the same class in every class I make, does that mean that class is imported that many times? Or is it simply a reference for the compiler (to know that it needs to be included)?
Finally, should I, where possible, use wildcard variable types instead of importing the type class?
i.e. This:
var thing:*
instead of this:
import com.whatever.Thing
var thing:Thing
How does importing work, at the compiler level?
Hey Justin, great segment!
You could probably guess that my question would be involving text
. So, why is it so difficult to have transparent and/or rotated text without including the font? Or why is inline-image support so diffcult?
I hope things are going well for you at Adobe! Talk to you soon.
Jon New
What aren’t private constructors allowed in AS3?
Great stuff!!!
[url=][/url]
Majority info here.
[url=][/url]
hello
I’m a flash amateur so forgive what will probably be a very stupid question.
All I am trying to do is get a button to play 10 sounds in a random order but without repetition. There are only 10 sounds so I just need to reshuffle them each time.
thanks!
Trying to create sliding images in Flash, created a strip, no matter the
size the program always cuts the strip in half.
Is there a limit to how long a strip can be?
Hi Justin,
I have a flash CS3 question. I am new to actionscript and no matter what script I am testing, I get “Access of Undefined property” and a flashing icon when I test the movie. All of my files are in a file called flvfiles (the.swf, .flv, and the video I am loading in). I have gotten a component to load an external file but beyond this…
Help!
Ellen
This has to be the most asked for an screamingly obvious question which really deserves an answer pronto. When will hardware acceleration be available for all vector and bitmap 2d and 3d flash movies? I am a real flash fan and do not want / need to learn silverlight to get this, but flash performance is not good (my clients are even telling me!)and even I am being tempted by the dark side. Please deliver a message to the community outlining your plans to do this otherwise, start to see your most loyal fans abandoning you for a place most would rather not go.
rspv please
Why does any non-embedded font disappear when being transformed in Flash 8/9 (using the “Saffron” engine)? Follow-up: Why can’t a system default font be embedded at runtime (also in the newer text rendering engine)?
Pingback: Justin’s Flash Blog » WIWTW: Bitmapdata.draw and RTMP Snapshotting
Why does the flash player fire a security error if I use computeSpectrum in a movie, and open youtube in another browser window?!? The security restrictions SHOULD be per flash player instance, but they act as if my movie is trying to access the youtube data. Is this a bug?
To test, close all browser windows, then open:
http://www.bloclabs.com/content/audio/
and draw a pretty line.
Now while this is animating, in a new window/tab, go to youtube.com and play any video. As it starts loading, an actionscript error appears and computeSpectrum stops working.
Hi Justin,
I’m wondering is there a way to set that flag without fms? Because i’m not going anywhere with just streaming an flv.
Thanks in advance.
Ps. I also i asked the same question in http://justin.everett-church.com/index.php/2007/12/07/wiwtw-bitmapdatadraw-and-rtmp-snapshotting/ , because i think that a visible answer is necessary
Hi Justin,
nice idea with this form – I hope you bring some light on this subject I describe here: http://blog.andre-michelle.com/2007/198/
Would be nice to get some informations.
hims
With flash player 9.0.115, if the server is down and you do a socket.connect this of course fails to connect. But subsequent attempts to connect fire SecurityEvent error immediately without attempting to connect because the original connect failed. Why is this ? Seems like an oversight or just plain stupid. The user now has to refresh the page to attempt another connect. geeze
Hey Justin,
Quick question, thought you might be able to shed some insight.
I develop flash video players and while messing around with SoundMixer.computeSpectrum() I’ve run into a bit of a conundrum.
First, this only happens with rtmp/rtmpe streams from a Flash Media Server 3 install. On the server side I have a main.asc which sets both videoSampleAccess and audioSampleAccess to “/” for all clients.
When I start playback of a video, I enable a set of custom controls which includes a small sound spectrum display – all works good until I pause the video for an extended period of time (> 1min), then upon resuming playback my SoundMixer.computeSpectrum() calls start throwing Security Error #2123.
Running Flash Player 9.0.115.
Hoping you have some advice?
Thanks,
mark
Make Money Fast by Transforming 6 Dollars into Thousands of Dollars
Here’s a legal way to supplement your income by earning thousands of dollars using the standard mail delivery service.
IT WAS PROVEN on Oprah and is COMPLETELY LEGAL!
You Can Laugh at Money Worries if You Follow This Simple Plan!
This is an opportunity for people who would like to work at home, and is an opportunity for them to invest time to get the lifestyle they have been wanting!
READ ON: Read this entire message carefully! (Print it out or download it.)
I found this on a bulletin board, and decided to try it.
Step 1: Get 6 separate one dollar bills, get 6 pieces of paper and write the following on the paper PLEASE PUT ME ON YOUR MAILING LIST. Wrap each dollar bill in each note, and include your name and address. Next mail the envelopes to the six people on the list.
Step 2: Now take the number 1 name off the list below, and move the other names up (6 becomes 5, 5 becomes 4, 2 becomes 1, etc.) Make sure to add your name as number 6 on the list.
Step 3: Now post your article to at least 200 newsgroups and message boards. The more you post the more responses you’ll get, and the more money you’ll make!
DIRECTIONS TO POST: (1)=open a blank word processor file(MS Word, Notepad, etc.), and place your cursor at the top of the blank page. From the edit menu select paste. Past a copy of this letter onto the word processor document so you can add your name to the list. (2)=save your new word processor file as text file. (3)=Log on to search engines like yahoo.com, google.com, altavista.com, excite.com, etc. then you search with the subject “money making message board”, “millionaire message board” or “money making forum” etc. (4)=Visit these message boards and post this article as a new message by highlighting the text of the letter and selecting paste from the edit menu, paste it. Fill in the subject, this will be the header that everyone will see as they scroll through the list of the posted groups. Click the post button, submit button, etc. You are done with the first one! Just copy and paste the same letter to the other groups. It will take about 30 seconds for each group. Remember the more newsgroups or message boards you post the more money you will make! You have to post a minimum of 200. That’s it! You will be soon be receiving money from all over the world, you may eventually need to rent a P.O. Box due to the large amount of mail you will be receiving. If you want to stay anonymous, you can make up a name to use, as long as the postman will deliver it. Just make sure all addresses are correct. When your money begins to come in, give it the first 10 percent to charity with spirit and share a good fortune!
The List:
1.Nichlas St. Lawrence, 689A Victory Hwy., West Greenwich RI 02817
2.Ryan Joseph, 338 N.College St., Newcomerstown OH 43832
3.Meg Nunn, 528 17th Place, Snohomish WA 98290
4.Benjamin Richards, 1587 Moonbeam LN, Chula Vista CA 91915
5.Ryan Miller, 588 Railroad St., Newcomerstown OH 43832
6.Robert McLeod, PO Box 496, Oxon Hill MD 20750