let me start by saying, i self tough myself, to a extend. In my opinion the number one way to learn is using newgrounds, and not being afraid to go for it. A extreamly important like, that is a must too bookmark, is the AS2: Main (yes, you have as2. as3 was only bought out by adobe in cs3 and cs4 and soon to come cs5). Scroll down to the bottom 2 posts, as these are the two most important ones. Go through the posts that look important to you in the begginers section. Read it, try thinking about it in your head, and try scripting the example (assuming there is one). One you got that, try to rewrite it without looking back too much unless you are really stuck. Then move on to the next. You'll soon enough get use to how the world of coding works, start to learn syntaxs and so on...
Once you feel you know some basics, try making a very small game just to experement with. Dont be scared to try something your not sure of, because failure is the fastest method of learning (and also the fastest way to get gray hair). If your not sure about something, see if you can find help on the AS: Main post, or (and this is usually extreamly helpful) by right clicking a keyword (usually turns blue) and viewing the help files on it. If none of that works, feel free to post a topic on the forums and you'll be gladly help (you can even send me a pm).
One important thing i must mention is try to code in frames as much as possible. You'll get a lot more respect and help from users because its easier to follow, and you'll better prepare yourself for new languages, and in general its just so much better. Unfortunatily alot of the tutorials on the AS: Main is in movieclip coding, so you'll have to try and convert it. Its quite easy though:
firstly, coding in the timeline means you never have to refer too _root. as the timeline is the root
If you want to change any movieclip's values its just:
MyMovieClipName.MyMovieClip'sValue
second is functions:
MovieClip code:
onClipEvent (enterFrame) {
timeline code:
function onEnterFrame () {
(enterFrames means that the code in between the { and the } is run every 1/fps seconds
MovieClip code:
onClipEvent(load){
timeline code:
not needed, as you can code without a function
(load) is run only once ever, so by not putting any code in a function means that it will only happen once (such as variable declaration)
buttons:
on(press) {
is the same as:
myButton.onPress = function () {
and ill let you work out how to do on release, etc...
Like i said before, dont be afraid of a challenge, check out the as main, and please do post if you need help, its the only way to learn!