Re: [Flashcoders] sorting xml

2010-08-31 Thread Steven Sacks

 If you think he wants to do sorting as you described it, why don't you
 post some code that does that instead of arguing about the code sample I
 posted trying to help him accomplish what I think he wants to do?


Hehe, that shut him up, Jason. :)
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Facebook API GetPhotos not working

2010-08-15 Thread Steven Sacks

I _highly_ recommend using the Graph API instead of the RESTful API.

It's S much simpler and easier.

http://developers.facebook.com/docs/api
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] How to handle String the best way

2010-07-22 Thread Steven Sacks

http://www.regular-expressions.info/
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Tweener still in development

2010-06-24 Thread Steven Sacks
Jack, author of Greensock, has said that the Between AS3 demo is unfair because 
they purposefully used an inefficient way to tween in Greensock and a 
specifically optimized but not real world example of tweening with Between. You 
can ask him for more details.


This is not in any way meant to slight the incredibly smart and talented authors 
of Between AS3.


To be honest, most people aren't going to be tweening that many objects anyway, 
so it really comes down to whichever engine API and features you like better or 
need more. For most use, there's probably no difference in performance.



On 6/24/2010 10:09 AM, allandt bik-elliott (thefieldcomic.com) wrote:

That between as3 demo literally tore my face off - i didn't think it was
possible to get faster than tweenlite

On 24 Jun 2010 17:27, Ktuktu_fl...@cataclysmicrewind.com  wrote:

If you like stricter more OO code, you can try GTween from Grant Skinner.
Not quite as fast in performance as the TweenLite family.
http://www.gskinner.com/libraries/gtween/

Ktu;


On Thu, Jun 24, 2010 at 9:51 AM, Merrill, Jason
jason.merr...@bankofamerica.com  wrote:


Second...

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Tweener still in development

2010-06-24 Thread Steven Sacks
If I recall correctly, one of his points was that they used Vectors in 10 for 
theirs and Arrays in 9 for Greensock's for their comparison, which is obviously 
biased.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] TweenMax EndArrayPlugin();

2010-06-23 Thread Steven Sacks
As mentioned in the release notes awhile back, the new version of Gaia uses the 
new Greensock v11 platform, which is different than the previous one and uses a 
brand new package.  You cannot just upgrade an old Gaia project without taking 
the time to manually change all your references to the old Tween functions and 
delete the old gs package.


There's no way to do this automatically for you. You will have to do this 
yourself. If you're not comfortable doing it, then you should probably keep that 
project at 3.1.5.





On 6/23/2010 11:48 AM, Ryan P wrote:

I am using Gaia Framework, and am trying to upgrade a old project from 3.1.5
to 3.2.3. Everything looks like it is working corretly but I am getting:

--
The class or interface 'ArrayTweenInfo' could not be loaded.

The class or interface 'ArrayTweenInfo' could not be loaded.

There is no class or package with the name
'com.greensock.plugins.EndArrayPlugin' found in package
'com.greensock.plugins'.

--

I am kinda new to this plugin thing..

Thanks,

Ryan
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Reverse Compiling

2010-06-22 Thread Steven Sacks

I _highly_ recommend Beanstalk for all your svn needs.

http://www.beanstalkapp.com/



On 6/22/2010 10:16 AM, Kerry Thompson wrote:

Gustavo Duenas wrote:


how can I install a subversion server on a mac?


Do you want an SVN client on a Mac, or do you want to have a Mac SVN server?

I've installed SVN on a Linux server, and the client on Mac and PC.
I've never used the Mac as the host, though.

Here's a link to the SVN Mac download page:
http://subversion.apache.org/packages.html. If you look around a
bit, there's quite a bit of documentation.

Cordially,

Kerry Thompson
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] HTMLLoader and AIR -- always a nice white blank

2010-06-20 Thread Steven Sacks

Did you trace the width and height?
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] regExp

2010-06-18 Thread Steven Sacks
I guess you were using AS2? There is no native RegEx in AS2, though, so I don't 
see how you were going to use AS3 in AS2. In AS3, you should NEVER use anything 
other than ints to iterate integer values. Don't use uint, and don't use Number.


That code I provided is code I wrote and tested in Flash, not in the email. That 
being said, it should have been:


int(Math.random() * 62)

not

Math.round(Math.random() * 62)

Since array[array.length] will return undefined.



On 6/17/2010 12:45 PM, Karl DeSaulniers wrote:

Thanks Juan, Thanks Jim.

@Steve
I noticed with your example I get undefined as one of the results.
Also, I had to change the var i:int; to var i:number = 0;
I got an error with int saying it could not load the class or interface
for int.
What am I missing here?
TIA

Karl

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] regExp

2010-06-18 Thread Steven Sacks
And just to add to this, in AS3, I never use Array anymore for the very reason 
that passing an out of range value returns undefined instead of throwing an out 
of range error. So, I always use Vector.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] regExp

2010-06-17 Thread Steven Sacks

RegEx isn't really used for what you're talking about.

You should use ascii codes to create your alphanumeric array and then choose 
random indexes from  it to create your random string.


var i:int;
var alphaNumeric:Array = [];
for (i = 97; i  123; ++i)
{
alphaNumeric.push(String.fromCharCode(i));
alphaNumeric.push(String.fromCharCode(i - 32));
}
for (i = 0; i  10; ++i)
{
alphaNumeric.push(i);
}
function getRandomString(i:int):String
{
var str:String = ;
while (i--)
{
str += alphaNumeric[Math.round(Math.random() * 62)];
}
return str;
}

trace(getRandomString(8));
-- lKzU4e0X

It's worth pointing out that Math.random() is merely decent at generating random 
values. If you really need random values, it is better to use something like the 
Parker Miller pseudo-random number generator.


http://www.gskinner.com/blog/archives/2008/01/source_code_see.html
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] regExp

2010-06-17 Thread Steven Sacks

http://www.asciitable.com/

a-z = 97-122
A-Z = 65-90

97 - 65 = 32

a-z = 26 letters
A-Z = 26 letters
0-9 = 10 numbers

26 + 26 + 10 = 62


On 6/16/2010 11:15 PM, Karl DeSaulniers wrote:

Ah thanks Steve.
So is 97 to 123 the placement of upper and lowercase letters and the
numbers on the CharCode chart?
and are the upper and lowercase letters 32 letters apart on the chart?
Trying to understand where you got these values. Your solution is very
good and interesting to me.
Also, why random off of 62? Is that the total characters in the array
alphaNumeric?
Thank you for this.

Karl

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Realaxy ActionScript Editor public beta

2010-06-10 Thread Steven Sacks
You're going to have to provide a bullet point list of why I should choose 
Relaxy over FDT or FlashDevelop, because your website is working against you.


I watched your videos and they didn't make any sense. No voiceover and lots of 
mistakes while making your screencasts don't make for a good sales pitch.


For example, your Metadata autocomplete video doesn't make any sense whatsoever. 
It looks like you made tons of mistakes while you were doing it, as if even you 
didn't quite know how it worked. In the time it took you to make it work, I 
could have written multiple metadata lines by hand.


How is that saving me time? How is that worth $99?

Not to mention the logical fallacy of writing a static method to dispatch an 
event. You're not going to sell me an Actionscript editor when you don't even 
know the fundamental rules of writing Actionscript (static functions cannot 
dispatchEvent - that's an instance method of any class that extends 
EventDispatcher).


In your videos, you're using the mouse a lot, opening the system menus a lot, 
these are all things that smart code editors avoid, but your code editor seems 
to embrace. Your Usability videos show Relaxy has anything but.


John Lindquist made a 12 minute Hello World video for RobotLegs that passively 
showed off everything that FDT did and he didn't touch the mouse until the last 
minute to click on the Run button. That's the best sales pitch for a code editor 
I've ever seen. Seeing it in action without him talking about the editor itself, 
just seeing what it allowed him to do while he wrote code, you could clearly see 
the power, usability, and time-saving features of FDT.


Based on your sales pitch, there is no reason why anyone should be convinced to 
use Relaxy. The product is clearly still in early beta and doesn't hold a candle 
to FlashDevelop, which is free, or FDT, which is worth every penny.


Best of luck, guys. You need to step up your game. Hopefully, you will.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Flash Skype Integration

2010-06-08 Thread Steven Sacks

No.


On 6/8/2010 2:32 PM, patrick [insert last name here] wrote:


Hi List,



I'm looking for any useful information on Flash/AIR integration with Skype or 
Google Voice, or any VOIP service. Is this possible? Any info would be greatly 
appreciated. Thanks.



Patrick

_
The New Busy is not the too busy. Combine all your e-mail accounts with Hotmail.
http://www.windowslive.com/campaign/thenewbusy?tile=multiaccountocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_4___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Flash Skype Integration

2010-06-08 Thread Steven Sacks

http://bit.ly/aLgX7Q

http://bit.ly/b4Pd7y
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] problem with strongly typed actionscript

2010-06-07 Thread Steven Sacks
Architecturally speaking, that's a bad idea. There's probably a strongly typed 
solution to what you're doing.  Can you provide detail about what you need to 
accomplish so we can help you figure out a better solution?




On 6/7/2010 3:40 AM, Jim Andrews wrote:

i want to write a method x which takes an argument y. i cannot
anticipate what type the argument is going to be until run-time. it
might be a number or a string or an array or who knows what?

but i am not sure how to do this in actionscript because it is strongly
typed. normally what is done is

public function x(y:String):void
{

}

but this won't do because y is limited to being of type String, whereas
in the method i want to write, the type of y is not known until run-time.

how do i do this in actionscript?

ja?
http://vispo.com
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Passing Var value to loaded swf

2010-06-07 Thread Steven Sacks
Loader is a DisplayObject. You can add Loader to the stage before telling it to 
load.  You don't have to wait to addChild() the content of the Loader after it 
loads.


