中国教程网论坛's Archiver

sanbos 发表于 2008-7-20 14:25

AS入门教程第一课:认识编程环境[原创][本文已收录教程库]

[font=宋体][size=10pt]
                   [b][size=4]认识编程环境[/size][/b][/size][/font]
[font=宋体][size=10pt]   [size=3] [/size][size=3]不要被这个题目吓倒.AS的确是一种程序语言,我们编写AS代码就叫做编程.我们学习AS首先应该克服对编程的恐惧,所以在开始学习前,我们先廷着胸大声地说:"编程其实很容易".[/size][/size][/font]
[font=宋体][size=10pt][size=3]
ActionScript是针对Flash Player的编程语言,它在flash内容和应用程序中实现了交互性、数据管理以及其它许多功能.那么我们将程序写在什么地方呢?在flash创作环境中,我们的程序写在"动作"面板中.[/size][/size][/font]
[font=宋体][size=10pt][size=3][attach]880692[/attach][/size][/size][/font]
[font=宋体][size=10pt][size=3][font=宋体][size=10pt]而动作面板,又是与舞台上可以添加动作的对象相关联的.在[/size][/font][font=宋体][size=10pt]ActionScript2.0中可以添加动作的对象有三种:关键帧、影片剪辑元件、按钮元件.[/size][/font][/size]
[font=宋体][size=10pt][size=3]
编程实际就是向计算机下达指令,让计算机按我们的指令去完成一些任务.这就要求我们用计算机能看得懂的语言,这就是编程语言.ActionScript则是其中的一种.即然是语言,就同我们人类的语言一样它就有它自己的语法、语句、词汇等,这些东西就是我们要学习的内容.为了以后学习方便我们首先来学习一个语句:[/size][/size][/font]
[font=宋体][size=10pt][size=3]
trace()这个语句的作用是,flash在运行时,将括号中的内容显示出来.[/size][/size][/font]
[font=宋体][size=10pt][size=3]
上面我们提到,ActionScript2.0中可以添加动作的对象有三种:关键帧、影片剪辑元件、按钮元件.也就是说,我们可以在这三个对象的动作面板中编写程序.具体怎样作呢?我们来试试.新建一flash文档,如果你的flash版本是CS3,那么请选择ActionScript2.0文档,因为本教程介绍的是ActionScript2.0.为什么不介绍3.0?因为sanbos发现很多人用的都是flash8.好,现在点击"插入"菜单,一"新建元件,建一个影片剪辑元件,随便画一个什么图形吧,将元件拖到舞台上;然后点击"窗口"一"公用库"一"按钮",然后随便选一个按钮拖到舞台上.这样,关健帧、影片剪辑、按钮都齐了.现在我们来看看怎样打开动作面板.在影片剪辑上点鼠标右键,然后在弹出菜单中点"动作",那么现在我们看到的就是动作面板了.[/size][/size][/font]
[font=宋体][size=10pt][size=3]图1:动作面板[/size][/size][/font]
[font=宋体][size=10pt][size=3]我们在按钮元件上执行相同的操作,可以得到相同的结果.[/size][/size][/font]
[font=宋体][size=10pt][size=3]现在在时间轴的第1帧上,执行相同的操作,一样地打开了动作面板.动作面板的右边留出了一大片空白,等着你去编写程序,鼠标指针在那儿闪着,便勾起了我们编程的冲动.于是你说:"我要编程了".上面我们不是介绍了一句,trace()吗?我们何不偷偷地在这里输上一句,也好过把编程的隐.于是你在这里输上:[/size][/size][/font]
[font=宋体][size=10pt][size=3]
trace("我会编程了");[/size][/size][/font]
[attach]880693[/attach]
[font=宋体][size=10pt][size=3]注意大小写,括号后面跟着分号.测试影片.你会看到一个输出窗口,里面有"我会编程了"几个字.[/size][/size][/font]
[font=宋体][size=10pt][attach]880694[/attach][/size][/font]
[font=宋体][size=10pt][font=宋体][size=10pt][size=4]是的,你已经会编程了.虽然只有一句,但它是一个ActionScript程序却是千真万确的.因此,这的确是一件值得祝贺的事情.来吧,让我们再说一次:"编程其实很容易".[/size][/size][/font]
[font=宋体][size=10pt][size=4]
欣赏够以后,请关闭输出窗口,关闭播放窗口,回到几分钟之前,令我们自豪了一把的动作面板,我们来对它进行更进一步的认识.[color=#00000a]我们看到trace是蓝色的.[/color][/size][/size][/font]
[font=宋体][size=10pt][color=#00000a][attach]880695[/attach][/color][/size][/font]
[font=宋体][size=10pt][color=#00000a][font=宋体][size=10pt][size=3]是的,ActionScript内部的词汇在编程环境中都会以蓝色表示.那么这就是一个技巧,当你在输入程序时,如果输入ActionScript内部词汇时不是蓝色的,那么说明你输错了,那么你应该马上检查,是否有哪个字母输错了.现在问题出现了,你说我记不到那些词汇.在中学时英语考不出好成绩主要就是因为记不住单词.现在学习编程也记不住那些指令、语句,所以觉得编程好难.首先我还是说一句,你可能不太乐意听的话:多练自然就记住了.你说:我就是记不住,我是不是就不宜学习ActionScript编程呢?NO,你看说英语并不难,我张口就来.我们将标淮降低,只要你看到这些指令,能够认识它就行.相比之下,知道有些什么指令比记住那些指令的拼写要重要得多.回到动作面板,你就会明白这个道理.看看动作面板的左半部分,这里几乎将所有的指令列了出来,你可以分门别类地去找到相关指令,如影片剪辑控制、时间轴控制、常用语句等,找到相应语句,双击它,于是它便自动写到右边的编程窗口中了.[/size][/size][/font][/color][/size][/font]
[font=宋体][size=10pt][color=#00000a][font=宋体][size=10pt][attach]880696[/attach][/size][/font][/color][/size][/font]
[font=宋体][size=10pt][color=#00000a][font=宋体][size=10pt][font=宋体][size=10pt][size=3]是不是不用精确记住指令的拼写也能编程呢.在右边的编程窗口上面的工具栏最左边有一个加号,它具有与左边窗口相同的功能,不信你点它试试.[/size][/size][/font]
[font=宋体][size=10pt][attach]880697[/attach][/size][/font]
[font=宋体][size=10pt][font=宋体][size=10pt][size=3]
通常在ActionScript编程时,我们可能会习惯将代码写在影片剪辑、按钮元件上,这就必须要事件驱动,它的格式是:[/size][/size][/font]
[font=宋体][size=10pt][size=3]
on(事件名称){[/size][/size][/font]
[font=宋体][size=10pt][size=3]
要执行的语句[/size][/size][/font]
[font=宋体][size=10pt][size=3]
}[/size][/size][/font]
[font=宋体][size=10pt][size=3]现在我们来试一试,在动作面板中输入[/size][/size][/font]
[size=3]     [font=宋体][size=10pt]
on([/size][/font][/size]
[font=宋体][size=10pt][font=宋体][size=10pt][size=3]这时你会发现弹出了一个窗口,将所有事件列了出来,你只需用鼠标选用所需要的事件双击它或回车,事件就会自动写到屏幕上.是不是很方便?[/size][/size][/font]
[font=宋体][size=10pt][attach]880698[/attach][/size][/font]
[font=宋体][size=10pt][font=宋体][size=10pt]
[size=3]很多ActionScript程序都是对影片剪辑、按钮元件、文本框等对象进行操作,这需要在属性面板中为它们命名.良好的命名习惯,对我们编写程序会有很大的帮助.按照约定,影片剪辑元件的命名以_mc结尾,如my_mc,按钮元件则是以_btn结尾,文本框则是以_txt结尾.当然你完全可以不理采这些约定,随心所欲地为他们命名.我们说遵守这些约定,会对我们编程有所帮助.还是来试一试吧.建一影片剪辑元件,然后将它拖到舞台上,打开属性面板,为它取名为:mymc_mc,在第一帧打开动作面板,输入:mymc_mc.这时会弹出一个窗口,需要哪个指令选就是了.这些指令是按拼音顺序排列的.如果你能记住所需指令的前几个字母,你不妨直接输入,这时你会发现,很快就定位到了你所需要的指令.现在,我们把元件的名称改为mymc,不以_mc结尾,再到动作面板中输入,mymc.结果什么也没有发生,后面的指令只有自己输了,或者到左边窗口中去选.按钮元件和文本框也是相同的.你可以试一下.[/size][/size][/font][/size][/font]
[font=宋体][size=10pt][font=宋体][size=10pt][attach]880699[/attach][/size][/font][/size][/font]
[font=宋体][size=10pt][font=宋体][size=10pt][font=宋体][size=10pt][size=3]这一课我们认识了动作窗口,这是我们ActionScript编程的地方,通过对智能化的编窗口的认识,应该消除了我们对编程的恐惧,让我们树立了学好ActionScript编程的信心.[/size][/size][/font]
[/size][/font][/size][/font][/size][/font][/size][/font][/size][/font][/color][/size][/font][/size][/font][/size][/font]

[[i] 本帖最后由 sanbos 于 2008-11-4 16:28 编辑 [/i]]

talentmu 发表于 2008-7-20 15:08

哈哈.支持博士兄.

让俺们开始 快乐 编程吧:

基本概念:
1,所谓编程就是向电脑发号施令,用一段,或者几段命令让电脑做你想让它做的事情.
2,所谓对象就是你想让它做事情的对象,就像你要张三去买烟,张三就是对象,你要李四去买酒,李四就是对象.在flash中可以是mc,按钮,什么的.
3,所谓属性,就是特性,性质.比如张三买回的烟是三五的,十颗包装的.三五牌,十颗就是烟的属性.买的酒是二锅头.二锅头牌就是属性.像质量,重量这些都是属性,在flash里,属性有很多比如透明度,旋转角度,x,y坐标值等等.
4,所谓方法,就是可以做的事情,比如张三是款姐,娶她可以买车买房子等娶她,买车,买房子就是方法.李四是瘸子,你要他去赛跑,这个是不可能的事,就不是方法了.可以做的事才事方法!
5,所谓实例,对象的实例就是对象的复制品,对象所有的属性,方法等等.所有的实例都具有原型对象的所有属性和方法,也可以使用对象的方法等等.好比张三他儿子就能和张三一样娶媳妇成家工作.老鼠的儿子能和它爸爸一样偷东西,磨牙等等.
6,所谓函数.就使将命令组织起来,使它们能完成某种功能,并为这组命令集合起个名字,以后再用这个功能时,就直接用一条命令来告诉这个集合就ok了,这样的命令集合就时函数.
7,所谓语法,在编程时对象或实例与它的属性,方法之间是用"."来连接的.

二,现在来讲一下函数.
函数分为"预定义函数"和"自定义函数".
"预定义函数"顾名思义是flash内部已经定义好的函数,是固定的咱不能改,我们只要直接使用
就可以了,这后面再讲.
"自定义函数"顾名思义是我们自己定义的函数,咱自己想怎么改就怎么改.具有很大的灵活
性.它和"预定义函数"相比较,就像老子的名字和儿子的名字一样.老子的名字在咱未出生时
就已经定义好了,是老子的老子定义的.咱改不了.(这里比作as的开发者),等咱结婚生儿子了,
咱儿子的名字得咱来取,想叫他二胖子就叫二胖子,想叫他狗曾狗就叫狗曾狗.(比作用户自定
义函数).
自定义函数的定义要用到关键字"function",(可以想象成咱找了个叫function的算命先生来
给咱儿子测八字)其语法为:
function name (参数1,参数2......)
其中name就是函数名,将来要唯一标识该函数,每一个函数在同一个影片剪辑里名称必须是
唯一的(就是给咱儿子取的名字,将来伴随儿子一生,如果咱生了一儿一女,不能给她们取一个
名字啊,那样咱就没法叫她们了).
....................To be continue~~~~~~~~~(还有好多在下面的附件Word文档中)

PS:这是我论坛看到的帖子.只是把它转过来而已.让大家好看,至于地址,我找不到了.Sorry

评价:1.用最搞笑幽默的方式+最通俗的方式
     2.基本编程的要素基本讲完(顺序+循环+选择)
         3.可惜他没继续出了.

         原来世界上我们认为最难的东西不是最难的,难的是我们该怎么让它变得简单.

[[i] 本帖最后由 talentmu 于 2008-7-20 15:16 编辑 [/i]]

逍遥兔 发表于 2008-7-24 11:06

首先谢谢博士,期望这个很久了,谢谢jc:kiss jc:kiss jc:kiss


不好意思由于我太笨,第一步就出错了请指教,我输入文字后出现如下提示,请帮我看看那里错了,不胜感激

**错误** 场景=场景 1, 图层=图层 1, 帧=1:第 1 行: ActionScript 中不允许使用此类型的引号。请更改为标准 (直) 双引号。
     trace(“我会编程了”);

ActionScript 错误总数:1          报错:1

逍遥兔 发表于 2008-7-24 11:07

为什么复制你写得就可以jc:yiwen jc:yiwen jc:yiwen

sanbos 发表于 2008-7-24 17:13

回复 6楼 逍遥兔 的帖子

trace(“我会编程了”);看看右边的引号,是在中文状态下输的啊,所以出错了.第二课正在写,这一两天就会发上来.

sunshijiu 发表于 2008-10-26 11:13

博士的教程写得很好,咱菜鸟能看明白!老师辛苦哦!!

随意 发表于 2008-10-27 16:55

谢谢博士老师的好教程,对AS从0开始学习了哈。

十兄 发表于 2008-11-5 09:57

[attach]971558[/attach]

hanxingdd 发表于 2008-11-5 15:22

[img]C:\Documents and Settings\hanxingdd\桌面\Snap1.bmp[/img]您的是不是9.0的哦,怎么我的动作面板不一样哦!!!!!

hanxingdd 发表于 2008-11-5 15:24

学习了

sheman 发表于 2008-11-16 00:38

谢谢老师的教程```辛苦老师了啊
由于电脑不好 第一步就出错了 恳求老师和各位高手的帮忙  多谢多谢
**错误** 场景=场景 1, 图层=图层 1, 帧=1:第 1 行: 语句必须出现在 on/onClipEvent 处理函数中
     trace("我会编程了");

**错误** 场景=场景 1, 图层=图层 1, 帧=1:第 1 行: 语句必须出现在 on 处理函数中
     trace("我会编程了");

ActionScript 错误总数:2          报错:2

我会编程了

sanbos 发表于 2008-11-16 10:53

回复 11楼 sheman 的帖子

代码要放到帧上,你的代码应该是放到元件上的。

ycjiangwei 发表于 2008-11-16 11:26

原来 也不是那么难啊jc:fighting

ycjiangwei 发表于 2008-11-16 11:28

代码在帧上与在元件上有什么区别啊

sanbos 发表于 2008-11-16 11:58

回复 14楼 ycjiangwei 的帖子

以release事件为例,写在元件上用:on(release){  }写在帧上用:MC.onRelease = function(){ }

ycjiangwei 发表于 2008-11-16 12:00

jc:sweat 那是什么意思啊jc:yiwen

sanbos 发表于 2008-11-16 12:05

回复 16楼 ycjiangwei 的帖子

就是写法不同而已。

ycjiangwei 发表于 2008-11-16 12:23

哦,是不是说只是写的不同,其实意思是一样的

З艮Ф見び痛 发表于 2008-12-17 17:14

谢谢, 一定好好好的学啥子

火浴凤凰 发表于 2008-12-21 14:35

才找到这里,博士的课讲的太棒了,很容易看明白,至到今天才知道给元件起个约定的名字,写代码时方便许多呀。

eadnfan 发表于 2009-1-14 17:59

真的很感谢老师

雨醉 发表于 2009-1-21 12:07

很久没有装FLASH啦,刚装了一个,来跟LZ学习AS。
新手上路。请多多关照呀。

雨醉 发表于 2009-1-21 12:24

第一课学习完了,遇到一个问题:
    我在关键桢的动作面板中输入trace("我会编程了");  在输出面板里显示:我会编程了。 之后,我把里面的字改成“我真的会编程了”,再次测试,输出面板里还是显示“我会编程了”。  于是,,,我把第一桢上的语句删掉之后,又重新写了一次trace("我真的会编程了"),输入窗口还是显示“我会编程了”郁闷ING

博士 老师,我还想请教一下,AS3和AS2区别大吗?  以前听说AS3取代了2,会不会学完2之后,还要重新学一次3呢。jc:fawn

不好意思哈,实在是很菜,老师别烦。

[[i] 本帖最后由 雨醉 于 2009-1-21 12:27 编辑 [/i]]

sanbos 发表于 2009-1-21 13:28

回复 23楼 雨醉 的帖子

1.你所说的情况,费解,是似不应该出现这种情况,所以我也无法解答。按理改了trace()中的内容,测试影片,输出是肯定会变的。
2.AS3和AS2区别较大,但基础还是相同的,从AS2进入AS3,需要进行一些学习,但也不至于完全重学。

98115 发表于 2009-1-22 10:52

回复 24楼 sanbos 的帖子

第一次来这里,才知道天地是如此的大,我宛如刘姥姥进大观园,深感Flash是何等的了得.而誉sanbos为博士是无愧的.吾只望sanbos博士能经常发一些入门的教材在此,以供吾等扫盲之用足矣!

egb 发表于 2009-1-23 18:19

同意25楼
我第一次到这儿来,
希望能学到菜鸟的东西,正合我意
谢谢博士
谢谢老师们

llingdong 发表于 2009-2-8 22:40

[attach]1066373[/attach]
交作业

csha 发表于 2009-2-10 17:11

很好的教程,谢谢楼主。

浮生如梦 发表于 2009-2-14 10:35

!:) 来学习了

ycjiangwei 发表于 2009-3-3 21:58

嘿嘿!来复习下!
[attach]1082963[/attach]

页: [1] 2 3

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.