Re: [Flashcoders] Weird getURL behavior
Setup a http proxy (like proxytrace http://www.pocketsoap.com/tcptrace/pt.aspx) on your IE and you can thus see exactly what is being sent -- compare the HTTP headers, the url, the responses, of a working page and a non-working page. You will see exactly what is happening and most likely find the cause of your problem. good luck! B. 2006/8/2, Merrill, Jason <[EMAIL PROTECTED]>: >>Did you check your webserver's access log and see what you get when getURL( ) >>runs? I don't have access to that unfortunately. Big company. :) But good idea, I'll see if I can cut through some bureaucracy to get that information. >>Another quick test is to change your .doc extension to .html and see what >>happen. Maybe your webserver is configured not to serve that file type? (doesn't >>seem like it since you can get it when you try it at the address bar) No, it doesn't happen on other people's browsers, or if I enter the URL manually, so that wouldn't be the issue. Thanks though. >>Test it on Firefox too and see what happen... Actually, my site doesn't appear at all in Firefox, not sure why - probably just the way I am writing out the embed tags from external Javascript, but this doesn't need to work in Firefox anyway... Thanks anyway for your ideas. Any other thoughts? Jason Merrill Bank of America Learning & Organization Effectiveness - Technology Solutions ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: RE: [Flashcoders] Problems getting the brightness of a colorreturnedfrom getPixel
hum, I guess you missed my last post(?) Here's the code again: function computeBrightness(pixelvalue) { var r = pixelvalue >> 16 & 0xFF; var g = pixelvalue >> 8 & 0xFF; var b = pixelvalue & 0xFF; var bright = Math.max(Math.max(r,g),b); return Math.round((bright/255)*100); } And for an "optimized/faster" version, you could try something like: function computeBrightness(pixelvalue) { // returns the larger value of r, g or b -- and scale it down to a 0..100 range. var r = pixelvalue >> 16 & 0xFF; var g = pixelvalue >> 8 & 0xFF; var b = pixelvalue & 0xFF; var bright = (r>g)?((r>b)?r:b):((g>b)?g:b); return (bright/255)*100; // no rounding. } (Again, this is untested code -- but it looks like it should work). Bernard 2006/7/30, James Deakin <[EMAIL PROTECTED]>: HI Guys, Thanks very much to you all for your help and explanations. I understood that the number represented a colour value but I now have a much better understanding of how it does so. In your opinion what is the most efficient way to retrieve the relative brightness of that colour. What I need is a value between 0 and 100 where 0 is black and 100 is white and the numbers in-between represent the shades in-between. What I am going to try is this. Split the number into its components RGB use this code which came from the Flash API project //colorModel converter RGB->HSB //returns a hsb object RGBtoHSB = function(rgb){ var r = rgb.r var g = rgb.g var b = rgb.b var hsb = new Object(); hsb.b = Math.max(Math.max(r,g),b); var min = Math.min(Math.min(r,g),b); hsb.s = (hsb.b <= 0) ? 0 : Math.round (100*(hsb.b - min)/hsb.b); hsb.b = Math.round((hsb.b /255)*100); hsb.h = 0; if((r == g) && (g == b)){ hsb.h = 0; } else if(r >= g && g >= b){ hsb.h = 60*(g-b)/(r-b); } else if(g >= r && r >= b){ hsb.h = 60 + 60*(g-r)/(g-b); } else if(g >= b && b >= r){ hsb.h = 120 + 60*(b-r)/(g-r); } else if(b >= g && g >= r){ hsb.h = 180 + 60*(b-g)/(b-r); } else if(b >= r && r >= g){ hsb.h = 240 + 60*(r-g)/(b-g); } else if(r >= b && b >= g){ hsb.h = 300 + 60*(r-b)/(r-g); } else{ hsb.h = 0; } hsb.h = Math.round(hsb.h); return hsb; } to turn it into an object with three values hue saturation and brightness and then just make use of the brightness. If there is a better way especially a more efficient way I would really like to know. On 7/29/06, Mike <[EMAIL PROTECTED]> wrote: > Small correction. > > This: > "This compares each bit in the first number to each bit in the > second > number. If both bits are 1 (on), that bit is 1 (on) in the result. If > both bits are 0 (off), both bits are 0 (off) in the result. So the > result is:" > > ...should be: > "This compares each bit in the first number to each bit in the > second > number. If both bits are 1 (on), that bit is 1 (on) in the result. If > *either bit is* 0 (off), *that bit is* 0 (off) in the result. So the > result is:" > (emphasis added) > -- > T. Michael Keesey > > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Mike > Sent: Saturday, July 29, 2006 3:25 PM > To: 'Flashcoders mailing list' > Subject: RE: [Flashcoders] Problems getting the brightness of a > colorreturnedfrom getPixel > > You seem to be thinking of numbers as if they are stored like strings. > They aren't. > > RGB colors are stored as 3-byte (24-bit) numbers. > > For example, red looks like this in binary: > > b > > ...which is the same thing as this in hexadecimal: > > 0xFF > > ... which is the same thing as this in decimal: > > 16711680 > > To isolate, for example the red portion, you can use SHIFT RIGHT (>>) to > shift all bits to the "right" by 16 bits. Binary: > > b >> 16 = b > > Hexadecimal: > > 0xFF >> 16 = 0xFF > > Decimal: > > 16711680 >> 16 = 255 > > Generally it's a good idea not to presume that there may not be more > bits to the left, so you can filter them out using a bitwise AND (&). To > explain, this better, here's how to extract the green value from bright > cyan (0x7F): > > The binary value of the color: > > 0111 > > Split into colors: > > 0111 > > Shift right 8 bits: > > 10111b >> 8 = > > In hexadecimal, this result is: > > 0x > > In decimal, it is: > > 65535 > > Clearly this is too large, because it includes the red value. To remove > it, we use a bitwise AND. > > b & 0xFF = b = 0xFF > > To illustrate, we are taking this value: > > b (=0x; =65535) > > ...and doing a bitwise AND with this value: > > b (=0x00FF; =255) > > This compares each bit in the first number to each bit in the second > number. If both bits are 1 (on), that bit is 1 (on) in the result. If > both bits are 0 (off), both bits are 0 (off) in the result. So the > result is: > > b (=0xFF; =255) > > ...which
Re: [Flashcoders] Problems getting the brightness of a color returnedfrom getPixel
In other words, to make your above code to compute brightness work from a value returned by getPixel(), just change the few first line of the HSB method from: RGBtoHSB = function(rgb){ var r = rgb.r var g = rgb.g var b = rgb.b ... to: RGBtoHSB = function(var pixelvalue){ var r = pixelvalue >> 16 & 0xFF; var g = pixelvalue >> 8 & 0xFF; var b = pixelvalue & 0xFF; ... ...then call it this way: var pixel = getPixel(); var hsb = RGBtoHSB(pixel); then simply use hsb.b Hope it helps explaining :-) B. --- you could even recode the method to just return the brightness alone (no Hue, no Saturation): (NOTE: this has not been tested - I simply stripped off the unnecessary code from the previous method) function computeBrightness(pixelvalue) { var r = pixelvalue >> 16 & 0xFF; var g = pixelvalue >> 8 & 0xFF; var b = pixelvalue & 0xFF; var bright = Math.max(Math.max(r,g),b); return Math.round((bright/255)*100); } If I understand correctly, this should return a number from 0 to 100 representing the "brightness". Which is in fact only the "highest" channel value. (scaled down to the 0-100 range). 2006/7/29, Zeh Fernando <[EMAIL PROTECTED]>: > Thanks very much for your response Martin but I don't understand it. I > don't > have three vars called R G and B. I just have a number which was retuned > from getPixel. Am I being stupid? I can't see how I should do what you > sugest. Pease explain a little further. That number you're getting is a color. You're just seeing it in decimal form, rather than hexadecimal form. It's the same thing. For example, the value for white is either 16777215 or 0xff (the two are the SAME number, just represented in two different ways). On 0xff, the first "ff" pair is R, then G, then B. Like when you have html color, "#ff". To extract the single R G and B values from a color, simply apply Martin's code to the color. var color = 0xffc1e2; // or the one returned by getPixel, same thing var r = color >> 16 & 0xFF var g = color >> 8 & 0xFF var b = color & 0xFF Then R, G, and B will contain the values for each channel, going from 0 to 255. Calculating brightness from that is one whole different matter, though. - Zeh ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Attention Recursion & Speed Experts
I am assuming this is for AS2 - right? If you want speed that probably means you are dealing with a lot of data(?) 1- What is the typical "recursion" level? 2- What is the typical number of items? 3- What is the typical size of "sub arrays"? In general making a function call is not fast at all. Better iterate than recurse. B. 2006/7/25, Steven Sacks | BLITZ <[EMAIL PROTECTED]>: Is there a way to make this script any faster? Array.prototype.flatten = function(r) { if (!r) r = []; var l = this.length; for (var a = 0; a < l; a++) { if (this[a].__proto__ != Array.prototype) { r.push(this[a]); } else { this[a].flatten(r); } } return r; } This function takes an array and flattens it, meaning any nested arrays will get flattened into a single array. Example: x = ["a", "b", "c", ["d", "e"], "f", ["g", ["h"]], [[], "i"], "j"]; y = x.flatten(); y >> ["a","b","c","d","e","f","g","h","i","j"] Issues: Array.reverse() and Array.unshift() are notoriously slow and any speed gained from doing a reverse while loop would be lost. I don't see how this script could be sped up, but I'm not a recursion expert. The current speed increases I have are: 1) Single character variable names 2) this.length stored in a variable avoids computation every loop. 3) Most common if true (not a nested array) comes first I'm not clear which, if either, is faster: if (x != y) vs if (!(x == y)) That's the only other place I can see a spot for a possible speed improvement. Thanks! ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] AS3, BitmapData and domain security
I am not sure this is relevant to the discussion but: Your proxy trick will not work to access resources from "local machines" within a client's NAT. The flash player could potentially access those since it is already located behind the NAT. What I mean is that the flash player might have network access to some non-internet-public stuff. B. 2006/7/22, Paul Neave <[EMAIL PROTECTED]>: Thanks jd. On 22/07/06, John Dowdell <[EMAIL PROTECTED]> wrote: > If the foreign data acknowledges you (via a policy declaration on > their server), or if your own server proxies that data yourself, then > the ability to get inside that bitmap data is available. I don't see the point of restricting access to BitmapData from another server when all you have to do to get at it is use a proxy script on your own server. Here's an example: http://www.neave.com/temp/proxy.php?proxy_url=http://www.google.com/intl/en/images/logo.gif The image looks as though it's coming from my server but it's actually coming from a domain I don't have server-side access to. So from Flash's point of view, there's no security risk. In AS3: var request:URLRequest = new URLRequest("http://www.google.com/intl/en/images/logo.gif";); var loader:Loader = new Loader(); loader.load(request); addChild(loader); would work fine, but I can't use BitmapData methods on the image. If I replace the URL with the proxied one above, I'd be able to use BitmapData without any problem. As far as I can see, any potential "hacker" could use a proxy script like this so I don't see what security benefit there is apart from just annoying developers! I'm now left with two options: 1) either proxy the image so I can access BitmapData (which costs me bandwidth and is much slower than direct access, especially if you're accessing many images at once) or 2) don't use BitmapData and put up with having the images pixelated when scaled or rotated. Either way it doesn't make me happy :( Paul. ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Text Arching...
uhoh... potential "help vampire" identified! - Just want to add a detail you did not mention: The Nike uniform builder text style has two different types of "arching": #1- "normal" (letters simply rotated individually following a path) #2- "shear" (vertical lines stays vertical) -- #1 is easy to achieve - plenty of libraries, etc. but, #2 is more difficult to do -- I personnaly never saw something to do that. You might have to do a manual shear operation with text rendered onto a bitmap (would require flash player 8+). B. 2006/7/11, Ian Thomas <[EMAIL PROTECTED]>: Hi Umesh, You sent this exact same question on the 26th of June, and got 19 replies... I'm not sure why you need to ask it again..? Old threads here: http://chattyfig.figleaf.com/pipermail/flashcoders/2006-June/168431.html and here: http://chattyfig.figleaf.com/pipermail/flashcoders/2006-June/168483.html Ian On 7/10/06, Umesh Patel <[EMAIL PROTECTED]> wrote: > Hello, > > I have following question. > > I saw nike's unifrm builder, Nike Uniform > Builder(http://www.niketeam.com/v2/new/Sport...T=BBM&CAT=UNI), they built > uniform generator using Flash, the only thing wondering me is, how did they > manage to arch the text, if anybody has any clue then I would be very happy > to see little bit of action scripting. > > I want different arching with click of a button or something like that, I am > attaching a sample of arching that I am looking for! > > If anybody figures it out. thanks, > > Umesh Patel > > Dynamic Team Sports > 416.496.8600 > --- > This email and any files transmitted with it are confidential and intended > solely for the use of the individual or entity to whom they are addressed. > If you have received this email in error please notify the sender via reply > mail and delete all copies form your records. Any views or opinions > presented in this email are solely those of the author and do not > necessarily represent those of the company. Employees of Dynamic Team Sports > are expressly required not to make defamatory statements and not to infringe > or authorize any infringement of copyright or any other legal right by email > communications. Any such communication is contrary to company policy and > outside the scope of the employment of the individual concerned. The company > will not accept any liability in respect of such communication, and the > employee responsible will be personally liable for any damages or other > liability arising. The company accepts no liability for any damage caused by > any virus transmitted by this email.' > > > > > > > > > > > > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Text Arching...
- Your example nike url does not work - I do not see any "arching" just by visiting their site -- where is that? - I do not see any "attachments" to this email - you must have a problem sending emails to this list since it appears you sent your email twice When you are saying "text arching" I assume you mean displaying text following a curved path - namely an "arc"? Like text going around a circle? I also assume that you want to be able to change the content of the text dynamically. Since it is possible to rotate text, you could roll your own algorithm and draw each letter separately -- each of then positioned and rotated correctly to follow any path you can imagine. B. 2006/7/10, Umesh Patel <[EMAIL PROTECTED]>: Hello, I have following question. I saw nike's unifrm builder, Nike Uniform Builder( http://www.niketeam.com/v2/new/Sport...T=BBM&CAT=UNI), they built uniform generator using Flash, the only thing wondering me is, how did they manage to arch the text, if anybody has any clue then I would be very happy to see little bit of action scripting. I want different arching with click of a button or something like that, I am attaching a sample of arching that I am looking for! If anybody figures it out. thanks, Umesh Patel Dynamic Team Sports 416.496.8600 --- This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the sender via reply mail and delete all copies form your records. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. Employees of Dynamic Team Sports are expressly required not to make defamatory statements and not to infringe or authorize any infringement of copyright or any other legal right by email communications. Any such communication is contrary to company policy and outside the scope of the employment of the individual concerned. The company will not accept any liability in respect of such communication, and the employee responsible will be personally liable for any damages or other liability arising. The company accepts no liability for any damage caused by any virus transmitted by this email.' ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Help for a Java Guy: Instantiating a MovieClip with a linked class and calling class methods
Alternative way of instanciating a class without a library and without the __Package hack either. Create a class with this function: function attachClassMovie(parentmc:MovieClip, className:Function, instanceName:String, depth:Number, argv:Array):MovieClip { // Create emptyMovieClip var new_mc:MovieClip = parentmc.createEmptyMovieClip(instanceName, depth); // Save classe prototype new_mc.__proto__ = className.prototype; // apply the constructor className.apply(new_mc, argv); // return new clip return new_mc; } var mc = attachClassMovie(parent_mc, com.Class, "child", 10, ["param1", "param2"]); 2006/7/7, Julian Bleecker <[EMAIL PROTECTED]>: Ian, Those casting gymnastics definitely help — thanks a lot. Julian On Jul 7, 2006, at 9:27 PDT, Ian Thomas wrote: > On 7/7/06, Julian Bleecker <[EMAIL PROTECTED]> wrote: >> One other thing occurred to me on this topic, that might actually >> save the trouble of using a hash table, which AS direly needs. >> >> Is there a way to summon forth a class that's been instantiated in >> any of the ways described below, by name? >> >> In other words, if I've done this: >> >> for(var i:Number = 0; i < 12; i++) { >> Object.registerClass(symbolName,FooA); >> var clip:FooA=FooA(myMovie.attachMovie >> (symbolName,"anInstanceName_"+i,depth)); >> } >> >> And elsewhere, I want to summon forth these dynamically in another >> loop or otherwise (something I might normally do by stuffing the >> instances in a hash or map somewhere and using the name as the key) - >> can I do that in some fashion? Is there an AS idiom for obtaining a >> reference to a MovieClip (or other runtime object) by name? >> >> Julian > > Firstly, Actionscript does have the equivalent of a HashMap. > Everything derived from Object can be treated like so: > > var obj:Object=new Object(); > obj["someKey"]="Hello"; > trace(obj["someKey"]); // traces "Hello" > > The bracket access on an object actually accesses the properties and > methods of that object. > Hence: > var myClip:MovieClip = ...some movieclip... > trace(myClip._visible); > trace(myClip["_visible"]); // equivalent to the last line > myClip.doSomething(1,2,3); > myClip["doSomething"](1,2,3); // equivalent to last line. > myClip._y=20; > myClip["_y"]=20; // again, equivalent > > When you create/attach an instance of a MovieClip to a parent > movieclip, you are actually creating new properties on that parent > clip. > > So: > var myClip:MovieClip=someClip.attachMovie("Symbol","aNewClip",1); > trace(myClip==this["aNewClip"); // traces 'true' > > To get back to your original question, this means you can type: > var myClip:MovieClip=myMovie["anInstanceName_0"]; > > to retrieve your clip. > > HTH, > Ian > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] HashMap?
For some AVM1 and AVM2 flash representation of objects, fire up this breeze presentation about the flash player 9. http://seminars.breezecentral.com/p64058844/ Around minute 28 into the presentation, it talks about AVM1 and AVM2 representation of an object. Like I suspected, AVM1 uses a straight hash table. B. 2006/5/16, Ron Wheeler <[EMAIL PROTECTED]>: Bernard Poulin wrote: >> If you can not tune a HashMap it will be worse than an ordinary array. >> It will take more space and more processing time. > > This will of course depend on the size and usage - it *may* be more > efficient with hashmaps. Do you really think we can generalize being it > worse all the time? > I will not be far wrong. If your primary allocation is to small, many array keys hash to the same spot and you have to search a long linked list. It is is too big, you waste a lot of space. It is not trivial to increase the size of the allocation dynamically since you must rehash all of the entries. > Keeping an array "ordered" to be able to do binary searches can > statistically cost a lot of "copying" at insertion time. You are only adjusting links unless you want a balanced tree. > Binary searches may involves a lot more string comparison. In a binary > search comparing the "string hash" value is of no use to know if the > value > is "greater" or "lower" (to decide for the next search direction). In > hashmaps, the lookup in the "chain" after the hash jump can, most of the > time, "skip" a string entry without even looking at the characters by > comparing the 32bit integer hashes. String hashes are only useful for looking up a specific value. It is unlikely that the hashes are even stored since once you store the key/value you no longer have any need for the hash since the position in the main table is known and you can follow the links in the overflow back to the main table(usually). If you are hashed into the overflow, you have to examine each key since the hashes are identical for everyone in the list (otherwise they would not be in the list - they would be in another list of collided hashes). > > About Arrays (this is more than slightly OT) :-) > > I still believe Arrays are implemented as associative arrays. But this is > just pure belief since I have no proof and it could easily change from > one > version of the VM to the other. > "Associative array" is not a physical description of the implementation. It describes the logical way that an Actionscript programmer finds the value associated with a key. The implementation of Array probably involves a fairly simple linked list of key objects that point to value objects. Whether the keys are linked as a tree structure to speed up access is an interesting question which was raised earlier. > var a:Array; > a[0] = 'abc'; > a[123456789] = 'high index value'; > a["this is text"] = 'non-integer index'; > > trace(a.length); /// should output 123456790 > > Sidenote: I often use this "feature" of Arrays to make an "ordered > associative array" in one single object. This may look a bit like a > hack - > but it is perfectly valid. I can both traverse the keys in a fixed custom > order and lookup one item with its key directly. Also you can retrieve > quickly how many items there are using "length". For example, when > inserting > a new entry, I do something like: > > a[key] = value; > a[a.length] = key; > > I would really like to have insights into the flash VM implementation > so I > could do better choices regarding maps and arrays. > Agreed > regards, > B. > > (--snip--rest of previous mail removed to keep it > shorter---snip---) > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Calculate Color on a Gradient Given a Percentage
this works for me: */** @param factor is between 0 and 1 (if higher/lower, it will clip correctly) */* *public* *static* *function* mixColor(a:*Number*, b:*Number*, factor:*Number *):*Number* { *if*(factor >= 1) *return* a; *if*(factor <= 0) *return* b; *var* fb:*Number* = 1-factor; *return* a & 0xFF)*factor)+((b & 0xFF)*fb)) & 0xFF) + a & 0x00FF00)*factor)+((b & 0x00FF00)*fb)) & 0x00FF00) + a & 0xFF)*factor)+((b & 0xFF)*fb)) & 0xFF); } 2006/6/16, [EMAIL PROTECTED] <[EMAIL PROTECTED]>: Hi Jeff, Here's a class that will generate an array for N elements that blends between two RGB values. Example: import org.bespoke.color.ColorBlend; var myBlender:ColorBlend=new ColorBlend(0xFF,0x00FF00); //to get the RGBN value at 46% between the two... var resultColor:Number= myBlender.getRGBAt(.46); //get the blend in an array of 20 steps var myRGBArray:Array=myBlender.getArrayOfLength(20); Hope this helps, Cheers, t // import flash.display.BitmapData; import flash.geom.ColorTransform; import flash.geom.Matrix; class org.bespoke.color.ColorBlend extends Object{ public var start_rgb:Number=0x00; public var end_rgb:Number=0xFF; private var colorTransform:ColorTransform; private var matrix:Matrix; public var bmp:BitmapData; public var bmp_end:BitmapData; function ColorBlend(c1:Number,c2:Number){ if(c1!=undefined){start_rgb=c1;} if(c2!=undefined){end_rgb=c2;} bmp=new BitmapData(1,1,true); bmp_end=new BitmapData(1,1,true); matrix=new Matrix(); colorTransform=new ColorTransform(); } function getRGBAt(n:Number):Number{ //n should be a normalised float (0-1.0) // although the range -1.0 <=> 1.0 is valid bmp.setPixel(0,0,start_rgb); bmp_end.setPixel(0,0,end_rgb); colorTransform.alphaMultiplier=n; bmp.draw(bmp_end,matrix,colorTransform); return bmp.getPixel(0,0); } function getArrayOfLength(n:Number):Array { var result:Array=new Array(); for(var i:Number=0;ihttp://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Whats the best tooltip component
Note: the Firefox issue is a problem in the Demo html page. Not a problem in the tooltip itself of course. About the Width: The width parameter should be named "maxwidth". It really does take the size of the text in consideration when computing the width. It simply max it out to the specified size (without being bigger than the whole Stage width). B. 2006/6/9, Marc Hoffman <[EMAIL PROTECTED]>: Hi Karina, This has some nice features but some problems viewing the demo. In FireFox it doesn't show at all. In I.E. 6 it doesn't show and I get a "Flash required" message. I was able to view it only by looking at the source and opening the swf directly. It would be nice if the tooltip width were dependent on the text string. That shouldn't be too hard to add, just draw the background after establishing the textfield.text.width. Marc At 10:11 AM 6/9/2006, you wrote: >Hi Weyert, > >I posted a fully customizable tooltip component on my blog, >http://www.neo-archaic.net/blog/2006/05/09/tooltip.htm, complete with a demo >on how to use it. > >I hope this is what you were looking for. > >Karina > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Whats the best tooltip component (actionsciptable)
As an ActionScript programmer, I personally liked this one: http://www.neo-archaic.net/blog/2006/05/09/tooltip.htmSimple and effective: No .mxp, no .fla, no super-complex code to setup, just a single .as file to drop in. Additionally, it seems lots of people are building super-fancy tooltips and somehow simply "forgot" the basics(!): It must work well and behave as "expected". Looking at the source, it sounds like it works with or without the mx components automagically. B. 2006/6/8, Rajat Paharia <[EMAIL PROTECTED]>: I have been very happy with these: http://blog.pixelconsumption.com/?p=19 http://www.frogstyle.ch/go.cfm?tooltip_component&language=en best, - rajat On 6/8/06, T. van Zantvoort < [EMAIL PROTECTED]> wrote: > > Hi there, > > I am looking for a great tooltip component and/or script. I have tried > several but they just don't qualify. With one I have font problems, with > the > other embed problems and another delay, display / don't display problems > etc. etc. > > Is there something else out there?? > > met vriendelijke groeten, > > > T. van Zantvoort > MonTay WebArchitects > > T: +31 (0)40-2300898 > F: +31 (0)40-2954071 > E: [EMAIL PROTECTED] > W: www.montay.nl > > Hardware: www.mlife.nl > E-shop: www.vsnet.nl > Own Site: www.1site2start.nl > > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > -- Rajat Paharia [EMAIL PROTECTED] http://www.bunchball.com http://www.rootburn.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Embedding a SWF using base64 and Data: URI scheme
I believe Outlook uses resources located in "mime attachments" in the email. I do not think it uses that special data: URI scheme. I did a "view source" from an email in Outlook and got an image URI like the following: It seems that cid: is actually a standard described in RFC 2392. Haven said that, anybody tried using "cid:" uris in html documents - does it work? B. 2006/6/2, Kevin Aebig <[EMAIL PROTECTED]>: Does anyone else find it funny that even though IE doesn't support this, Outlook does? I've received all kinds of stupid emails with encoded sounds, images and other objects from relatives... !k -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jim Cheng Sent: June 2, 2006 3:01 PM To: Flashcoders mailing list Subject: Re: [Flashcoders] Embedding a SWF using base64 and Data: URI scheme Tom Lee wrote: > In the original Microsoft list of workarounds for the Eolas patch, one of > the possible workarounds was to base64 encode your swf and embed the data > inline in your object tag. The original page has since been removed, and > the only evidence I can now find of this is at > http://www.mustardlab.com/developer/flash/standards/, a page being kept > around for archival reasons (see the "official fixes" section). Though I > don't need this technique as an Eolas workaround, I'm still really curious > about it. Is it possible to base64 encode a swf file and include that raw > data in your web page instead of hosting a separate swf file on your server? > > Anyone have experience with the Data: URI Scheme? I find it odd that > Microsoft would include it in their list of workarounds if their browser > didn't support it, but then again, maybe that's why the page was removed. > I'd like to at least get this working in Mozilla browsers. Tom, Hey, it's Mustard Lab--that's us. I actually work with Sean Christmann, the author of the page that you referred to, and would refer you to him, but he's out until Monday so I'll take a stab at elaborating on this. The very short answer to your question is that that the data: URI scheme (RFC 2397) is not supported by Internet Explorer. It does, however, work with most other browsers on the market, including Firefox, Opera and Safari. As such, it is not helpful in terms of working around the recent change in IE to bring it into compliance with the Eolas patent. To answer your second question, yes it is possible to use this technique to encode a SWF file within a containing HTML page. A while back, I actually managed to write out a second SWF to a HTML page from another SWF with a bit of Javascript. You can see a working example with source code here: http://dev.psalterego.com/datauri/. Originally, I was experimenting with using the data URI scheme as a possible means to obfuscate SWFs encoded within an outer wrapper SWF to make it slightly more difficult for relatively unskilled "script kiddies" to quickly recover and decompile the bytecodes for the inner SWF via a simple attack with a decompiler. However, as such a scheme would result in the inner "protected" SWF being completely inaccessible to Internet Explorer users, I never pursued this idea further. Keep in mind that this technique is not particularly efficient in terms of file size, particularly if the base 64 encoded data is stored in HTML. There are also limitations on the maximum possible length of a URL supported by each browser that effectively limit the size of the data that you can include via a data URI scheme. Jim ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] HashMap?
Ah yes, now that you mention it, I just checked the Java HashMap code and it is not limited to a power of two, here's a snippet: index = (hash & 0x7FFF) % table.length; That way, they can still use the same set of 32bit hash values when growing. There is no "maximum" that can be "declared". The complete hash is always kept around. regards, B. 2006/5/17, Ron Wheeler <[EMAIL PROTECTED]>: Bernard Poulin wrote: > Funny, I was actually thinking of an implementation which would use a > Java-style String objects. In java, all string objects have an "int" hash > data member (computed the first time it is needed). > > In that scenario, only a portion of the hash value is used to make the > hash > lookup. The complete hash stays around since it is part of the String > object > and so can still be used to quickly "distinguish" strings. Also when > "rehashing" you do not need to really compute new "hashes" - you just > need > to re-distribute them based on more bits of the complete hash. That only works if the hash primary table has a length that is a power of 2. If your original has maps from 1-5,000 and your increase the size of the primary storage area to 15,000, you will need more than more bits, you will need a completely different set of hash values. Not sure what Java does with its hash. Do you have to declare the maximum array size when you declare the array? Ron > And yes, this > is still heavier than re-balancing a tree. > > regards, > B. > > >> Binary searches may involves a lot more string comparison. In a binary >> > search comparing the "string hash" value is of no use to know if the >> > value >> > is "greater" or "lower" (to decide for the next search direction). In >> > hashmaps, the lookup in the "chain" after the hash jump can, most >> of the >> > time, "skip" a string entry without even looking at the characters by >> > comparing the 32bit integer hashes. >> String hashes are only useful for looking up a specific value. It is >> unlikely that the hashes are even stored since once you store the >> key/value you no longer have any need for the hash since the position in >> the main table is known and you can follow the links in the overflow >> back to the main table(usually). >> >> If you are hashed into the overflow, you have to examine each key since >> the hashes are identical for everyone in the list (otherwise they would >> not be in the list - they would be in another list of collided hashes). >> > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > > > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] HashMap?
Funny, I was actually thinking of an implementation which would use a Java-style String objects. In java, all string objects have an "int" hash data member (computed the first time it is needed). In that scenario, only a portion of the hash value is used to make the hash lookup. The complete hash stays around since it is part of the String object and so can still be used to quickly "distinguish" strings. Also when "rehashing" you do not need to really compute new "hashes" - you just need to re-distribute them based on more bits of the complete hash. And yes, this is still heavier than re-balancing a tree. regards, B. Binary searches may involves a lot more string comparison. In a binary > search comparing the "string hash" value is of no use to know if the > value > is "greater" or "lower" (to decide for the next search direction). In > hashmaps, the lookup in the "chain" after the hash jump can, most of the > time, "skip" a string entry without even looking at the characters by > comparing the 32bit integer hashes. String hashes are only useful for looking up a specific value. It is unlikely that the hashes are even stored since once you store the key/value you no longer have any need for the hash since the position in the main table is known and you can follow the links in the overflow back to the main table(usually). If you are hashed into the overflow, you have to examine each key since the hashes are identical for everyone in the list (otherwise they would not be in the list - they would be in another list of collided hashes). ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] sprouts data structure
more googling... This one seems to link to a word document with some high-level explanation. http://www.pa.uky.edu/~sorokin/stuff/cs650/sprout/sprout.html B. 2006/5/15, Bernard Poulin <[EMAIL PROTECTED]>: http://mathforum.org/kb/message.jspa?messageID=1091009&tstart=0 http://www.pa.uky.edu/~sorokin/stuff/cs650/sprout/SPROUT.CC Somebody did a program called "auntbeast" which seems to be quite good. I can't find a copy of it nor their source. Might be worth sending an email to them. http://www.geocities.com/chessdp/ *World* *Game* *Of* *Sprouts* * Association* 2006/5/11, Weldon MacDonald <[EMAIL PROTECTED]>: > I have a request for a game called sprouts. The game starts with a few > randomly distributed dots. There is one move and 2 restrictions. > Move: draw a line for a dot to itself (a loop) or to another dot. > Any line drawn has a new dot on it. > Restriction 1: no more than 3 lines from any dot. > Restriction 2: no lines can cross. > > Simple game, but the data structure to keep track of the game and in > particular to handle restriction 2 is a bear. How do you tell when a > dot has been encircled by a line? > > The game is, of course based on graph theory, and you can represent a > graph in several ways, but how to determine that it remains planar? > > I haen't begun to think about the visual part of this, if I don't have > a reasonable data structure I can't teach a computer to play the game. > > Any ideas? Hints? Wildly improbable ideas? > > -- > Weldon MacDonald > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] sprouts data structure
http://mathforum.org/kb/message.jspa?messageID=1091009&tstart=0 http://www.pa.uky.edu/~sorokin/stuff/cs650/sprout/SPROUT.CC Somebody did a program called "auntbeast" which seems to be quite good. I can't find a copy of it nor their source. Might be worth sending an email to them. http://www.geocities.com/chessdp/ *World* *Game* *Of* *Sprouts* * Association* 2006/5/11, Weldon MacDonald <[EMAIL PROTECTED]>: I have a request for a game called sprouts. The game starts with a few randomly distributed dots. There is one move and 2 restrictions. Move: draw a line for a dot to itself (a loop) or to another dot. Any line drawn has a new dot on it. Restriction 1: no more than 3 lines from any dot. Restriction 2: no lines can cross. Simple game, but the data structure to keep track of the game and in particular to handle restriction 2 is a bear. How do you tell when a dot has been encircled by a line? The game is, of course based on graph theory, and you can represent a graph in several ways, but how to determine that it remains planar? I haen't begun to think about the visual part of this, if I don't have a reasonable data structure I can't teach a computer to play the game. Any ideas? Hints? Wildly improbable ideas? -- Weldon MacDonald ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] HashMap?
If you can not tune a HashMap it will be worse than an ordinary array. It will take more space and more processing time. This will of course depend on the size and usage - it *may* be more efficient with hashmaps. Do you really think we can generalize being it worse all the time? Keeping an array "ordered" to be able to do binary searches can statistically cost a lot of "copying" at insertion time. Binary searches may involves a lot more string comparison. In a binary search comparing the "string hash" value is of no use to know if the value is "greater" or "lower" (to decide for the next search direction). In hashmaps, the lookup in the "chain" after the hash jump can, most of the time, "skip" a string entry without even looking at the characters by comparing the 32bit integer hashes. About Arrays (this is more than slightly OT) :-) I still believe Arrays are implemented as associative arrays. But this is just pure belief since I have no proof and it could easily change from one version of the VM to the other. var a:Array; a[0] = 'abc'; a[123456789] = 'high index value'; a["this is text"] = 'non-integer index'; trace(a.length); /// should output 123456790 Sidenote: I often use this "feature" of Arrays to make an "ordered associative array" in one single object. This may look a bit like a hack - but it is perfectly valid. I can both traverse the keys in a fixed custom order and lookup one item with its key directly. Also you can retrieve quickly how many items there are using "length". For example, when inserting a new entry, I do something like: a[key] = value; a[a.length] = key; I would really like to have insights into the flash VM implementation so I could do better choices regarding maps and arrays. regards, B. (--snip--rest of previous mail removed to keep it shorter---snip---) ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Grab IP address
It also depends "which IP" you want to display. Do you want to display the "IP of the client machine" or the "external IP" as seen on the internet? You have to watch out these are not the same as the user might be behind NATs/proxies. For a "client-only" solution: (wild guess) I think your only chance is to "make a socket connection back to your server" and look at some of the structures involved in the connection?- The "external IP" might be available in there (really not sure). I do not know enough about NATs to know if it is even "possible"(!). The better/safer way is surely a server-based solution. If you want the "IP of the client machine" - then you will have to look at a flash / javascript / Java solution running on the client machine. One of the core problem is that some connections might not even use TCP/IP and thus there are no IPs involved at all. For example: if you open an html page located on your local hard drive. So any solution you might have on the client side will be some kind of hack one way or the other. I think it can't be "standard". B. 2006/5/15, j.c.wichman <[EMAIL PROTECTED]>: Hi, i'd go with the server side solution instead of depending on java running. Let's face it, if we all had such great confidence in java we'd be posting on the javadev list:) (ok erase that comment). Anywayz, php makes for a good solution i think, but I believe standaard ssi env vars will do the trick as well? eg if ssi is configured for your webserver and you use the vars from http://hoohoo.ncsa.uiuc.edu/cgi/env.html see http://httpd.apache.org/docs/1.3/howto/ssi.html as well. What you are suggesting, if i got it right, to not allow the user to download the code at all, if his ip was already banned, seems good to me too:). grtz H > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf > Of MetaArt > Sent: Monday, May 15, 2006 1:21 PM > To: Flashcoders mailing list > Subject: Re: [Flashcoders] Grab IP address > > Well, > controversies apart, the Google search don't match good result... > apparently, JavaScript IP grab can be done only on Mozilla, > and with Java enabled, and this isn't good for my goal. > I'm developing a widget, and I need a way to check the owner > IP, to ban a self, improper, use. > Cause the way the widget can be inserted in a web page (just > some rows of code, but necessarily only JavaScript and/or > Flash embed, because I can't know if the user can modify his > page(s) to php...), I need an approach that match some simply rules: > - easy and crossbrowser way to insert in web page(s) > - a trustwhorty way to identify the owner, to avoid that in > case he should use the widget I think that the better way to > achieve this goal is grab the IP. > Actually, I can grab the IP, via PHP, when the user come to > get the code... > but, however, I have always a doubt about it: is this the > better solution to achieve my goal? > Tell me your opinion... > > * Enrico Tomaselli > * web designer > [EMAIL PROTECTED] > http://www.metatad.it > * Skype: MetaArt > RSS: http://www.metatad.it/mnfeeder.php > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] HashMap?
I think there are no "tuning" parameters simply because the "language" does not (and should not) specify how the Objects are implemented (and not because they are not hashmaps). From what we know so far (i.e. nothing!), this could be anything - like a straight array up to, say, 3 entries and switching to another more complex structure after that. By "variable key length" did you mean automatically growing the relevant hash size (i.e. involving re-distribution) - A bit like what is happening with the Java HashMap implementation ? B. 2006/5/15, Ron Wheeler <[EMAIL PROTECTED]>: The tree would make sense. The garbage collection for an associative array is an interesting problem with variable key and value lengths. Ron Scott Hyndman wrote: > Well, yes. > > Now that I think about it my test didn't make much sense, since there would be no way of determining how keys are generated by insertions alone...I was assuming a uniform distribution, and it can't be done without knowing more. > > But I believe that the Flash uses a tree to implement its map, for some of the same reasons you mentioned. It's just a way more efficient structure to use if your data is unknown, grows well, and stays balanced. > > Scott > > -Original Message- > From: [EMAIL PROTECTED] on behalf of Ron Wheeler > Sent: Sat 5/13/2006 2:25 PM > To: Flashcoders mailing list > Cc: > Subject: Re: [Flashcoders] HashMap? > > Wouldn't it be true to say that hash maps will get slower as the > probability of collisions increase? As the primary area fills up, there > will be more occasions when the new key to be added, hashes to a storage > location already occupied and a link structure will be needed to store > the key(s) in the overflow. > Similarly, lookups will start to hit links rather than data which will > require that the links into the overflow area be followed. > > This is where tuning comes in. > > The fact that there are no tuning options makes it unlikely that hashing > is used. > Defaults would be hard to set without wasting space or turning the whole > thing into a small set of linked lists which work be long to search. > It would not be seem to be a very good choice for a default > implementation of Arrays. > > Ron > > Scott Hyndman wrote: > >> You could figure out how it's implemented by doing some experiments. >> >> Dynamic hash maps have constant insertion (amortized) and lookup time. If the map is implemented using a B-Tree, then you'll see O(log(n)) times (so just see if the more properties you add increase the amount of time it takes to add them). >> >> Scott >> >> -Original Message- >> From:[EMAIL PROTECTED] on behalf of Ron Wheeler >> Sent:Sat 5/13/2006 10:43 AM >> To: Flashcoders mailing list >> Cc: >> Subject: Re: [Flashcoders] HashMap? >> >> >> >> Bernard Poulin wrote: >> >> >>> I cannot say for AS3 implementation because I never tried it. (Which >>> is the >>> original subject of this topic.) >>> >>> In AS1, AS2 and javascript, I am pretty sure that all objects (including >>> Arrays) are key/value maps. (i.e. Associative arrays) >>> http://en.wikipedia.org/wiki/Associative_array#JavaScript >>> >>> It is very possible that the internal implementation is not a "hashmap", >>> but I still think it is a highly efficient map of some sort because >>> this is >>> so central to the language. >>> >>> >>> >> I would hope that it is efficient but hashing adds a lot of overhead and >> wasted space for small arrays and really needs to be tuned to get the >> desired results for larger arrays. >> If the arrays are stored in sorted order, then the normal key lookup can >> be done as a binary lookup which will be a lot quicker than an >> exhaustive search. The price is paid when a new associative entry is added. >> >> Nothing is free. >> >> None of my work has required has involved large associative arrays where >> hashing would add a significant improvement in speed but it would be >> nice to have such a class available for those who need it. >> >> In the early days (1960s) when I was taking Computer Science at >> University, we spent a lot of time worrying about these things since >> memory was scarce (64K word (36 bits per word) computer cost a million >> dollars and supported 16 users) and CPU speeds where not very fast (a >> 1MIP computer was state of the art). >> >> >> > > "If really had to look carefully at how things got stored
Re: [Flashcoders] HashMap?
I cannot say for AS3 implementation because I never tried it. (Which is the original subject of this topic.) In AS1, AS2 and javascript, I am pretty sure that all objects (including Arrays) are key/value maps. (i.e. Associative arrays) http://en.wikipedia.org/wiki/Associative_array#JavaScript It is very possible that the internal implementation is not a "hashmap", but I still think it is a highly efficient map of some sort because this is so central to the language. ...at least this is what I think. I might be completely wrong. B. 2006/5/12, Ron Wheeler <[EMAIL PROTECTED]>: I would be a little surprised. There does not seem to be any way to control the hash parameters and every array would have a lot of wasted space for nothing and without any way to control the hash size and the percent utilization, you would not get a lot of advantage for the big arrays. The Java HashMap defaults are pretty modest and would yield less than optimal performance with a big array. You can set the parameters if you have a big array and know a bit about the "randomness" of your keys to get fast lookups with a reasonable trade-off in wasted space Perhaps someone who knows the Flash Player internals could tell for sure. Ron Bernard Poulin wrote: > mmm... Are you implying that ActionScript objects are not hashmaps? > I thought they were *all* hashmaps (even Arrays are hashmaps). Every > method > call that you do involves at least one hash lookup. > > B. > > 2006/5/10, Ron Wheeler <[EMAIL PROTECTED]>: >> >> It appears that a HashMap is a Java class that uses a hash on the "key" >> to store its keys and values. >> http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html >> This would speed up lookup if you have a large set of keys. >> If you do not need the speed or do not have a large collection of keys >> to store, an array object would seem to give the same functionality in >> ActionScript. >> This leaves the implementation of the array to Flash and it is likely a >> simple structure that has to be searched sequentially (by the Flash VM) >> to get the associated value. >> >> It you really need a hashing array that can handle large numbers of >> key/value pairs, you probably have to write one. This is an old concept >> and you can likely find a few design ideas and probably some code if you >> search for it. >> >> If you are converting code and want to create a HashMap class that has >> the same methods as HashMap in Java, you could fake the internal storage >> technology with a simple Array. it would be faster for a small set of >> values and would get a bit slower as the number of keys increased. >> You could start with a dumb HashMap class and then make it a true >> hashing data store later without having to rewrite your code. >> HashMap was only added to Java in Java 1.1 and they lived without it >> before then. >> >> Ron >> >> Joshua Graham wrote: >> > Bit strange, but that works, thanks. >> > >> > Joshua >> > >> > On 10 May 2006, at 12:06, Lee McColl-Sylvester wrote: >> > >> >> Well, in AS2, it's called an object ;) >> >> >> >> Lee >> >> >> >> >> >> >> >> -Original Message- >> >> From: [EMAIL PROTECTED] >> >> [mailto:[EMAIL PROTECTED] On Behalf Of >> Joshua >> >> Graham >> >> Sent: 10 May 2006 11:19 >> >> To: flashcoders@chattyfig.figleaf.com >> >> Subject: [Flashcoders] HashMap? >> >> >> >> Is there an AS3 equivalent of the java HashMap? >> >> >> >> Basically, I just need the ability to set key/value pairs quickly/ >> >> easily. >> >> ___ >> >> Flashcoders@chattyfig.figleaf.com >> >> To change your subscription options or search the archive: >> >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> >> >> >> Brought to you by Fig Leaf Software >> >> Premier Authorized Adobe Consulting and Training >> >> http://www.figleaf.com >> >> http://training.figleaf.com >> >> ___ >> >> Flashcoders@chattyfig.figleaf.com >> >> To change your subscription options or search the archive: >> >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> >> >> >> Brought to you by Fig Leaf Software >> >> Premier Authorized Adobe Consulting and Training >> >> http://www.figleaf.com >> >> http:
Re: FW: [Flashcoders] sprouts data structure
oh my apologies, I really did not realize that you had to implement an actual "player" and thus do all the AI. Actually had no clue about what this game really looked like. I understand it a bit better now: The game plays with 2 players, lines are not straight, new dots can be placed anywhere on the line, one wins when its opponent cannot do a move. Interestingly enough, the outcome is somehow deterministic: from Wikipedia: http://en.wikipedia.org/wiki/Sprouts_(game) []"By enumerating all possible moves, one can show that the first player is guaranteed a win in games involving three, four, or five spots. The second player can always win a game started with one, two, or six spots. At Bell Labs <http://en.wikipedia.org/wiki/Bell_Labs> in 1990<http://en.wikipedia.org/wiki/1990>, David Applegate<http://en.wikipedia.org/w/index.php?title=David_Applegate&action=edit>, Guy Jacobson<http://en.wikipedia.org/w/index.php?title=Guy_Jacobson&action=edit>, and Daniel Sleator <http://en.wikipedia.org/wiki/Daniel_Sleator> used a lot of computer <http://en.wikipedia.org/wiki/Computer> power to push the analysis out to eleven spots. They found that the first player has a winning strategy when the number of spots divided by six leaves a remainder of three, four, or five, and conjectured that this pattern continues beyond eleven spots."[] Regards, B. 2006/5/12, Weldon MacDonald <[EMAIL PROTECTED]>: The reqiurement is that the software be able to play the game, so I need a data structure to store the game position for analysis. The intersection check is moot until I can store the current state of the game, update it, and analyze the potential moves. If moves are made that create a cycle, then the possibility of a vertex, or even a subgraph, being contained by that cycle exists, which removes the possibility of edges to a vertex outside the cycle, but not to the vertexes in the cycle. That would have to be incorperated into the data structure. I think the adjacency list might store the position, but then the AI for the game will be very tough to do. As for the intersection check this will work to prevent an illegal move, but the tougher part will be making the computer move if the best move is a line that loops around other vertices. Or maybe I should forget programming and try my hand at cartooning! On 5/12/06, Bernard Poulin <[EMAIL PROTECTED]> wrote: > (I am re-sending this message - somehow, I got a "disk full error" message > from the flashcoders server) > -- > > Not sure what you mean by: "How do you tell when a dot has been encircled > by a line?" I do not understand why we need to keep track of cycles? What > is the relation with your game constraints? I am assuming these are > "straight lines", right? ...or can they be of any shape? > > Essentially what you (seem to) want is simply checking if any line crosses > when the user interacts with a dot or a line. In other words, block the user > from drawing a line that will cross another one. Just for that, you do not > need to keep track of "all the possibilities" in advance... > > A straight array of dots and lines should be enough for this. ...or I must > be missing something. > > I know that doing an intersection check on a complete graph can be a lengthy > task but: > > Since this an interactive, human-driven game - you can reduce the > verification processing by just checking one move at a time. The processing > time will be at least linear (e.g. not exponential). So it should not be too > too bad - especially if the number of segments should fit on a screen in a > human-readable form (< 200 ?). > > my 0,02$ > B. > > > 2006/5/12, Weldon MacDonald <[EMAIL PROTECTED]>: > > > > My first thought was an adjacency list with something to indicate > > forbidden edges (for a dot inside a cycle), so it might help. The > > problem isn't that simple though, as more and more moves are made > > whose in what cycle and can make waht move is a good deal less than > > clear. > > > > On 5/12/06, André Goliath <[EMAIL PROTECTED]> wrote: > > > FWIW if have written some AS2 classes some time ago that implement a > > graph > > > by using adjacenty lists. > > > If it would help you let me know > > > > > > -Original Message- > > > From: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] On Behalf Of Weldon > > > MacDonald > > > Sent: Thursday, May 11, 2006 2:49 PM > > > To: Flashcoders mailing list > > > Subject: [Flashcoders] sprouts data structure > > > > > > I have a request for a game called sprouts. The game starts with a few > > > randomly dis
Re: FW: [Flashcoders] sprouts data structure
(I am re-sending this message - somehow, I got a "disk full error" message from the flashcoders server) -- Not sure what you mean by: "How do you tell when a dot has been encircled by a line?" I do not understand why we need to keep track of cycles? What is the relation with your game constraints? I am assuming these are "straight lines", right? ...or can they be of any shape? Essentially what you (seem to) want is simply checking if any line crosses when the user interacts with a dot or a line. In other words, block the user from drawing a line that will cross another one. Just for that, you do not need to keep track of "all the possibilities" in advance... A straight array of dots and lines should be enough for this. ...or I must be missing something. I know that doing an intersection check on a complete graph can be a lengthy task but: Since this an interactive, human-driven game - you can reduce the verification processing by just checking one move at a time. The processing time will be at least linear (e.g. not exponential). So it should not be too too bad - especially if the number of segments should fit on a screen in a human-readable form (< 200 ?). my 0,02$ B. 2006/5/12, Weldon MacDonald <[EMAIL PROTECTED]>: My first thought was an adjacency list with something to indicate forbidden edges (for a dot inside a cycle), so it might help. The problem isn't that simple though, as more and more moves are made whose in what cycle and can make waht move is a good deal less than clear. On 5/12/06, André Goliath <[EMAIL PROTECTED]> wrote: > FWIW if have written some AS2 classes some time ago that implement a graph > by using adjacenty lists. > If it would help you let me know > > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Weldon > MacDonald > Sent: Thursday, May 11, 2006 2:49 PM > To: Flashcoders mailing list > Subject: [Flashcoders] sprouts data structure > > I have a request for a game called sprouts. The game starts with a few > randomly distributed dots. There is one move and 2 restrictions. > Move: draw a line for a dot to itself (a loop) or to another dot. > Any line drawn has a new dot on it. > Restriction 1: no more than 3 lines from any dot. > Restriction 2: no lines can cross. > > Simple game, but the data structure to keep track of the game and in > particular to handle restriction 2 is a bear. How do you tell when a > dot has been encircled by a line? > > The game is, of course based on graph theory, and you can represent a > graph in several ways, but how to determine that it remains planar? > > I haen't begun to think about the visual part of this, if I don't have > a reasonable data structure I can't teach a computer to play the game. > > Any ideas? Hints? Wildly improbable ideas? > > -- > Weldon MacDonald > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > -- Weldon MacDonald ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Equidistant points on an ellipse!
I just finished reading the whole thread - well... there is no real answer in the end :-( How accurate do you need this to be? (how many points typically?) Is this used to draw dashes or simply positioning few objects? B. 2006/5/10, Bernard Poulin <[EMAIL PROTECTED]>: yes, this is indeed a duplicate! If you are really hoping to find help - you should always search the archives... Lookup this mailing list for this thread: "Position objects evenly around ellipse" -- March 16, 2006 happy coding! B. 2006/5/10, Peter Gehring <[EMAIL PROTECTED]>: > I'm really hoping someone can help... > > I need to plot points at an equal distance along the circumfrence of an > Ellipse. > As it turns out, I'm pretty bad at geometry, which doesn't help. > > I can plot the ellipse, but because I'm using sine/cos and incrementing > with > theta the points are crunched towards the outside of the major radius. > I've tried a bunch of different approaches- recording lots (5000) of > points, > then stepping through each to compare actual distance but I'm not > getting > nearly accurate results this way. > I've looked at drawing dotted/dashed curves from drawing api/custom > classes > but no luck. > > If I could affect theta at the same rate the ellipse is plotted I think > I'd > be ok, but I can't quite grasp it. > > I've read all sorts of impossiblilites about this,and a lot of people > having > miserable experience with this sort of thing (one guy spent 8 years > trying > to fit an equal-sided polygon in to an ellipse). > > But- at the end of the day I can go to the Flash IDE and draw an ellipse > and > stroke it with an equally spaced dotted line! I just need to do this > dynamically and record the points... > > Any thoughts? > > Thanks much, > > Peter > > [sorry if this is a duplicate] > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Equidistant points on an ellipse!
yes, this is indeed a duplicate! If you are really hoping to find help - you should always search the archives... Lookup this mailing list for this thread: "Position objects evenly around ellipse" -- March 16, 2006 happy coding! B. 2006/5/10, Peter Gehring <[EMAIL PROTECTED]>: I'm really hoping someone can help... I need to plot points at an equal distance along the circumfrence of an Ellipse. As it turns out, I'm pretty bad at geometry, which doesn't help. I can plot the ellipse, but because I'm using sine/cos and incrementing with theta the points are crunched towards the outside of the major radius. I've tried a bunch of different approaches- recording lots (5000) of points, then stepping through each to compare actual distance but I'm not getting nearly accurate results this way. I've looked at drawing dotted/dashed curves from drawing api/custom classes but no luck. If I could affect theta at the same rate the ellipse is plotted I think I'd be ok, but I can't quite grasp it. I've read all sorts of impossiblilites about this,and a lot of people having miserable experience with this sort of thing (one guy spent 8 years trying to fit an equal-sided polygon in to an ellipse). But- at the end of the day I can go to the Flash IDE and draw an ellipse and stroke it with an equally spaced dotted line! I just need to do this dynamically and record the points... Any thoughts? Thanks much, Peter [sorry if this is a duplicate] ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] HashMap?
mmm... Are you implying that ActionScript objects are not hashmaps? I thought they were *all* hashmaps (even Arrays are hashmaps). Every method call that you do involves at least one hash lookup. B. 2006/5/10, Ron Wheeler <[EMAIL PROTECTED]>: It appears that a HashMap is a Java class that uses a hash on the "key" to store its keys and values. http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html This would speed up lookup if you have a large set of keys. If you do not need the speed or do not have a large collection of keys to store, an array object would seem to give the same functionality in ActionScript. This leaves the implementation of the array to Flash and it is likely a simple structure that has to be searched sequentially (by the Flash VM) to get the associated value. It you really need a hashing array that can handle large numbers of key/value pairs, you probably have to write one. This is an old concept and you can likely find a few design ideas and probably some code if you search for it. If you are converting code and want to create a HashMap class that has the same methods as HashMap in Java, you could fake the internal storage technology with a simple Array. it would be faster for a small set of values and would get a bit slower as the number of keys increased. You could start with a dumb HashMap class and then make it a true hashing data store later without having to rewrite your code. HashMap was only added to Java in Java 1.1 and they lived without it before then. Ron Joshua Graham wrote: > Bit strange, but that works, thanks. > > Joshua > > On 10 May 2006, at 12:06, Lee McColl-Sylvester wrote: > >> Well, in AS2, it's called an object ;) >> >> Lee >> >> >> >> -Original Message- >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] On Behalf Of Joshua >> Graham >> Sent: 10 May 2006 11:19 >> To: flashcoders@chattyfig.figleaf.com >> Subject: [Flashcoders] HashMap? >> >> Is there an AS3 equivalent of the java HashMap? >> >> Basically, I just need the ability to set key/value pairs quickly/ >> easily. >> ___ >> Flashcoders@chattyfig.figleaf.com >> To change your subscription options or search the archive: >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> >> Brought to you by Fig Leaf Software >> Premier Authorized Adobe Consulting and Training >> http://www.figleaf.com >> http://training.figleaf.com >> ___ >> Flashcoders@chattyfig.figleaf.com >> To change your subscription options or search the archive: >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> >> Brought to you by Fig Leaf Software >> Premier Authorized Adobe Consulting and Training >> http://www.figleaf.com >> http://training.figleaf.com >> > > > > > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Fitting squares into an area
Wow! I just tried your algorithm with my previous example numbers and it does output the correct square size (100) - also, internally it has the right number of columns/lines: e.g. 3x4 (p=3, q=4) As for performance, it took 6 iterations: Since the output was 3x4, the number of iterations was (3 + 4 - 1) = 6. (it started at 1x1 and did 6 iterations: something like: 1x1, 1x2, 2x2, 2x3, 3x3, 3x4) For N = 100, the number of iteration depends on the ratio: it could be anywhere from 19 (10x10-1) to 100 iterations (worst case happens if the output is a single line or a single column). So that would make N iterations (in worst cases) and ~2*SQRT(N)-1 best case. I took the liberty of optimizing the method a little bit and renaming a few internal variables to my personal liking. ;-) -- I did not do any "real life" testing on this. But it seems to work on paper. /** * computes the largest N square size (and layout) that can fit an area (width,height). * * @return an Object containing 'squareSize' and the number of 'cols' and 'rows'. * * 98% of the credits goes to Danny Kodicek */ function computeLargestSquareSizeAndLayout(width:Number, height:Number, Nsquares:Number): Object { var cols:Number = 1; var rows:Number = 1; var swidth:Number = width; var sheight:Number = height; var next_swidth:Number = width/(cols+1); var next_sheight:Number = height/(rows+1); while (true) { if (cols*rows >= Nsquares) { var squareSize:Number = Math.min(swidth, sheight); return { squareSize:squareSize, cols:cols, rows:rows }; } if (next_swidth > next_sheight) { cols++; swidth = next_swidth; next_swidth = width/(cols+1); } else { rows++; sheight = next_sheight; next_sheight = height/(rows+1); } } } B. 2006/5/8, Danny Kodicek <[EMAIL PROTECTED]>: >Danny: I do not understand your algorithm - could you shed some more (high-level) light on what it is doing? Sure. The idea is that the optimal size will always be an exact fraction of either the width or the height. So what we do is drop down by multiples of these until we get to the first size that will contain N or more squares. At any particular width, we keep track of the two 'next-smallest' widths and drop down to the largest of these. Run through the algorithm with a few sample numbers and it should make sense. It may be that there's a more algebraic approach. The problem is, though, that there is no simple relationship between floor(x), floor(y) and floor(xy), which would be needed to come up with any truly useful solution. In the end, it turns into quite a complex optimisation problem, and given that the brute force algorithm is actually pretty fast, it hardly seems worth the effort :) Danny ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Fitting squares into an area
Aaaah, the "Monday-effect": Yes, in fact: the problem with Steve's algorithm is that the squares will almost never entirely fill the area. There will always be empty gaps at every line / column and/or the last line will not be filled completely. If you have 5 squares to fill for example, there will be some space lost somewhere. Unless it exactly fits a 5x1 or 1x5 ratio. Danny: I do not understand your algorithm - could you shed some more (high-level) light on what it is doing? hey! this is actually fun! I love these little algorithms. To compute the square size: I am thinking that we should work with the area ratio somehow. Just to be sure I understand what you want: I am assuming that this is showing "a list of things" and that it is okay that the last line has less items. If the area is width=305 height=400 and N is 10, it will result in square size is 100 -- the first 2 lines will be almost full (5 pixels gap on each line) and the last line is 1/3 full. Visually: 1 2 3 4 5 6 7 8 9 10 - - Here we are showing a 3x4 rectangle which is the best ratio to fit 10 squares in 305x400. ...is this what you are looking for? B. 2006/5/8, Steve Webster <[EMAIL PROTECTED]>: Mike, > All my squares need to be the same size - so for example what's the > best way of laying out 'n' equal squares in an areas x,y so the > squares are as big as they can be. There must be an algo for this > kind of thing. I might be being a little stupid, but since it's a square, and since width x height = height x width, why not just: // Calculate max area of each square var area:Number = Math.floor((x * y) / n); // Calculate side length from area var sideLength:Number = Math.sqrt(area); PS. It is Monday, so forgive me if the above doesn't work. -- Steve Webster Head of Development Featurecreep Ltd. http://www.featurecreep.com 14 Orchard Street, Bristol, BS1 5EH 0117 905 5047 ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Fitting squares into an area
Probably this is not what you are looking for but: If your maximum square count is relatively low then you could use some kind of brute-force technique where you could "try" different cases. This might be the only way if the "squares" are actually "rectangles" (i.e. images) with varying ratios: that way, each line could have a different "height" to maximize the screen space. But that's probably OT... :) My 0.02 $ B. 2006/5/8, Mike Mountain <[EMAIL PROTECTED]>: All my squares need to be the same size - so for example what's the best way of laying out 'n' equal squares in an areas x,y so the squares are as big as they can be. There must be an algo for this kind of thing. M > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf > Of Kerem Gülensoy > Sent: 08 May 2006 13:59 > To: 'Flashcoders mailing list' > Subject: AW: [Flashcoders] Fitting squares into an area > > you could divide the area, divide one half again, divide the > other half, and so on...n-times... > > cheers | kerem > > -Ursprüngliche Nachricht- > Von: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Im Auftrag > von Mike Mountain > Gesendet: Montag, 8. Mai 2006 14:51 > An: Flashcoders mailing list > Betreff: [Flashcoders] Fitting squares into an area > > Anyone got any script to cover the following problem: > Given an area (x,y) what's the best way of filling it with > 'n' squares? > Cheers > M ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] FW: SourceSafe??? Recommendations needed.
In our case, all the events are hooked from within ActionScript classes: There are no explicit code in "frames" or "symbols". Example: When we want to attach code to MovieClip (symbol) events - we attach a ActionScript class to a library symbol that extends MovieClip. So really, we only need a single "import" statement in the first frame - just enough so the "compiler" includes the "Main class" which in turn initializes everything. import com.mycorp.Main; Depending on how you work, this might not be suitable. hope that helps, B. 2006/4/24, Loren R. Elks <[EMAIL PROTECTED]>: > > > > Can someone send me an example of an FLA with only the code in the .AS > file? > > > Sincerely, > Loren > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] coordinates of a scaled movieclip
Hey! I may have found a simpler version: MovieClip.getBounds seems to have a parameter for the "target space". Example: var bounds = mc.getBounds(_root); ..which, I believe, should convert the bounding rectangle automatically to the _root coordinates. (I think it uses localToGlobal and globalToLocal internally). cheers, B. 2006/4/24, Zeh Fernando <[EMAIL PROTECTED]>: > > > When I found this out It confused the hell out of me as > > localToGlobal had never worked like that before - I just > > assumed I'd never used it with anything scaled by hand before > > and wrote that off as the reason. > > Now if what you're saying is true then it gets even more confusing. > > > > One difference may be that I'm actually attaching an MC to point MC and > > trying to get it's coords? I bet when you attach an MC it doesn't > > inherit the transform matrix info from its parent. > > Maybe - or maybe because you're loading content from an outside SWF. > > I've never tested localToGlobal with both attaching and loading; I'd guess > it should work, but I can't test it right now to really know. I'll keep it > in mind if I have problems with localToGlobal in the future though; thanks > for the info, it has made me curious. > > > - Zeh > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] coordinates of a scaled movieclip
The problem is that even if you change the scaling, you are not changing the position of the black box in relation of your "local" movieclip. Your black box is only "moving" in relation to the movieclip parent. What you seem to want are the coordinates in relation to the parent movieclip. To get that, you have to "convert" the coordinates values from your local movie-clip to its parent. In short: get the bounding rectangle and convert xMin,xMax, etc. There are methods specifically for that (localToGlobal/GlobalToLocal). It will do all the dirty computation (translation, scaling, rotation). good luck! B. 2006/4/24, Mark Winterhalder <[EMAIL PROTECTED]>: > > Hi, > > as far as I know, there is no clean solution to this problem. > > However, if you feel hackish, this /could/ work: > > var w = myClip._width; > var h = myClip._height; > var clip = myClip.createEmptyMovieClip( "foobar", > myClip.getNextHighestDepth() ); > with( clip ) { > beginFill( 0x00ff00, 100 ) { > lineTo( w, 0 ); > lineTo( w, h ); > endFill(); > } > var x = myClip._width - w; > var y = myClip._height - h; > clip.removeMovieClip(); > > Now, (x, y) should be the coordinates of your origin (i.e., top left > is at (-x, -y)). > > Maybe. I haven't tested it. > > Good luck... > Mark > > > > On 4/24/06, Meinte van't Kruis <[EMAIL PROTECTED]> wrote: > > Hi folks, > > > > I have a problem correctly figuring out the actual x value of the > top-left > > corner of a movieclip when scaling it. > > To demonstrate to this: > > > > put movieclip t on stage(a black box). Edit it, so that it's left top > corner > > isn't on the movieclip centerpoint. > > > > this code on stage: > > > > onEnterFrame=function(){ > > t._xscale++; > > trace(t._x); > > trace(t.getBounds().xMin); > > trace(t.getRect().xMin); > > } > > > > if you execute it, you can clearly see the top-left corner is in fact > > moving, due to the scaling. > > But the values never change. So my question is: > > > > how do I know the coordinates of the topleft corner of an (off-centered) > > movieclip, or > > the coordinates of the topright corner of a centered movieclip while > scaling > > it? > > > > I'm really stuck on this, help would be very much appreciated. > > > > greetings, > > Meinte > > ___ > > Flashcoders@chattyfig.figleaf.com > > To change your subscription options or search the archive: > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > Brought to you by Fig Leaf Software > > Premier Authorized Adobe Consulting and Training > > http://www.figleaf.com > > http://training.figleaf.com > > > > > -- > http://snafoo.org/ > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] SourceSafe??? Recommendations needed.
Few Notes: - CVSNT tries to minimize binary file growth. Do not know how it compares to others. - To compare binary documents, you will probably have to find "tools" tailored for each file type. For example: for Microsoft Word documents, you can use the built-in Word compare utility. I do not know if anybody tried that, but for SWF files (or even FLAs?) , you could maybe try to "convert" it to a text file of some sort for the purpose of comparing - there are few tools that can do that (at least for swf files you can use swfmill - not sure for FLA files). Although that technique is not very "visual" for comparing changes in graphic elements. You can at least know that "this graphic named "abc" changed". Also, for FLA files, we put virtually no code in the files (only a single import statement for the "Main" class). All the code is stored in external .AS text files - which are easy to compare and update. Bottom line - whatever decision you take: even the worse source-control system will be a far better than "nothing". good luck! B. 2006/4/21, [EMAIL PROTECTED] <[EMAIL PROTECTED]>: > > Now I will be upfront and state clearly that I don't neccessarily believe > that StarTeam has done a lot on the to minimize binary file growth other > then to apply compression to the file. What I mean by that is if you were to > say take a text file in CVS and look at how it stores it. It does so by > saving all the changes into a single text file and uses a markup and > indexing system to track what the "latest version" should be and who made > all the individual changes up to that point. Something that can be easily > done in text files is not something that can be so easily done with a binary > file. As Jester points out, all version control systems to date cannot tell > you what changed between saves of an fla or for that matter a swf. > > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Forcing XML connection closed from SWF
Here's some random ideas: - The keep-alive option is a good thing (everything goes faster) and normally does not impose a problem. If you have a problem on the "server" because of that (too many threads or too many sockets taken), always remember that it is the responsibility of the server to control this and not the client (browser). - Note that the connection should disconnect by itself after some time. Did you measure how much time you had to wait? (probably a couple of minutes). I think it should never be "foreever". Maybe you did not realize this timeout potentially makes this less of a problem. (?) For Internet Explorer, the keepalivetimeout registry setting is "KeepAliveTimeout" under: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings - If you just want to turn off keep-alive temporarily just to do a test on your machine, it is possible that you can turn it off in your browser's options (set it to not use HTTP 1.1) or by modifying a registry key. Or else, you can try to find a proxy or tcptunnel that could force it "off". - A potential "brute-force" solution (not sure it is really reliable): I know that you can control the keep-alive on a request-basis by modifying the http headers (at least in IE). You can try to use XMLHttpRequest (from javascript) and force to turn off the keep-alive option by setting HTTP Headers. That is - after you finished doing your XML query. -- that's on the client (browser) side - Make many connections to be sure you saturate all the available connections (something like 2, 3 or 4). - Make sure you use a "keep-alive-friendly" proxy (or tcp tunnel) to really "test" that the connections are kept alive and that your method really makes a difference. - I do not know if we can control the HTTP Headers from within flash - if you can, try to "modify the headers" to shutoff the keep-alive option. It *might* be possible with the recent flash player 8 (raw sockets). hope this helps, B. 2006/4/21, Nathanial Thelen <[EMAIL PROTECTED]>: > > Thank you for the idea on that one. I am particularly looking for a > browser > side only solution in this case. > > Thanks, > Nate > > > On 4/21/06 2:57 PM, "David Rorex" <[EMAIL PROTECTED]> wrote: > > > On 4/21/06, Nathanial Thelen <[EMAIL PROTECTED]> wrote: > >> > >> I was wondering if anyone out there know how to force a XML connection > >> closed once the onLoad has happened? The way it works currently is > that > >> if > >> the webserver has keep-alives on, the connection to the server stays > open. > >> I am pretty sure that the browser controls this, but would love to hear > >> any > >> ideas on the topic. > >> > >> > > Possibly you could use a php file (or whatever server scripting language > you > > use ) on the server, which does only 2 simple things: > > 1. Send a HTTP header that indicates not to use keep-alive. "Keep-alive: > no" > > or something? look up the exact command. This will tell the browser not > to > > use that feature. > > 2. Print out the xml file, which will be received by flash. > > > > > > -David R > > ___ > > Flashcoders@chattyfig.figleaf.com > > To change your subscription options or search the archive: > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > Brought to you by Fig Leaf Software > > Premier Authorized Adobe Consulting and Training > > http://www.figleaf.com > > http://training.figleaf.com > > > -- > Nathanial Thelen > Partner > Userplane > LA: 323-938-4401 x203 > www.userplane.com > > AOL: natethelen > MSN: [EMAIL PROTECTED] > -- > > > > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Firefox, CSS overflow=scroll, flash buttons bug
I know there is a problem with: flash + firefox + scrolling regions + mouse coordinates + wmode != window + Windows Operating System (linux seems fine) Have you tried using wmode = window? (it might fix your mouse coordinates - in other words, your "buttons" may start to work again) B. 2006/4/21, Mike Guerrero <[EMAIL PROTECTED]>: > > So I am having a weird problem. I have a fullscreen flash displayed in on > html page using flashobject from this example: > http://blog.deconcept.com/flashobject/fullpage.html > > I wanted to have scrollbars appear in case it didn't fit the browser > window. > So I changed my css as follow. > > /* > > html { >height: 100%; >overflow: hidden; >} > > To > > html { >height: 100%; >overflow: scroll; >} > > > **/ > > > In IE if you shrink the window, you can scroll the page and click any of > the > flash buttons. In Firefox the buttons do not work. When you try to > rollover > them, the cusor stays as an arrow and the buttons flicker. I believe this > a > bug with firefox. Oh well. > > > > MikeG > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Re: New wrinkle in IE activation issue
We are certainly not reinventing the wheel. (yes, some people are still learning about this whole issue, but this is not the main point of this thread). If you carefully read the first message in this thread (and subsequent messages from from ryanm): I think ryann is saying that it does not work under certain circumstances. There is no known solution (FlashObject, UFO, plain external .js file or script-disabling checkbox). He's suspecting a bug in MS patch. He said he tested it with many different setup and machines. I can't reproduce the problem myself, but others experienced it. cheers, B. 2006/4/20, Steve Killingbeck, MMCP, ACE <[EMAIL PROTECTED]>: > > Wow I am surprised you guys keep talking about this subject (Re: New > wrinkle > in IE activation issue) > > Just use flashobject: http://blog.deconcept.com/flashobject > > Its very robust, easy to use... > > Its not perfect but pretty darn close, and its code base has been tested > by > many people and platforms over the last year... > > It solves the eolas patent problem with IE > Its friendly to search engines > It supports express install > > Take 5 minutes and look into it... > > http://blog.deconcept.com/flashobject/ > > http://blog.deconcept.com/2006/03/13/modern-approach-flash-seo/ > > http://blog.deconcept.com/2005/12/15/internet-explorer-eolas-changes-and-the > > -flash-plugin/ > > > But hey if you guys want to reinvent the wheel that cool too > > -- > Flash4Hire > http://www.flash4hire.com > > > Steve Killingbeck, MMCP, ACE > Technical Director > Certified Flash Developer & Designer > > [EMAIL PROTECTED] > 612.709.6515 > -- > > > > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] New wrinkle in IE activation issue...
Another drawback: (that might be problematic in some cases). This technique has the "double run" problem. I mean, the flash movie might start running, before the javascript had a change to do its magic of "replacing it". Depending on what the flash movie is doing and timing, the result might do a "sudden blink". I didn't do extensive testing, but I suspect it might impact the load time of the page since loading a flash movie in IE always seems to "hangs" the browser for a split second. (depending on the complexity of the flash movie) - so the "hanging time" would be doubled presumably. I want to point out that this technique is not 100% bad. It is actually one of the best bang-for-the-buck for existing pages. (unlike the FlashObject which requires much more changes). It is great for many cases - it is a brute-force, extremely low-cost method. B. 2006/4/20, Bernard Poulin <[EMAIL PROTECTED]>: > > Yes absolutely. > > http://www.unfocus.com/projects/PatentMagic/ > > In this example, at least on my machine, it drops the "flashvars" for the > ( is fine). > > You can see for yourself if you carefully read the alert box text: the > tag has its flashvars but the does not have it (value is an > empty string). > > B. > > > 2006/4/20, Geoff Stearns <[EMAIL PROTECTED]>: > > > doesn't this method break flashvars and other params? > > > > > > > > On Apr 20, 2006, at 1:23 PM, Kevin Newman wrote: > > > > > I didn't want to have to redefine all the stuff that has already > > > been defined in the html object. So I made this: :-) > > > > > > http://www.unfocus.com/projects/PatentMagic/ > > > > > > A super tiny js file include and a stylesheet takes care of all > > > object activation. It's a bit brute force, but it should get the > > > job done if you are looking for a quick fix and are using static > > > embedded html. If anyone has any ideas on how to make this more > > > robust, please let me know. :-) > > > > > > > > > Kevin N. > > > > > > > > > Geoff Stearns wrote: > > >> you could do this with flashobject really easily. > > >> > > >> just call fo.write() whenever you want and it will replace the > > >> object you target with your flash movie. > > >> > > >> > > >> > > >> On Apr 20, 2006, at 11:04 AM, Kevin Newman wrote: > > >> > > >>> I prefer solutions that try to hide IE's lack of conformity, like > > >>> Dean Edwards's IE 7 script: > > >>> http://dean.edwards.name/IE7/ > > >>> > > >>> There are just too many installations to realistically ignore them. > > >>> > > >>> Speaking of hacking on IE, is there a way to prevent an object > > >>> from loading? By that I mean, I want to use Object tags to embed > > >>> a Swf, but I don't want it to download or load in the background > > >>> until I tell it to via a script interaction (vbscript or > > >>> javascript). Will hiding it via css do the trick, or will I need > > >>> to take further steps to keep it from loading? > > >>> > > >>> Thanks, > > >>> > > >>> Kevin N. > > >>> > > > > > > > > > ___ > > > Flashcoders@chattyfig.figleaf.com > > > To change your subscription options or search the archive: > > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > > > Brought to you by Fig Leaf Software > > > Premier Authorized Adobe Consulting and Training > > > http://www.figleaf.com > > > http://training.figleaf.com > > > > ___ > > Flashcoders@chattyfig.figleaf.com > > To change your subscription options or search the archive: > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > Brought to you by Fig Leaf Software > > Premier Authorized Adobe Consulting and Training > > http://www.figleaf.com > > http://training.figleaf.com > > > > > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] New wrinkle in IE activation issue...
Yes absolutely. http://www.unfocus.com/projects/PatentMagic/ In this example, at least on my machine, it drops the "flashvars" for the ( is fine). You can see for yourself if you carefully read the alert box text: the tag has its flashvars but the does not have it (value is an empty string). B. 2006/4/20, Geoff Stearns <[EMAIL PROTECTED]>: > > doesn't this method break flashvars and other params? > > > > On Apr 20, 2006, at 1:23 PM, Kevin Newman wrote: > > > I didn't want to have to redefine all the stuff that has already > > been defined in the html object. So I made this: :-) > > > > http://www.unfocus.com/projects/PatentMagic/ > > > > A super tiny js file include and a stylesheet takes care of all > > object activation. It's a bit brute force, but it should get the > > job done if you are looking for a quick fix and are using static > > embedded html. If anyone has any ideas on how to make this more > > robust, please let me know. :-) > > > > > > Kevin N. > > > > > > Geoff Stearns wrote: > >> you could do this with flashobject really easily. > >> > >> just call fo.write() whenever you want and it will replace the > >> object you target with your flash movie. > >> > >> > >> > >> On Apr 20, 2006, at 11:04 AM, Kevin Newman wrote: > >> > >>> I prefer solutions that try to hide IE's lack of conformity, like > >>> Dean Edwards's IE 7 script: > >>> http://dean.edwards.name/IE7/ > >>> > >>> There are just too many installations to realistically ignore them. > >>> > >>> Speaking of hacking on IE, is there a way to prevent an object > >>> from loading? By that I mean, I want to use Object tags to embed > >>> a Swf, but I don't want it to download or load in the background > >>> until I tell it to via a script interaction (vbscript or > >>> javascript). Will hiding it via css do the trick, or will I need > >>> to take further steps to keep it from loading? > >>> > >>> Thanks, > >>> > >>> Kevin N. > >>> > > > > > > ___ > > Flashcoders@chattyfig.figleaf.com > > To change your subscription options or search the archive: > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > Brought to you by Fig Leaf Software > > Premier Authorized Adobe Consulting and Training > > http://www.figleaf.com > > http://training.figleaf.com > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Re: Active X and Microsoft IE ...
I am sorry, I didn't try your version explicitely but another "similar" technique. Probably I jumped on conclusions too fast. To be precise, what I found is calling "innerHTML" on an parent object of an tag (on IE) does not renders all the attributes correctly. You could see it by looking at the resulting "string" in a debugger. But there are differences that could explain this. The parent object was not a tag like yours. Also maybe there was a question of timing: I was calling my external javascript from the "end" of the page - it was taking care of all flash objects on the page at once. (unlike your technique). I do not recall the exact IE version I was using (probably a very recent one) and I do not have a quick test bed to try it out again now. Another drawback I saw is the "double initialization" of all my flash movies. Each movie would load and run "twice". hope that helps, B. 2006/4/18, Geoff Knutzen <[EMAIL PROTECTED]>: > > > I am using flashvars with this technique and am having no troubles at all > > Is there some circumstance where the flashvars wouldn't work? > I don't know what I am missing here. This has worked for me on every test > that I have come up with. > > 2006/04/18, "Bernard Poulin" <[EMAIL PROTECTED]> > > > > > >Just a little note about this technique: > > > >It will "void" out the "flashvars" attribute (and potentially other > >less-frequently used attributes). > > > >If you do not use these special attributes, then this technique is > perfectly > >fine. > > > >B. > > > > > >2005/12/22, Geoffrey Knutzen <[EMAIL PROTECTED]>: > >> > >> > >> Here is what I am using: > >> > >> >> classid="clsid:d27cdb6e-ae6d-11cf-96b8-44455354" > >> codebase=" > >> > > http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#versio > n=6,0,0,0 > >> " > >> width="435" height="270" id="flash_home" align="middle"> > >> > >> > >> > >> > >> > >> >> width="435" height="270" name="flash_home" align="middle" > >> allowScriptAccess="sameDomain" type="application/x-shockwave-flash" > >> pluginspage="http://www.macromedia.com/go/getflashplayer"; /> > >> > >> > >> and then in an exteranl .js file: > >> function writeExCtrl(id){ > >> if(document.getElementById && document.getElementById(id) && > >> document.getElementById(id).innerHTML){ > >> document.write(document.getElementById(id).innerHTML.replace(/>/gi, > >> '>').replace(/</gi, '<')); > >> } > >> } > >> > >> Basically, everything is the same as it always was for every browser > other > >> than ie > >> using the ie conditional comments, > >> > >> > > > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] New wrinkle in IE activation issue...
What you are saying makes me a bit scary: You are saying that using all the latests software from Microsoft and after all the workarounds, it still fails. The following page should normally work with the latest microsoft patches. Does it work for you? http://www.macromedia.com/ You said that "there are people on the web right now who are seeing this problem". Can you give us some pointers as this is the only thread I can find about this. thanks! Bernard 2006/4/18, ryanm <[EMAIL PROTECTED]>: > > > You need to load your flash into your HTML from an external > > .js file. See adobe/macormedia's site for more information. > > >No, we all know about that. This is happening *after* using the > innerHtml method to write object tags. All of the workarounds fail in some > cases, apparently diue to an MS bug. > > ryanm > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Re: Active X and Microsoft IE ...
Just a little note about this technique: It will "void" out the "flashvars" attribute (and potentially other less-frequently used attributes). If you do not use these special attributes, then this technique is perfectly fine. B. 2005/12/22, Geoffrey Knutzen <[EMAIL PROTECTED]>: > > > Here is what I am using: > > classid="clsid:d27cdb6e-ae6d-11cf-96b8-44455354" > codebase=" > http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0 > " > width="435" height="270" id="flash_home" align="middle"> > > > > > > width="435" height="270" name="flash_home" align="middle" > allowScriptAccess="sameDomain" type="application/x-shockwave-flash" > pluginspage="http://www.macromedia.com/go/getflashplayer"; /> > > > and then in an exteranl .js file: > function writeExCtrl(id){ > if(document.getElementById && document.getElementById(id) && > document.getElementById(id).innerHTML){ > document.write(document.getElementById(id).innerHTML.replace(/>/gi, > '>').replace(/ } > } > > Basically, everything is the same as it always was for every browser other > than ie > using the ie conditional comments, > > http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/overview/ccomment_ovw.asp > , > put in noscript tags around the call to the flash file. So if the user is > using ie and has javascript turned off, they will still see the flash, but > will have to click on it to enable it. This is as good as it can get for a > non javascript ie user. > If they do have javascript, the function reads the innerHTML of the > noscript > tag and writes it out to the page and all is good. > > It might be possible to get a bit more specific on the conditional > comments, > like perhaps only targeting ie6, but I am not sure if microsoft will be > rolling out this "fix" to ie 5 or not, so I have bee playing it safe for > now. > > > > > > Can anyone answer this: > > > > What happens if a user doesn't have javascript enabled in their browser > > for the recommended Macromedia solution (see link: > > http://www.macromedia.com/devnet/activecontent/articles/devletter.html) > to > > this whole Active X debacle ? > > > > ??? > > > > Please answer this if you can. It has me stressed. > > > > Thanks, > > Stephen. > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] HTML + flash (html title changes on loadMovie)
This is a known & common problem. This bug has been going for a long time! Very annoying when doing "AJAX"-style pages where the "page state" is kept on the URL. It sounds like there is some (debug?) code inside the flash plugin that somehow "modifies" the window title with the information (???). More info here: http://neo.dzygn.com/archive/2004/09/flash-bug-in-ie The only workaround I found as of today is to "reset" the window title after every movie loads. (which is difficult to track - I personally execute a javascript method from flash on the first "frame"). regards, Bernard 2006/4/5, elibol <[EMAIL PROTECTED]>: > > Can you share the code in your html file and the code segment that > loads/preloads and initializes the movieclip? You've described the problem > very clearly, however, I've never heard of such a problem; it doesn't seem > common. There is no quick answer I could give you. > > M. > > > On 4/5/06, Tarjinder Kumar <[EMAIL PROTECTED]> wrote: > > > > Hi > > > > i have my main.swf file embedded in html page. > > The swf file conatins 4-5 movieclip. On the click of a particular > > movieclip a new swf file is loaded in my main.swf file. > > I am using loadMovie to load swf. > > The problem is when i click on a particular movieclip to load swf file > > the html page title changes to # sign. > > > > Pls help > > Thanks in advance. > > Tarjinder > > ___ > > Flashcoders@chattyfig.figleaf.com > > To change your subscription options or search the archive: > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > Brought to you by Fig Leaf Software > > Premier Authorized Adobe Consulting and Training > > http://www.figleaf.com > > http://training.figleaf.com > > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com