You cannot dispatch bubbled events from your loaded swf through the Loader that 
loaded it. Keep that in mind.


Doing parent.parent is generally a bad idea, since it requires that the swf 
being loaded have intimate detail of its parent. You wouldn't want to walk in on 
your parents having sex, but your parents might walk in on you masturbating 
(since you live in their house).


Maybe I should rethink that metaphor...
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] problem with strongly typed actionscript

2010-06-07 Thread Steven Sacks
Right so what you're essentially talking about is a Model, and the SharedObject 
is acting as a Service.


public class Model extends EventDispatcher
{
private var so:SharedObject;

public function Model()
{
super();
init();
}
private function init():void
{
so = SharedObject.getLocal(yourAppName);
}
public function set foo(value:int):void
{
so.data.foo = value;
so.flush();
dispatchUpdate();
}
public function get foo():int
{
return so.data.foo;
}
public function set bar(value:String):void
{
so.data.bar = value;
so.flush();
dispatchUpdate();
}
public function get foo():String
{
return so.data.bar;
}
private function dispatchUpdate():void
{
dispatchEvent(new ModelEvent(ModelEvent.UPDATE));
}
// etc.
}

Get the idea?  It might seem like a lot of extra work, but by mapping out all of 
the values you need, it will be extremely clear what's being stored and what 
type each property is. It will help you avoid missing things you should be 
storing (like a checklist), and you will always be able to guarantee that the 
value you're getting is what you're expecting, avoiding run-time errors.


By listening the model for its update event, you're also guaranteeing that if 
one thing updates a value in the SharedObject, anyone who cares about that value 
will be updated that the value has potentially changed.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] problem with strongly typed actionscript

2010-06-07 Thread Steven Sacks
With due deference, what you just said I disagree with. The scenario you 
described is not a necessary evil, it's a hack.


The only situation where that isn't a hack is if your class extends a native 
type such as Sprite, but there's no ISprite. That problem is either solved by 
adding the Sprite functions you need to your interface, or, if you need to 
addChild() your interface, then you cast as Sprite because there's no other way.


Outside of that specific case, you should never run into the situation you 
described, and if you do, it's time for a quick refactor.


If you want a function in SomeConcreteClass to be accessible outside the 
class/inheritance/package (i.e. public) and you have an interface for that 
class, then you should include that function in the interface.  Sometimes you 
may not put public methods in the interface because you want them to be public 
to other packages inside your app, but not to the outside world, and you 
shouldn't be casting to the interface of that class in those cases. Why would 
you cast as the interface when you don't need the interface?


Using interfaces incorrectly or inappropriately is the disease, not a symptom of 
strict typing. If anything, strict typing forces these issues to appear in your 
code before it's too late.


No matter what, proper typing never leads to code smell. Improper typing or 
mixed typing like what you described is code smell in the sense that it's 
indicative of poor architecture decisions.




On 6/7/2010 3:46 PM, Juan Pablo Califano wrote:

I agree with you, but I'add for the sake of completeness that, sometimes,
relaxing the rules a bit becomes a necessary evil, like for instance, when
doing a cast.

When you do this:

// bar is typed as ISomeInterface somewhere else
var foo:SomeConcreteClass = bar as SomeConcreteClass;  // or
SomeConcreteClass(bar)
foo.methodOnlyPresentInConcreteClass();

You are basically bypassing the rules of type system. You're telling the
compiler that an object declared as ISomeInterface at compile time will be
an instance of SomeConcreteClass at runtime. You're asking the compiler to
trust you and not blow up when compiling your code. Some times this is
avoidable with some refactoring (and or a better design). Sometimes it's not
possible or impractical (this also depends on how purist you are, I guess).
Nevertheless, having too many casts is usually considered a code smell for
this very reason.

Cheers
Juan Pablo Califano

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] Flash CS5 TLF Engine Causes Errors With Loaded SWFs

2010-05-28 Thread Steven Sacks

http://www.stevensacks.net/2010/05/28/flash-cs5-tlf-engine-causes-errors-with-loaded-swfs/

You cannot use the TLF Engine in swfs that you load into another swf. If you 
know somebody at Adobe, please raise this issue.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Producing a random list with no repeats

2010-05-09 Thread Steven Sacks

Here's a very clean, fast and simple way to randomize an array.

array.sort(randomizeFunction);

function randomize(a:int, b:int):int
{
return int(Math.random() * 2) - 1;
}

If you're not happy with Math.random()'s randomness, there are plenty of other 
random number generators out there, such as:


http://lab.polygonal.de/2007/04/21/a-good-pseudo-random-number-generator-prng/

And Grant Skinner's Rndm:
http://www.gskinner.com/blog/archives/2008/01/source_code_see.html
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Producing a random list with no repeats

2010-05-09 Thread Steven Sacks

You're right. I was careless on two counts.

Fisher-Yates it is.


On 5/9/2010 4:36 PM, Juan Pablo Califano wrote:

Steven, sorry to contradict you, but although your code is simple and sort
of works, there a couple of problems with it.

First, the sorting function is wrong. A sorting function is supposed to
return -1,0 or 1. But it only returns -1 or 0.

The problem is you are coercing the result to int. You should use Math.round
instead.

int(Math.random() * 2) will return 1 or 0, never 2, because the biggest
value Math.random will return will be close to 1, but never will be 1. So,
if Math.random returns say, 0.9, after you multiply you get 1.8; since
you're using int(), decimals will just be discarded (instead of rounded) and
the result will be 1. There's no way you'll get 2, only 1 or 0. Then you
substract 1, so your sorting function will return either -1 or 0.

Second, you don't need to sort the whole list. It's much more work than it's
needed to shuffle the array. While the Fisher-Yates algorithm is linear, the
sort is not. That is, if you have 40 items, you know the Fisher-Yates will
visit each list slot only once. That's not the case with the sort method.
It grows exponentially. Well, maybe not exactly exponential, I'm not
possitive, but it's not linear anyway, as this code shows:

var list:Array = [];
var numItems:int = 40;
for(var i:int = 0; i  numItems; i++) {
list[i] = i;
}

var calls:int = 0;
function randomize(a:int, b:int):int
{
calls++;
return int(Math.random() * 2) - 1;
}

list.sort(randomize);
trace(calls: + calls);

Change numItems and you'll see what I mean. Bottom line, you're doing more
work than you need: you're calling a function instead of doing your
comparison inline and you are calling Math.random more than it's actually
needed to sort the list.

Third, the sorting algorithm works under the assumption that given two
objects they allways sort the same: either the first one is less than, equal
or greater than the second. That doesn't hold true if your sorting function
returns a random result. And I think maybe that's why the number of calls
that the above code prints vary even when you have the same number of items.

Cheers
Juan Pablo Califano

PS. I also used the method you describe (for years) until I read about its
problems, so I thought maybe this is a good opportunity to pass this info
on. To be honest, though, I don't think it will be a problem
preformance-wise unless you have a rather big array.

2010/5/9 Steven Sacksflash...@stevensacks.net


Here's a very clean, fast and simple way to randomize an array.

array.sort(randomizeFunction);

function randomize(a:int, b:int):int
{
return int(Math.random() * 2) - 1;
}

If you're not happy with Math.random()'s randomness, there are plenty of
other random number generators out there, such as:


http://lab.polygonal.de/2007/04/21/a-good-pseudo-random-number-generator-prng/

And Grant Skinner's Rndm:
http://www.gskinner.com/blog/archives/2008/01/source_code_see.html

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Producing a random list with no repeats

2010-05-09 Thread Steven Sacks

In the exception that Math.random() returns 1, in which case you would get 2.

I don't use Math.random(), though, I use the Parker-Miller PRNG.



On 5/9/2010 5:01 PM, Juan Pablo Califano wrote:

PS 2: I think the correct way to write the function that returns a number in
the range -1 / 1 is:

Math.floor(Math.random * 3) - 1

In this case, you could indeed use int() instead of a static Math method, so
I guess I was wrong about your function needing a Math.round call.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] debugging Flash apps

2010-05-07 Thread Steven Sacks

FDT. End of story.


On 5/7/2010 2:46 PM, Jim Andrews wrote:

I'm finding the debugger in the Flash IDE almost unusably slow. How do
people debug their apps?

And I've taken to using FlashDevelop for editing code because the editor
in the Flash IDE is equally slow.

ja
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] debugging Flash apps

2010-05-07 Thread Steven Sacks

Download the standalone version of FDT 3.5.


On 5/7/2010 5:00 PM, Jim Andrews wrote:

Thanks, Steven. Does this require Eclipse? What flavour of Eclipse, if so?

ja



FDT. End of story.


On 5/7/2010 2:46 PM, Jim Andrews wrote:

I'm finding the debugger in the Flash IDE almost unusably slow. How do
people debug their apps?

And I've taken to using FlashDevelop for editing code because the editor
in the Flash IDE is equally slow.


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Best Practices and optimization

2010-05-03 Thread Steven Sacks

http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Best Practices and optimization

2010-05-03 Thread Steven Sacks

http://lab.polygonal.de/2007/05/10/bitwise-gems-fast-integer-math/

And just in general:
http://lab.polygonal.de/

Michael's examples are the fastest versions of various algorithms, such as 
collision detection, tangent approximation, etc.  There is much to learn from 
his blog.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Recommended set-up for Flash Builder 4?

2010-04-10 Thread Steven Sacks

NDA? Flash Builder 4 is out. Nobody is prohibited from talking about it 
anymore. ;)


On 4/10/2010 1:44 PM, Kerry Thompson wrote:

John McCormack wrote:

Which setup do you recommend for Flash Builder 4?

Stand-alone or plug-in?
If plug-in, which eclipse version?


I would use the plug-in version. I've heard from very reliable sources
that there are some issues with the standalone version--I'm not sure
what the issues are, and my source can't tell me because of NDA, but I
can tell you that I have the plug-in version running, and I love it. I
have Eclipse Java EE IDE for Web Developers, Build id 30200328-2603.
The build ID may change, but that's the one you want.

When you do the installation, run everything as Administrator the
first time around if you're on Windows. Eclipse itself you just
extract, then drag to Program Files (x86)--you don't need to do the
extraction as administrator.

Cordially,

Kerry Thompson
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] Getting the line index at the caretIndex

2010-04-09 Thread Steven Sacks
I'm trying to get the line index at the caret index in a multiline input 
TextField, but it doesn't work.  Any ideas why?



var tf:TextField; // this is my TextField
tf.addEventListener(Event.CHANGE, onChange);
function onChange(event:Event):void
{
var caret:int = tf.caretIndex;
var line:int = tf.getLineIndexOfChar(caret);
// line is always traces -1
trace(caret= + caret + , line= + line);
}

I typed this:

abcd
efgh
cekjk
wejk
rhwejk
rwehkj
werhkj
rehwk
rewkj
rehkj
rehkj
rewhkj
rewhkjgiorehj
fdkjs
cdshkjfhkj

Output is this:

caret=0, line=-1
caret=1, line=-1
caret=2, line=-1
caret=3, line=-1
caret=4, line=-1
caret=5, line=-1
caret=6, line=-1
caret=7, line=-1
caret=8, line=-1
caret=9, line=-1
caret=10, line=-1
caret=11, line=-1
caret=12, line=-1
caret=13, line=-1
caret=14, line=-1
caret=15, line=-1
caret=16, line=-1
caret=17, line=-1
caret=18, line=-1
caret=19, line=-1
caret=20, line=-1
caret=21, line=-1
caret=22, line=-1
caret=23, line=-1
caret=24, line=-1
caret=25, line=-1
caret=26, line=-1
caret=27, line=-1
caret=28, line=-1
caret=29, line=-1
caret=30, line=-1
caret=31, line=-1
caret=32, line=-1
caret=33, line=-1
caret=34, line=-1
caret=35, line=-1
caret=36, line=-1
caret=37, line=-1
caret=38, line=-1
caret=39, line=-1
caret=40, line=-1
caret=41, line=-1
caret=42, line=-1
caret=43, line=-1
caret=44, line=-1
caret=45, line=-1
caret=46, line=-1
caret=47, line=-1
caret=48, line=-1
caret=49, line=-1
caret=50, line=-1
caret=51, line=-1
caret=52, line=-1
caret=53, line=-1
caret=54, line=-1
caret=55, line=-1
caret=56, line=-1
caret=57, line=-1
caret=58, line=-1
caret=59, line=-1
caret=60, line=-1
caret=61, line=-1
caret=62, line=-1
caret=63, line=-1
caret=64, line=-1
caret=65, line=-1
caret=66, line=-1
caret=67, line=-1
caret=68, line=-1
caret=69, line=-1
caret=70, line=-1
caret=71, line=-1
caret=72, line=-1
caret=73, line=-1
caret=74, line=-1
caret=75, line=-1
caret=76, line=-1
caret=77, line=-1
caret=78, line=-1
caret=79, line=-1
caret=80, line=-1
caret=81, line=-1
caret=82, line=-1
caret=83, line=-1
caret=84, line=-1
caret=85, line=-1
caret=86, line=-1
caret=87, line=-1
caret=88, line=-1
caret=89, line=-1
caret=90, line=-1
caret=91, line=-1
caret=92, line=-1
caret=93, line=-1
caret=94, line=-1
caret=95, line=-1
caret=96, line=-1
caret=97, line=-1
caret=98, line=-1
caret=99, line=-1
caret=100, line=-1
caret=101, line=-1
caret=102, line=-1
caret=103, line=-1
caret=104, line=-1
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Prevent children from listening to parent mouse events

2010-04-06 Thread Steven Sacks

This is what the ROLL_OVER and ROLL_OUT events are for.


On 4/6/2010 6:11 AM, Ktu wrote:

If none of the children require any mouse events you could always do:
parent.mouseChildren = false;

Ktu

On Sun, Mar 28, 2010 at 11:45 PM, confustic...@gmail.com
confustic...@gmail.com  wrote:


Hey list,

I'm surprised I didn't notice this behaviour sooner, and I wonder how to
get
around it.

Suppose you have a parent sprite and a child sprite. The child is small
enough to fit within the parent. The parent has a mouseOut event listener.
It seems that the child sprite's mouseOuts are also listened for, although
the mouse is still within the parent.

Is it possible to listen ONLY for the parent's mouse events, not the
child's?

Example code:

var parentSprite:Sprite = new Sprite();
addChild(parentSprite);
parentSprite.graphics.beginFill(0xFF);
parentSprite.graphics.drawRect(0, 0, 100, 100);
parentSprite.name = parental

var childSprite:Sprite = new Sprite();
parentSprite.addChild(childSprite);
childSprite.graphics.beginFill(0xFF);
childSprite.graphics.drawRect(0, 0, 20, 20);
childSprite.x = childSprite.y = 30;
childSprite.name = kiddie;

parentSprite.addEventListener(MouseEvent.MOUSE_OUT, mouseHandler)

function mouseHandler (e:MouseEvent):void {
trace(e.target.name:  + e.target.name)
trace(e.currentTarget.name:  + e.currentTarget.name)
trace()
}
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] What good is a Controller?

2010-03-31 Thread Steven Sacks

On 3/31/2010 7:32 AM, Merrill, Jason wrote:

FlashDevelop - yes, you can code in AS2  - but if you want to compile
without using the Flash IDE, you have to use the free Flex SDK, which
means you have to use (well, I should say get to use) Actionscript 3.0.


Incorrect. MTASC is used to compile AS2 outside of Flash, and comes with 
FlashDevelop.  And, MTASC has a feature mxmlc doesn't in that it can do code 
injection into an existing swf, meaning you can take a .fla with lots of assets, 
publish it, and then just inject updated code inside of it without having to 
recompress all the assets again (especially fonts which can take a long time to 
code).

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] What good is a Controller?

2010-03-30 Thread Steven Sacks

If you know the basics of MVC, then you should be able to learn RobotLegs.

[Inject] is SwiftSuspenders metadata, which RobotLegs uses.

Just because it's foreign to you doesn't mean it's not worth learning.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] What good is a Controller?

2010-03-30 Thread Steven Sacks
RobotLegs was built for AS3, not Flex.  I am using it in a pure AS3 project 
right now.


It's easy to setup for Flash IDE.

http://www.helmutgranda.com/2009/12/02/robotlegs-and-flash-ide-cs4-injection/

Believe me, it's worth learning. RobotLegs is amazing.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] What good is a Controller?

2010-03-30 Thread Steven Sacks

though obviously, using mxmlc to compile makes it a lot easier.

FlashDevelop, FDT, FlexBuilder, anything can be used to compile Flash without 
Flash (or Flex).

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] What good is a Controller?

2010-03-29 Thread Steven Sacks

MVC Public Service Announcement
http://www.youtube.com/watch?v=91C7ax0UAAc

If you want to learn about MVC, pick up the Ruby on Rails book.

I suggest you use RobotLegs, which uses Mediators and Commands instead of 
Controllers.  RobotLegs is better suited for the world of Flash than MVC, which 
Flash blurs the lines between with MovieClip.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] NoCache XML

2010-03-26 Thread Steven Sacks

It should always work.  Perhaps the url of the xml has a ? already in it?

public function nocache(url:String):String
{
var d:Date = new Date();
var nc:String = nocache= + d.getTime();
if (url.indexOf(?)  -1) return url +  + nc;
return url + ? + nc;
}


On 3/26/2010 2:27 PM, Nathan Mynarcik wrote:

Hey everyone,

I am loading in an external xml doc via

loadXML(url of xml);

To prevent browsers from caching the xml, I add at the end of the url string a 
Date object like:

loadXML(url of xml+?nocache=+new Date().getTime());

This sometimes works and other times doesn't. The xml is the backbone to the 
colors used in the UI of my site which goes black when the load doesn't work 
properly.

I have tried to add an IOERROREvent function to catch the error and then supply 
the url to the load function without the Date object appended.

Is there any checks or different directions I can take to prevent visitors from 
sometimes having to refresh until the xml gets loaded correctly?
Nathan Mynarcik
Interactive Web Developer
nat...@mynarcik.com
254.749.2525
www.mynarcik.com
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] NoCache XML

2010-03-26 Thread Steven Sacks

Safari doesn't honor nocache. Safari is a jerk. Are you using Safari?


On 3/26/2010 3:35 PM, Nathan Mynarcik wrote:

That's similar to what I am doing. I know for a fact that the url doesn't already have a 
? in it.

I have no clue why on some visits, the colors and other xml data is not pulled. 
Then on a refresh it pulls them.

--Original Message--
From: Steven Sacks
To: Nathan Mynarcik
To: Flash Coders List
Subject: Re: [Flashcoders] NoCache XML
Sent: Mar 26, 2010 5:27 PM

It should always work.  Perhaps the url of the xml has a ? already in it?

public function nocache(url:String):String
{
var d:Date = new Date();
var nc:String = nocache= + d.getTime();
if (url.indexOf(?)  -1) return url +  + nc;
return url + ? + nc;
}


On 3/26/2010 2:27 PM, Nathan Mynarcik wrote:

Hey everyone,

I am loading in an external xml doc via

loadXML(url of xml);

To prevent browsers from caching the xml, I add at the end of the url string a 
Date object like:

loadXML(url of xml+?nocache=+new Date().getTime());

This sometimes works and other times doesn't. The xml is the backbone to the 
colors used in the UI of my site which goes black when the load doesn't work 
properly.

I have tried to add an IOERROREvent function to catch the error and then supply 
the url to the load function without the Date object appended.

Is there any checks or different directions I can take to prevent visitors from 
sometimes having to refresh until the xml gets loaded correctly?
Nathan Mynarcik
Interactive Web Developer
nat...@mynarcik.com
254.749.2525
www.mynarcik.com
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders




Nathan Mynarcik
Interactive Web Developer
nat...@mynarcik.com
254.749.2525
www.mynarcik.com

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] xml: counting parents

2010-03-22 Thread Steven Sacks
I think you mean ancestors. A node can only have one parent. Parents can have 
many children.


I think you have a bigger issue, though. Why do you need to know the depth of an 
xml node? I can't think of a single example that I would need that information.



On 3/22/2010 9:27 AM, Lehr, Theodore wrote:

I am still trying to find a way to see where a child is within the xml - on 
what level... is it possible to count a nodes parents?

So if I had:

person att=1
   person att=2
person att=3/
person att=4/
   /person
/person

1 would return that it has 0 parents, 2 would say it has 1 parent, 3  4 would 
say they have 2 parents

hope that makes sense

Ted
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] xml: counting parents

2010-03-22 Thread Steven Sacks

A few optimizations for general coding practice:

uint is slower than int for math and should only be used if you're not doing 
math on it. Number is faster than uint for numbers higher than int's positive 
limit.  Generally speaking, always use int in for/while loops.


There's no need to call p.parent() twice each loop.  You can shortcut this by 
setting p to its parent in the condition check.


Pre-increment is faster than post-increment.

Searching for a Boolean resolve instead of a specific value is faster.


var p:XML = myNode;
var depth:int;
while (p = p.parent())
{
++depth;
}



On 3/22/2010 10:26 AM, mark.jonk...@comcast.net wrote:

If you have a node, you can count its depth using one of two methods
calling a recursive function or simply doing something like this:

var p:XML = myNode;
var depth:uint = 0;
while (p.parent() != undefined)
{
depth++;
p = p.parent();
}

// depth here would be the number of parent.

if you only want to count parents where parent().name() == person then change 
the while statement to read:
while ((p.parent() != undefined)  (p.parent().name() == person))
{
depth++;
p = p.parent();
}

- Original Message -
From: Theodore Lehrted_l...@federal.dell.com
To: Flash Coders Listflashcoders@chattyfig.figleaf.com
Sent: Monday, March 22, 2010 12:27:50 PM GMT -05:00 US/Canada Eastern
Subject: [Flashcoders] xml: counting parents

I am still trying to find a way to see where a child is within the xml - on 
what level... is it possible to count a nodes parents?

So if I had:

person att=1
person att=2
person att=3/
person att=4/
/person
/person

1 would return that it has 0 parents, 2 would say it has 1 parent, 3  4 would 
say they have 2 parents

hope that makes sense

Ted
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] xml: counting parents

2010-03-22 Thread Steven Sacks

Why not go from the top down instead of the bottom up?


On 3/22/2010 10:33 AM, Lehr, Theodore wrote:

Perhaps I do have a bigger issue (actually, I have LOTS of issues ;-), but the 
reason I need to know the depth is my thought was to use that as a means of 
assisting in layout for example, say you have the follwing xml:

person name=Ted title=director of the world
  person name=Bob title=deputy director of the world
person name=Jim title=Manager - North America
   person name=Sampson title=Lead - Western States/
   person name=Sophia title=Lead - Eastern States/
/person
person name=Sally title=Manager - South America/
person name=Sarah title=Manager - Africa/
 /person
/person

And you used this to create an organizational flow chart... my thought was to 
use the depth to figure out where the names should go... I have thought about 
how to do this 12,002 ways so my head is getting muddled

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] xml: counting parents

2010-03-22 Thread Steven Sacks
I disagree with using explicit node names.  He's building an org chart of 
people, so the nodes should be person and the title should be an attribute.


people
person title=CEO name=Bill Gates
person title=President name=Steve Ballmer/
person title=Manager - North America name=Joe Schmoe
person title=Manager - Pacific Northwest name=Bob Jones/
/person
/person
/people


You create a Person VO that you pass the node for deserialization:

public class Person
{
public var title:String;
public var name:String;
public var subordinates:Vector.Person;

public function Person(value:XML)
{
deserialize(value);
}
private function deserialize(value:XML):void
{
title = val...@title;
name = val...@name;
subordinates = parseSubordinates(value.person);
}
private function parseSubordinates(value:XMLList):Vector.Person
{
var vector:Vector.Person = new Vector.Person();
var len:int = value.length();
for (var i:int = 0; i  len; ++i)
{
vector.push(new Person(value[i]));
}
return vector;
}
}

And you feed that to your view which traverses the stack:

public class PersonView extends Sprite
{
protected var _data:Person;

public function PersonView()
{
super();
}
public function set data(value:Person):void
{
_data = value;
draw();
}
public function get data():Person
{
return _data;
}
protected function draw():void
{
// draw based on the data
}
}


Pseudo-code but you get the idea.  The PersonView would create other PersonViews 
inside of itself to draw the subordinates, and each view would be responsible 
for doing its own layout in the draw function, taking into account the 
width/height of its children, etc.  Pretty clean overall.


The reason draw() is protected is because you might want to create concrete 
implementations of PersonView.  Perhaps some titles use a specific view and you 
don't want to clutter PersonView with too many if then else statements, so you 
just instantiate a specific ConcretePersonView based on the _data.title and the 
concrete views take care of drawing themselves.


That's how I would build it, at least.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] xml: counting parents

2010-03-22 Thread Steven Sacks

Vector is Flash 10 only. So I don't think it works in CS3.

You can substitute Array if you're targeting Flash Player 9.


On 3/22/2010 12:39 PM, Lehr, Theodore wrote:

nice... is vector do-able in cs3 - because I am egtting an error on that...


From: flashcoders-boun...@chattyfig.figleaf.com 
[flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Steven Sacks 
[flash...@stevensacks.net]
Sent: Monday, March 22, 2010 3:19 PM
To: Flash Coders List
Subject: Re: [Flashcoders] xml: counting parents

I disagree with using explicit node names.  He's building an org chart of
people, so the nodes should be person and the title should be an attribute.

people
  person title=CEO name=Bill Gates
 person title=President name=Steve Ballmer/
 person title=Manager - North America name=Joe Schmoe
 person title=Manager - Pacific Northwest name=Bob Jones/
 /person
  /person
/people


You create a Person VO that you pass the node for deserialization:

public class Person
{
  public var title:String;
  public var name:String;
  public var subordinates:Vector.Person;

  public function Person(value:XML)
  {
  deserialize(value);
  }
  private function deserialize(value:XML):void
  {
  title = val...@title;
 name = val...@name;
 subordinates = parseSubordinates(value.person);
  }
  private function parseSubordinates(value:XMLList):Vector.Person
  {
 var vector:Vector.Person  = new Vector.Person();
 var len:int = value.length();
 for (var i:int = 0; i  len; ++i)
 {
 vector.push(new Person(value[i]));
 }
 return vector;
  }
}

And you feed that to your view which traverses the stack:

public class PersonView extends Sprite
{
  protected var _data:Person;

  public function PersonView()
  {
  super();
  }
  public function set data(value:Person):void
  {
  _data = value;
  draw();
  }
  public function get data():Person
  {
  return _data;
  }
  protected function draw():void
  {
  // draw based on the data
  }
}


Pseudo-code but you get the idea.  The PersonView would create other PersonViews
inside of itself to draw the subordinates, and each view would be responsible
for doing its own layout in the draw function, taking into account the
width/height of its children, etc.  Pretty clean overall.

The reason draw() is protected is because you might want to create concrete
implementations of PersonView.  Perhaps some titles use a specific view and you
don't want to clutter PersonView with too many if then else statements, so you
just instantiate a specific ConcretePersonView based on the _data.title and the
concrete views take care of drawing themselves.

That's how I would build it, at least.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] xml: counting parents

2010-03-22 Thread Steven Sacks

 So if there's an organizational shuffle of roles, I'd have to rewrite
 my XML schema? Because that sort of thing happens all the time, and a
 rigid hierarchy simply won't be able to match that without frequent
 changes.

Precisely.

My solution uses design patterns, encapsulation and DRY. It makes for very lean 
code and is completely flexible and scalable.


Also, organizations of people are made up of people, not units. If Steve Ballmer 
leaves and somebody else is President, then the name changes, but not the 
role/title.


I don't see how writing tons of custom Actionscript to parse custom nodes in XML 
is a workable solution.  It's not scalable, it's not flexible.  If you add a new 
role at your company, you have to write new code to support the parsing of that 
node name and a new class to handle drawing it, as well.  The Strategy pattern 
(which is present in my example) was made to solve this issue elegantly.


Let's take it out of XML altogether.  Would you write a bunch of classes like 
this?

public class Director
{
public var title:String;
public var name:String;
public var somethingDirectorsAndAboveHave:String;
public var somethingManagersAndAboveHave:String;
}
public class Manager
{
public var title:String;
public var name:String;
public var somethingManagersAndAboveHave:String;
}
public class Person
{
public var title:String;
public var name:String;
}

Or this...

public class Person
{
public var title:String;
public var name:String;
}
public class Manager extends Person
{
public var somethingManagersAndAboveHave:String;
}
public class Director extends Manager
{
public var somethingDirectorsAndAboveHave:String;
}

If that's even necessary, which I'm not sure it is in the data.  It seems like 
the role of the person only defines how they're rendered in the view and 
potentially what events they fire off to the controller (if you're using 
RobotLegs, you can pair with a Mediator).  Leave rendering instructions out of 
the data and put it in the view where it belongs.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Calculator

2010-03-17 Thread Steven Sacks
Holy crap. Was there seriously just a thread about how to solve a percent value 
of a number?


I've heard that education in America was bad, but this is like 7th grade 
pre-Algebra.


x * y = z

Therefore:

x = z / y

3000 * y = 450

y = 450 / 3000

y = 0.15 or 15%


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Calculator

2010-03-17 Thread Steven Sacks
I sincerely apologize for my sarcastic remark regarding the current state of the 
public educational system in America, and for any emotional trauma it may have 
caused to those whose proficiency at arithmetic is equivalent to or less than 
that of an elementary school student. In the future, I will moderate my tone 
accordingly. Apparently, my social maturity is equal to their mathematics maturity.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] how to reduce CPU usage

2010-03-04 Thread Steven Sacks

On 3/4/2010 2:04 AM, Fahim Akhter wrote:
 There is a difference between invisible and not being rendered my friend,
 even if you can't see something doesn't mean its not there ;)

Your intentions are correct, even if your terminology is not.

Don't confuse the word rendered with the word processed.  Rendering is the 
act of drawing pixels on the stage.  Invisible DisplayObjects are not rendered 
(though alpha 0 ones are) during the render phase, but they are processed.


If you have 1000 invisible sprites on the stage that aren't running code, Flash 
still has to keep them in memory and process them in the display stack, it just 
doesn't have to render them.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] how to reduce CPU usage

2010-03-04 Thread Steven Sacks
It only makes sense that Flash decompresses jpgs when it loads them. The visible 
property has nothing to do with that.


When you say visible = true, that would be the absolute worst time to decompress 
the image.  Imagine decompressing 1000 jpgs at once in a for loop.  Imagine when 
setting visible = true to check whether or not the Sprite contains an image 
somewhere in its child stack that has not been decompressed.  There's no way 
those are tied together.


Setting visible does one thing.  It prevents the pixels from drawing to the 
screen during the render cycle.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Question in regards to NetStream

2010-02-25 Thread Steven Sacks

https://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/events/NetStatusEvent.html

NetStream.Play.Start
NetStream.Play.Stophttp://livedocs.adobe.com/fms/2/docs/0592.html
NetStream.Pause.Notify
NetStream.Unpause.Notify

http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/net/NetStream.html#seek()

In normal seek mode, the server starts streaming from the nearest keyframe. For 
example, if a video has keyframes at 0 and 10 seconds, a seek to 4 seconds 
causes playback to start at 4 seconds using the keyframe at 0 seconds.


In laymen's terms, seek doesn't jump to an exact time, it jumps to the nearest 
keyframe time prior to the time you told it to seek to.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Event.COMPLETE Question

2010-02-23 Thread Steven Sacks
When loading bitmaps, your loader will NEVER be eligible for cleanup by the 
Garbage Collector unless you do ALL of the following in this order:


var bitmap:Bitmap = new Bitmap(Bitmap(loader.content).bitmapData.clone(), 
auto, true);

Bitmap(loader.content).bitmapData.dispose();
loader.unloadAndStop(true);
try {
loader.close();
} catch (e:Error) {}
// remove all event listeners from loader

This means that if you want the Bitmap from the loader, you should extract it 
using bitmapData.clone(), or your Bitmap will be gone when the loader goes away 
or the loader will not go away because there's still a reference to its BitmapData.


If you're pulling a Bitmap out of an anonymous loader by saying 
addChild(loader.content) you will never have another opportunity to get rid of 
the loader. That may be ok for your purposes, but this is a very good reason to 
addChild(loader) so you maintain a reference to the loader itself.


Unless you have a specific reason for not using addChild(loader) you should use 
the code block above.


It's important to note that you won't see your memory go down unless you force 
the GC to run after you null out all references to the loader. In AIR you can 
say System.gc().  In Flash, you have to use the unsupported LocalConnection hack.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Event.COMPLETE Question

2010-02-23 Thread Steven Sacks
You should only create the bevel filter ONCE.  Filters are _expensive_ and 
can/should be shared.  Make your bevel an instance variable


private var myBevel:BevelFilter = new BevelFilter();

public function foo()
{
myClip.filters = [myBevel];
}
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Event.COMPLETE Question

2010-02-23 Thread Steven Sacks
If you call close() on a Loader and it fails for any reason, it will throw a 
runtime error that you can do nothing about. To avoid this, you should wrap it 
in a try catch.


The code block comes straight from Flex and it works. If you test it a bunch and 
close() never fires an error, then you can remove it.  It's really not that much 
overhead to keep it in unless you're doing hundreds of iterations per second.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] How to remove bytes from the beginning of a ByteArray?

2010-02-23 Thread Steven Sacks
FWIW, flush() does nothing in AS3.  Bytes written to the Socket are sent 
immediately.  Anyone who tells you otherwise has never tested it and you can 
safely ignore them! :)


Adobe has acknowledged this as a documentation bug (whatever that means).  For 
more info:


http://www.stevensacks.net/2009/12/08/flash-socket-class-does-not-wait-for-flush/
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] How to remove bytes from the beginning of a ByteArray?

2010-02-23 Thread Steven Sacks

private var buffer:ByteArray;

private function onData(event:ProgressEvent):void
{
socket.readBytes(buffer, buffer.length);
var bytes:ByteArray = new ByteArray();
buffer.readBytes(bytes, 0, messageLength);
buffer.position = bytes.length;
trim();
// deserialize the message in bytes now
}

private function trim():void
{
var bytes:ByteArray = new ByteArray();
bytes.writeBytes(buffer, buffer.position);
buffer = bytes;
buffer.position = 0;
}
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Event.COMPLETE Question

2010-02-22 Thread Steven Sacks

Update this line:

var displayObject:DisplayObject = loaderInfo.loader.content;
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Event.COMPLETE Question

2010-02-22 Thread Steven Sacks

 e.target isn't your loader info, its most likely the Loader itself.

loader.contentLoaderInfo.addEventListener()

The LoaderInfo is the target of the event - that's what you added the event 
listener to.


trace(event.target);
[LoaderInfo]

Proof that the LoaderInfo is the target is easily derived by tracing the 
event.target.




Why don't you just do this?

loader.filters = [myBevel];
addChild(loader);






On 2/22/2010 5:33 AM, Gregory Boland wrote:



the target is where the event bubbles from, and the currentTarget is what
was applied the listener

so what you are looking for is e.target.content and that is whatever you
loaded in

On Mon, Feb 22, 2010 at 4:57 AM, Susan Daysuzieprogram...@gmail.comwrote:


On Mon, Feb 22, 2010 at 8:31 AM, Steven Sacksflash...@stevensacks.net

wrote:



Update this line:

var displayObject:DisplayObject = loaderInfo.loader.content;



Updated:

function loaded(e:Event):void
{
var loaderInfo:LoaderInfo = e.target as LoaderInfo;
var displayObject:DisplayObject = loaderInfo.loader.content;
displayObject.width = 257;
displayObject.height = 257;
displayObject.x = myX + 31;
displayObject.y = myY + 31;
var myBevel:BevelFilter = new BevelFilter();
myBevel.type = BitmapFilterType.FULL;
myBevel.distance = 10;
myBevel.highlightColor = 0xFF;
myBevel.shadowColor = 0x00;
myBevel.blurX = 20;
myBevel.blurY = 20;
displayObject.filters = [myBevel];
addChild(displayObject);
e.target.removeEventListener(Event.COMPLETE, loaded);
}

Did the same thing (no correction). Please advise.
TIA,
Susan
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Re: is it ever ideal to NOT use weak references?

2010-02-07 Thread Steven Sacks

function onComplete(event:Event):void
{
event.target.removeEventListener(Event.COMPLETE, onComplete);
}

Easy peasy.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Re: is it ever ideal to NOT use weak references?

2010-02-06 Thread Steven Sacks

function loadImage():void
{
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete, false, 0, true);
loader.load(new URLRequest(url));
}
function onComplete(event:Event):void
{
trace(event);
}

Guess what never fires?  If you guessed onComplete, you win the prize.

Now imagine that it defaulted to true and you wrote the same thing leaving off 
the false, 0, true.  You would have no idea why it didn't work.


It didn't work because the loader was cleaned up by GC as soon as the 
loadImage() function reached the end.


Generally, I only use weak listeners with Timers and enter frame listeners. 
Everything else I use strong listeners and write a remove listener for them when 
they're expected to unload or be garbage collected at some point.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] XMLList question

2010-02-03 Thread Steven Sacks

I always use CDATA tags for text in nodes where special characters might exist.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] SEO + Flash = any great strategies?

2010-02-03 Thread Steven Sacks
I like the solution that Gaia uses. I'm biased because I wrote it and it works 
really well.  It is an idea given to me by a guy who's very good at SEO, I 
merely executed it.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] I Must Be Asking This Question Wrong...

2010-02-02 Thread Steven Sacks

beno gets so much free work out of everyone on this list it's insane.

he's not learning anything because everyone else is doing all his work for him.

and that's exactly how he likes it.

http://slash7.com/2006/12/22/vampires/

suckers. ;)
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: OT Re: [Flashcoders] I Must Be Asking This Question Wrong...

2010-02-02 Thread Steven Sacks

I think you made a very good point right here:

 Surely we all get a lot of free work out of you too - by using Gaia.

Yes, what I provided for free benefits more than just one person, it benefits 
the community.  The only person benefiting from free work here is beno.  There's 
nothing to be learned by a third party from the custom files that are being sent 
back and forth to beno.


Also, here's another key thing you said:

 I started helping beno and felt it was only fair to finish my help at a
 suitable point rather than leave him hanging.

This was exactly the guilt trip that beno gave to this list when Kerry didn't do 
beno's work for him.  There was quite a row about this when it happened many 
months ago.  Kerry felt awful and beno let the whole list know just how much 
Kerry let him down and how wrong he was for doing it.


beno isn't meeting anyone halfway.  You should be able to get him started down 
the right path, and if he had a modicum of knowledge or experience, he would be 
able to do it himself, but that's not what's going on.  He's getting you to do 
it soup to nuts for free.  That's not support, that's doing his work for free. 
You're being conned.


beno is always asking for things that are way out of his league and expecting 
people to spend tons of time explaining things to him which eventually ends up 
in people just doing it for him since it quickly becomes obvious he's not going 
to be able to do it himself and it would just take less time to do it than to 
explain it.


You have to walk before you can run, and beno refuses to pay his dues and learn 
anything on his own.  He's a help vampire, nothing more.


All of this happens under the thinly veiled guise of support, and if you don't 
support him, he guilt trips you publicly for letting him down and tells you a 
sob story about how in his country computers have hamsters on wheels for power 
supplies and his hamster is sick and he promised his client he would have this 
done in only two weeks when he didn't know how to do it in the first place.


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] XMLList question

2010-02-02 Thread Steven Sacks
As a rule, I only put string values that never contain special characters in 
attributes, otherwise you end up with XML validation errors (like putting 
ampersands in attributes).


Also, I generally put parsing code inside the constructor of the VO class (well, 
I call deserialize() because code inside constructors are interpreted).


public class ValueObject
{
public var foo:String;
public var bar:String;

public function ValueObject(node:XML)
{
deserialize(node);
}
private function deserialize(node:XML):void
{
foo = no...@foo;
bar = node.bar;
}
}

There are exceptions to this rule, but they're rare.

It makes it really easy to share VOs between multiple service classes when the 
parsing logic is contained with the VO instead of each service class (assuming 
that the xml is homogenized).

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Flash and MySQL

2010-02-01 Thread Steven Sacks
Quite frankly, it boggles my mind anyone ever answers beno's posts with any 
level of seriousness. He's the love child of a troll and a help vampire.


How hard would [building a MySQL equivalent db in AS3] be? Tell me...

I think beno is a 4channer and is secretly laughing at how many people provide 
serious responses to such inanity.


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] Adobe AIR has bad redraw bugs on Windows

2010-01-27 Thread Steven Sacks

http://www.stevensacks.net/2010/01/27/adobe-air-has-bad-redraw-bugs-on-windows/

Recommended reading if you ever plan on working with non-tranparent windows in 
AIR and expect to have your window be able to minimize and restore.  There are 
some really nasty surprises waiting for you.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Using MVC for a site framework

2010-01-19 Thread Steven Sacks

Want to do MVC right?  Use this:

http://www.robotlegs.org/
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Declaring Function Variables

2010-01-08 Thread Steven Sacks
The rule I follow (and one that I think is best for code readability) is that 
you declare a variable the first time you use it.  If you're using it in 
multiple loops, you declare it above the first loop that uses it.


This is a trivial example:

private function foo(data:Array):void
{
var myVar:Boolean = true;
var i:int;
var len:int = data.length;
for (i = 0; i  len; ++i)
{
if (data[i] == )
{
myVar = false;
break;
}
}
if (myVar)
{
for (i = 0; i  len; ++i)
{
trace(data[i].length);
}
}
}

If you're copying and pasting those loops around, you really should consider 
learning how to write DRY code and use subroutines.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] Performance from casting array/vector?

2009-12-26 Thread Steven Sacks

var instance1:MyClass = new MyClass();
var instance2:MyClass = new MyClass();
var instance3:MyClass = new MyClass();

var myArray:Array = [instance1, instance2, instance3];

// QUESTION A: CASTING WITH ARRAYS

var i:int = myArray.length;
while (i--)
{
// [A1] - Does Flash have to do a look up here?
var myClass:MyClass = myArray[i];

// [A2] - Does casting it like this boost performance
var myClass:MyClass = MyClass(myArray[i]);

// [A3] - I know using as is slower than direct casting
var myClass:MyClass = myArray[i] as MyClass;
}

// QUESTION B: CASTING WITH VECTORS

var myVector:Vector.MyClass = Vector.MyClass(myArray);

var i:int = myVector.length;

while (i--)
{
// [V1] - Will this avoid the lookup?
var myClass:MyClass = myVector[i];

// [V2] - Or do I need to cast here even though it's a Vector?
var myClass:MyClass = MyClass(myVector[i]);

// [V3] - And if so, can I do this without a lookup?
myVector[i].someMethod();

// [V4] - Or do I need to do this?
MyClass(myVector[i]).someMethod();
}


Thanks in advance for anyone who can shed some light here.  I believe A2/V2 is 
fastest but I'm not certain, and I also don't know if it's required for Vector.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] What IDE on Mac ?

2009-12-14 Thread Steven Sacks

FDT is pretty much your best choice.


On 12/14/2009 3:53 AM, Greg Ligierko wrote:

I grown up with PC, Windows and in work I am completely happy with
FlashDevelop + CS3. For some time I am also a happy MacBook user, but
it is hard for me to swap with AS2/AS3 coding to Mac. So far I could
not establish a comfortable work environment on Mac.

I read about two options:
- adapting Xcode to ActionSript (seems complex),
- Eclypse with ActionScript plugin.

I had no success in adapting Xcode and I did not even tried installing
Eclypse. I would like to know your opinion on which option is more
efficient and more comparable to Win based FlashDevelop + CS3 IDE. For
work, I need badly code snippets and syntax check. Runtime debugging
is not crucial for me.

Tia,
Greg

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] What IDE on Mac ?

2009-12-14 Thread Steven Sacks
If you want to see an example of FDT in action, check out the Robot Legs Hello 
World video tutorial.  John doesn't touch the mouse once throughout the 
tutorial.  It's pretty insane how much you can do in FDT without the mouse. I'm 
a die-hard FlashDevelop user and even I'm impressed.


http://pv3d.org/2009/11/18/robotlegs-hello-world-video-tutorial/
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] Flash Socket Class Does Not Wait For Flush

2009-12-08 Thread Steven Sacks

http://www.stevensacks.net/2009/12/08/flash-socket-class-does-not-wait-for-flush/

The Socket class documentation is incorrect. Calling flush() not only is not 
necessary, it also has no effect, since all data written to a socket is sent 
automatically.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Back On Course, Still Problems

2009-12-08 Thread Steven Sacks

Beno,

In the spirit of your recommendations and opinions regarding criticism, allow me 
to be blunt with you in the manner you find most effective.


Considering everyone here has expressed a negative reaction to your 
communication style, it's pretty fucking clear where the problem is.


Whether you like it or not, whether you agree with it or not, based entirely on 
people's reactions, you're being an asshole.


You can either accept the reality of people's reactions and adjust your behavior 
accordingly, or you can refuse to accept it and attempt, with more of the same 
behavior, to convince them to change their perception.


Which do you think is more likely to be within your power to control? Your 
behavior or everyone else's?


Here are some famous quotes for you:

God, grant me the serenity to accept the things I cannot change, the courage to 
change the things I can, and the wisdom to know the difference. - Reinhold Niebuhr


Insanity is defined as doing the same thing over and over and expecting 
different results. - Albert Einstein


Do what you will. Keep behaving in a way that other people find distasteful and 
discover how quickly nobody will ever help you again, or change your behavior 
for a different result.  It's really up to you.


This is the last I'll speak on the matter, and I have no interest in discussing 
it with you further.  The list owner, who has also expressed a negative reaction 
to your approach, has asked for this to end, and I personally think that if you 
don't change your tact, he should ban you from the list.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Flash Socket Class Does Not Wait For Flush

2009-12-08 Thread Steven Sacks

It's all player 10, but varying versions of it.


Glen Pike wrote:

Steven Sacks wrote:
http://www.stevensacks.net/2009/12/08/flash-socket-class-does-not-wait-for-flush/ 



The Socket class documentation is incorrect. Calling flush() not only 
is not necessary, it also has no effect, since all data written to a 
socket is sent automatically.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders



Hi,

   I have scanned your article through, and one interesting point is 
about the 536 byte packet size.  Can you tell me which version of Flash 
this goes back to, (we are compiling with CS3 atm)?


   Does the limit also apply to XMLSocket?

   Cheers.

   Glen

  ___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Flash Socket Class Does Not Wait For Flush

2009-12-08 Thread Steven Sacks
The player team has confirmed the documentation is wrong. Data gets sent the 
instant you write it to the socket.  flush() has no purpose.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Flash Socket Class Does Not Wait For Flush

2009-12-08 Thread Steven Sacks

Henrik Andersson wrote:
 Then why was it added in the first place?

Great question. Ask Adobe.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Flash Socket Class Does Not Wait For Flush

2009-12-08 Thread Steven Sacks
Word is that the writer tasked with updating the documentation is asking the 
same thing.



Henrik Andersson wrote:

Steven Sacks wrote:

Henrik Andersson wrote:
  Then why was it added in the first place?

Great question. Ask Adobe.


You are the one who said that it was confirmed pointless. You know 
better how to ask the question.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Back On Course, Still Problems

2009-12-07 Thread Steven Sacks

 There is nothing arrogant about pointing out people's errors, especially
 when you are truly trying to help them become better people. Indeed, it is
 just the opposite. It's good work :)

 I have not bitten any hand, nor would I. Are you offended when people point
 out to you your faults? If so, how can you ever mature? The greatest of the
 great are known by their eagerness to have their faults *correctly* pointed
 out to them. It is the foolish that hate that, you know.

http://en.wikipedia.org/wiki/How_to_Win_Friends_and_Influence_People

Dale Carnegie wrote the manifesto on this subject in 1934. Human nature being 
what it is, what he wrote then is still true today.  I recommend that you 
include Dale Carnegie's book when you purchase Colin Moock's Essential 
Actionscript 3 book.


Here are a few chapter titles.  Take a look and see if some of the titles apply 
to your situation and approach.



Begin in a friendly way.
Call attention to other people's mistakes indirectly.
Show respect for the other person's opinions. Never tell someone they are wrong.
Ask questions instead of directly giving orders.
Don't criticize.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Mailing List Idea: Teddy Bear

2009-11-23 Thread Steven Sacks

 It could even deliver snide responses.

Hey!  That's my job!  I lost it to a freakin bear!

http://www.youtube.com/watch?v=KLni3wbndls

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Still Infinitely Looping

2009-11-21 Thread Steven Sacks

Latcho you've got it all wrong.

The true power of debugging is posting your code on a mailing list and letting 
other people debug your code for you.  It's much easier to ask dozens of people 
to look at your code than for you to comment out lines of code and write traces 
on your own.


Even better, post that you're getting an error and you don't know why. Don't 
post the error or the code, just vaguely describe what the problem is and end 
your post with please help!.  A few people will respond to you asking you 
leading questions to help them help you.  Then, you will feel like people care 
about you and your problems, and you won't feel so alone in the world.


During this holiday season, people just need to feel like somebody cares.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] Mailing List Idea: Teddy Bear

2009-11-21 Thread Steven Sacks
Legend has it that at one time the MIT student lab had a teddy bear to whom you 
were required to explain a programming issue you were having before you could 
ask the lab administrator for help.


Many people, myself included, ask a mailing list about an issue we are having, 
and only moments after sending you figure it out before anyone responds.


I'm considering starting a mailing list where there is no expectation of 
response, but by sending the email, you might figure out your issue, and if you 
don't, then you can copy and paste it to your regular mailing list.


Whaddya think? ;)
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] one class listening for anotherclassesdispatchedevent

2009-11-18 Thread Steven Sacks

Exactly.  Encapsulation FTW.

Merrill, Jason wrote:

A bunch of smart stuff about not breaking encapsulation

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Placing sprites on the circumference of a circle

2009-11-09 Thread Steven Sacks

I highly recommend pastebin for sharing code online:

http://pastebin.com/

You can set the syntax highlighting to Actionscript. Makes it much easier to 
read.  :)

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Placing sprites on the circumference of a circle

2009-11-09 Thread Steven Sacks
wow that came across as one big line with no breaks. i guess the good luck is in 
reference to being able to read it.


David Hunter wrote:

hi this is the calculation i used for something very similar. dynamic text 
layed out round a circle (picture attached), although it doesn't take into 
account re-registering it so it is top left registration:
function makeNames() {  for (var i:int=0; ifilmNames.length; i++) { 
filmHolders[i] = new MovieClip();   filmHolders[i].val = i; 
namesHolder.addChild(filmHolders[i]);   //  var degs:Number = 
i * 20;   var rads:Number = (degs * Math.PI) / 180;   var 
r:Number = 110; var rx:Number = (r * Math.cos(rads));   var 
ry:Number = (r * Math.sin(rads));   // ...  filmHolders[i].x = rx; 
 filmHolders[i].y = ry;  filmHolders[i].rotation = i * 20; 
  //  var nameText:TextField = new TextField();   
nameText.text = filmNames[i];
filmHolders[i].addChild(nameText);  //  }}
surely if you put each sprite you want around the circle inside a container 
sprite for each sprite then you can sort the registration out:
//container for wheel of spritesvar containAll:Sprite = new 
Sprite();addChild(containAll);
containAll.x = stage.stageWidth/2;containAll.y = stage.stageHeight/2;
function makeSprites(num:Number) {  //create your sprite and draw contents  
var mySprite:Sprite = new Sprite(); mySprite.graphics.beginFill(0xff0033);  
mySprite.graphics.drawRect(0,0,30,20);  mySprite.graphics.endFill();//create a 
container for the sprite var myContainer:Sprite = new Sprite();  
containAll.addChild(myContainer);   myContainer.addChild(mySprite); 
//re-register inside container  mySprite.x = -mySprite.width/2; mySprite.y = 
-mySprite.height/2;//do calculations   var degs:Number = num * 20; 
var rads:Number = (degs * Math.PI) / 180;   var r:Number = 110; var 
rx:Number = (r * Math.cos(rads));   var ry:Number = (r * Math.sin(rads));   
//apply calculations to container   myContainer.x = rx; myContainer.y = 
ry; myContainer.rotation = num * 20;}//run function a few timesfor(var i:int = 
0; i16; i++) {   makeSprites(i);}
(i've also not eaten so its probably wrong and i've completely misunderstood 
what you're after!!!)
good luck,
david

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Weak eventListener Problem

2009-11-08 Thread Steven Sacks
No, it's not true.  You're misunderstanding how weak listeners work, how 
anonymous functions work (you shouldn't use those anyway), and you're also 
misunderstanding how the garbage collector works.


Whenever you addEventListener, immediately write a function that removes the 
event listener (such as a destroy method).  If you get into this habit, you will 
never forget to do it and you'll never have this issue ever again.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Website in an application

2009-10-28 Thread Steven Sacks
By default, all clicked links will be contained within the HTMLLoader instance. 
 You have to explicitly allow links to be opened in the system browser.


As to the rest, you need to talk to a DOM/JS expert. I'm certain that what you 
want can be accomplished because you can inject your own javascript into any 
HTML page that the HTMLLoader loads, and thus have complete control over the 
content of the page.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] localconnection speed in relation to movieframerate

2009-10-24 Thread Steven Sacks
Framerate directly affects Flash's code execution response time.  Is there a 
reason why you would find this odd or surprising?




Hans Wichman wrote:

Hi List,

I've set up a test in AS2 with a 2 channel localconnection, swf A sends a
msg to swf B, and B sends back an acknowledge signal.
If I set the movies framerate to 1 fps, this takes about 50ms for a simple
msg to get an ack signal, if I set the framerate to 30 it takes about 5ms.
Erm... my naive conclusion would be that the localconnection's execution
speed is connected to the framerate of the running movies, can anyone
confirm that?

I'm writing code that runs within a legacy shell that uses setVariable on
the swf which is no longer supported so now I'm trying to work around that
issue using an as2 swf within an as3 swf which passes on the signals using
localconnection :-S

regards,
JC

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Movieclip in a remote shared object

2009-10-18 Thread Steven Sacks

What does that mean?


ktt wrote:

Hello,

Is it possible to store Movieclip in a remote shared object?

Ktt


  
___

Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] RE: Pricing a Freelance Project

2009-10-12 Thread Steven Sacks
I do not do fixed bid projects. I always do TM NET 15/30, and don't have an 
issue selling my work that way.


If you want me to do a fixed bid project, I'm bidding on exactly what the scope 
is right now.  If there is any change in scope, production will stop as I assess 
the impact such a change will have on the schedule (my assessment is billable), 
and take time to modify the contract to reflect the change in scope and cost, 
and you will need to review and approve these changes in writing, all of which 
take time spent not developing and puts your deadline in jeopardy.  However, 
with TM, I get paid for the work I do, and you have full flexibility in making 
as many changes as you like, with the knowledge that development never stops, 
though the deadline may be affected by your changes.


Something to that effect.


Kerry Thompson wrote:

Steven Sacks wrote:


You need to charge for time spent babysitting the client.  That's billable time.


Absolutely true, with one kicker: a fixed bid. A lot of clients want to shift 
the risk to you, the freelancer, so they ask for a fixed-price bid rather than 
an hourly rate.

My advice is to be very, very careful with these. My experience shows that 
clients rarely, if ever, know just what they need. They will give you an idea, 
but there will inevitably be extras that simply must be done. Initial estimates 
of the amount of work needed are almost always off by a factor of at least two, 
often up to a factor of 10. If you underbid one of these contracts, you could 
spend a year to earn $20,000.

Be up front with the client in this case. You are bidding on the project as it 
is currently designed. Changes and additions will be billed extra. You must do 
this to survive, or your client will bury you with feature creep.

Be positive about it, of course. When they request an additional feature, say Sure, 
we can do that. It will cost you $4,000 and add two weeks to the schedule. I'll get 
started on it just as soon as I get an amendment to the contract.

Also, on a fixed-bid contract, get at least 25% up front. If you bill only on 
milestones, can you live off your savings until they approve the prototype, or 
the alpha? I can't--I'm lucky that my wife has a well-paying job.

Cordially,

Kerry Thompson


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] RE: Pricing a Freelance Project

2009-10-11 Thread Steven Sacks
You need to charge for time spent babysitting the client.  That's billable time. 
Any time you spend that could be spent working for somebody else is billable. 
If you're on the phone with them or emailing back and forth, it's billable.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] audio pause/resume problem

2009-09-24 Thread Steven Sacks

http://www.stevensacks.net/2008/08/07/bug-with-sound-channel-position-and-mp3s-less-than-128kbps


On Sep 23, 2009, at 6:19 AM, Rodrigo Augusto Guerra wrote:


c'mom guys...no one knows?  i'm in a dead end here
i can't guarantee that everybody will have FP 10 to avoid this
:)

- Original Message - From: Rodrigo Augusto Guerra rodr...@alumni.org.br 


To: Flash Coders List flashcoders@chattyfig.figleaf.com
Sent: Tuesday, September 22, 2009 6:56 PM
Subject: [Flashcoders] audio pause/resume problem


hi coders!

I have a system that it's a dialog between 2 people (one the  
computer the other is the user) the computer start talking ( it's 1  
mp3 file loaded with all the computer speech) when it's the user  
turn I have an action to pause the mp3 (well it stores the current  
audio position and stops the audio) and then when he finish  
recording his speech it start playing from where it was. (passing  
the audio position to the audio object)




The problem is that when it resumes the mp3, it doesn't start from  
where it stopped, it goes forward. no logic at all
well it's working on FP version (WIN 10,0,2,54) but not in FP WIN  
9.0.124.0.


I really would like some light on this as I don't know where to look  
anymore and I don't want to believe that it's a FP9 problem.




I isolated and reproduced the error here:
(i putted the text so you can follow the jumps.)
http://www.alumni.org.br/tmp/rodrigo/som.html

any help will be appreciated.
thanks coders!



this is the code:

audioObj = new Sound();
audioObj.loadSound(http://www.alumni.org.br/elearning/cursos/LetsTravel/Audio/audio16.mp3 
, false);



//qdo carregar audio comeca e atulzia o status
audioObj.onLoad = function(success:Boolean) {

aaa.text = loaded
if (success) {
audioObj.start();

//nao carregou audio
} else {
aaa.text = not loaded
}

}


btstop.onRelease = function(){
_root.flag1=true
_global.soundPosition2 = Math.round(audioObj.position/1000);
audioObj.stop();
_root.aa.text = _global.soundPosition2
}

btplay.onRelease = function(){
if(_root.flag1){
audioObj.start(_global.soundPosition2);
_root.flag1=false;
_root.bb.text =  Math.round(audioObj.position/1000);
}else{
audioObj.start();
}

}
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] how do i say string + anything?

2009-09-23 Thread Steven Sacks

var compareBranch:String = index/nav/home/whatever/else;

if (compareBranch.indexOf(event.validBranch)  -1)


On Sep 23, 2009, at 5:56 AM, Kenneth Kawamoto wrote:


Or you could just use indexOf().

Kenneth Kawamoto
http://www.materiaprima.co.uk/

strk wrote:

On Wed, Sep 23, 2009 at 12:40:55PM +0100, thomas horner wrote:
what i need  to know if how to say  is ;   if 
(event.validBranch ==

index/nav/his + anything else that might follow){

Compare a substring of event.validBranch, from start to length
of index/nav/his.
--strk;  Free GIS  Flash consultant/developer  ()  ASCII  
Ribbon Campaign

http://foo.keybit.net/~strk/services.html  /\  Keep it simple!

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] AS3 Socket is broken and I need help from Adobe or any Socket Expert

2009-09-17 Thread Steven Sacks

I'm having major issues with the Socket class in AIR right now.  All the
searches I have made result in people who have asked Why is this happening?
and NOBODY has answered any of their questions.

Socket progress events stop firing if too much data is coming across the 
socket, and apparently, what counts as too much data is very very small.


I'm trying to send 14,522 bytes across the socket to Flash and Flash simply 
stops accepting data after 2 packets and occasionally reports 2-3 more progress 
events of the same size.  Like this:


986 / 14522
4380 / 14522
4380 / 14522
4380 / 14522
4380 / 14522

I'm stripping data off the Socket as it comes in and putting it into a ByteArray 
buffer, so the data isn't just sitting on the Socket.


protected function onData(event:ProgressEvent):void
{
socket.readBytes(bufferIn, 0, socket.bytesAvailable);
trace(bufferIn.bytesAvailable +  /  + header.length);
}

Wireshark clearly shows all the data is arriving on the socket, but Flash stops 
reporting all progress after a few packets.


If I drop the bytes per response down to 892, it works fine.  The next step up 
is 1037 and that breaks.  So, it's looking like 1024 is the maximum size you can 
send to the Flash Socket before it breaks.


I'm at my wits end with this.  There's nothing but people complaining about this 
online and absolutely zero answers or solutions.


Oliver?  Anyone from Adobe?  Can somebody please shed some light on this issue 
that has basically halted our development?


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] AS3 Socket is broken and I need help from Adobe or any Socket Expert

2009-09-17 Thread Steven Sacks

Wow am I stupid or what?

socket.readBytes(bufferIn, 0, socket.bytesAvailable);

should be

socket.readBytes(bufferIn, bufferIn.length);

This code has been working for months up until now because I never got any large 
enough packets for them to be broken up to expose this stupid bug of mine.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] closures

2009-09-15 Thread Steven Sacks

AS3 is based entirely on closures. Not sure what you mean by it being an option.

Anthony Pace wrote:
I was wondering if anyone here uses closures in AS3? I like them a ton; 
yet, I am wondering if they are ever used in a real world development 
projects in AS3?


Can you see an excuse for using them?  I know it does make somethings 
easier to port to and from JS if coded right.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] RegExp vs. CDATA in E4X

2009-09-15 Thread Steven Sacks

You, sir, are a victim of premature optimization.

Write it the easy way. If it proves to be a bottleneck later, optimize it then.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] disable mouse on transparent part of alpha video

2009-09-10 Thread Steven Sacks

Cover the video with an alpha 0 shape.  Problem solved.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Problem understanding Class heirarchy issue

2009-09-02 Thread Steven Sacks

You're right. I'm wrong. Sajid is doing something else incorrectly.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] making a right to left horizontal content scroller

2009-09-02 Thread Steven Sacks

Invert your equation.

If your scrollbar has a percentage from 0-1 where 0 is left and 1 is right, then 
do this:


content.x = content.width * (1 - scrollbar.perc);

This is just for example. Obviously you would need to account for content not 
starting at 0.  But you get the idea.  It's pretty simple to invert.




thomas horner wrote:

ok this is more of a maths issue, which i'm bloody useless at! i have a
horizontal left to right scroller and basically want it to do the opposite
and scroll from right to left,


 


i have positioned my content holder at stage.stageWidth and am position my
content in the loop by subtracting. 

 


but am a bit stuck;

 

 


public var contentAreaX:int = 0;

public var scrollbarX:int=0;

public var scrollbarY:int=0;

public var xOffset:Number;

public var xMin:Number=0;

public var xMax:Number=0;

public var sp:Number;

 

 

 


xMax = stage.stageWidth - scroller.scrollbar.thumb.width;


stage.addEventListener(Event.RESIZE, resizeHandler);

stage.dispatchEvent(new Event(Event.RESIZE))


scroller.scrollbar.x = scrollbarX;

scroller.scrollbar.y = scrollbarY;


 

 


//what happens when you click the scrollbar thumb

function thumbDown(e:MouseEvent):void {

 
stage.addEventListener(MouseEvent.MOUSE_MOVE, thumbMove);


xOffset = mouseX -
scroller2.scrollbar.thumb.x;

}




//what happens when you release the
scrollbar thumb

function thumbUp(e:MouseEvent):void {

 
stage.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMove);


}




//what happens when you move the scrollbar
thumb

function thumbMove(e:MouseEvent):void {

scroller2.scrollbar.thumb.x = mouseX -
xOffset;

xMax = stage.stageWidth -
scroller2.scrollbar.thumb.width;

if (scroller2.scrollbar.thumb.x = xMin) {

scroller2.scrollbar.thumb .x = xMin;

}

if (scroller2.scrollbar.thumb.x = xMax) {

scroller2.scrollbar.thumb.x = xMax;

}

var sp:Number = scroller2.scrollbar.thumb.x
/ xMax;

TweenMax.to(scroller2.holder, 0.6, { x:(sp *
(stage.stageWidth - (scroller2.holder.width + (contentAreaX * 2,
ease:Quad.easeOut} );

e.updateAfterEvent();

}




//what happens when you click somewhere
along the scrollbar track 


function moveThumb(e:MouseEvent):void {

sp = mouseX / xMax;

if (mouseX = (scroller2.scrollbar.thumb.x +
scroller2.scrollbar.thumb.width) ) {

TweenMax.to(scroller2.scrollbar.thumb, 1.0,
{ x:(mouseX - scroller2.scrollbar.thumb.width), ease:Quad.easeOut } );

sp = (mouseX -
scroller2.scrollbar.thumb.width) / xMax;

} else {

TweenMax.to(scroller2.scrollbar.thumb, 1.0,
{ x:mouseX, ease:Quad.easeOut } );

sp = mouseX / xMax;

}

TweenMax.to(scroller2.holder, 1.0, { x:(sp *
((stage.stageWidth) - scroller2.holder.width)), ease:Quad.easeOut } );

}

 

 

 


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Problem understanding Class heirarchy issue

2009-09-01 Thread Steven Sacks
In AS2, super() was called automatically (so to speak), so calling it was a 
matter of proper form more than anything else.  In AS3, you have to call it 
yourself or it doesn't get called.

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] Can I display slanted quotes in a textField?

2009-09-01 Thread Steven Sacks
I believe you're talking about curly quotes and yes you can include them BUT 
you have to embed them specifically by copying and pasting them into the embed 
characters field on the TextField in Flash as they're not included in the basic 
glyph set.


Also, you have to make sure the font you're using has those curly quotes.





Paul Freedman wrote:

I've never dealt too carefully with the appearance of text. As a developer, 
that was always the designer's problem. Fortunately, I've always worked with 
designers who accommodated my - and Flash's - limitations, and let me import 
.txt files and re-create their formatting as best I could using TextFormat 
objects.

Now, I'm importing poems from Word .docx files. The poet has used slanted quotes and apostrophes. He's mighty picky about the appearance of his work. I'll point out that I'm already passing the txt through a routine that strips the carriage-returns, leaving only the linefeeds, so that I get proper line distribution. I can substitute normal ascii vertical quotes, etc, but he likes the way it looks as he did it. 

Short of making jpgs of his pages (and there are 1000 of them), can I display them as he wishes? 


Any help will be gratefully appreciated.

Thanks,
Paul Freedman
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] RE: Flash speech-to-text

2009-08-27 Thread Steven Sacks
Well, if you're got a working server solution, then all you have to do is send 
an mp3 file to the server, which that link I sent you should describe how to do.


Rock on with your bad self.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


  1   2   3   4   5   6   7   8   9   10   >