查看完整版本: AS初学者推荐教程一天一个代码

黑不白 2006-5-7 02:34

AS初学者推荐教程一天一个代码

文件我懒得重新设连接了,自己去原文处下载:[url=http://www.webjx.com/htmldata/2005-02-26/1109384308.html][color=#ed4a0f]http://www.webjx.com/htmldata/2005-02-26/1109384308.html[/color][/url].Ad0L:Mf.?F
一天一个代码,对新手来说是一个很好的学习机会,从浅入深,简单易懂,如果你是新手来看看吧,很不错的!
\+hS"G_ E5t%iVaZ   先来说一下代码的使用,它的使用有两种,一个是帧动作,一个是对象动作,帧动作就是在帧上加代码,对象动作就是在被选中的对象上加上代码(说的菜了点),怎么加代码呢,很简单,帧动作就是选中那一帧然后“窗口”——>“动作”,打开动作面板,这个面板的左侧是可以用的代码,右侧是代码框,也就是显示你所输入的代码,在代码框的上面是当前代码内的一些参数。给对象加代码也是一样的操作,先选中对象,然后操作就和前面一样了。.GRf/A7Ud.B!Y
  第一天,先学两个很简单的:gotoAndPlay和stop vz:e*?@(m:m-oT
  stop是flash中最常用的代码之一,它的作用就是停止当前正在播放的动画。1~+AS1p:k6`Ua?
  gotoAndPlay也是最常用的代码之一,它的作用是转到并且播放指定场景的指定帧。!i @ Bm/PX B
  下面的附件里是三个这两个代码相结合使用的例子。
Zz[u9r   gotoAndStop 'o!z)?4VnD}s
  今天我们来学gotoAndStop
h%pQK6Ui+M   这个代码和gotoAndPlay一样,gotoAndStop是转到并停止指定场景的指定针,U fK6R8M(`Zr:N
  因为我的电脑坏了,现在还没装flash所以今天没有源文件了,大家可以用这个代码把昨天的三个源文件改一下vj.sj$g.nH
  play
R?N O!c"v$^!V*v   这次来学习play tY3E6wy o
   这个代码大家应该差不多都会用,每一个动画几乎都会用到它
0I y,p3{*k z"L   大多都用在按钮里
m\*M,h(qX   stop 1GW eJDu
  这个代码也是最常用的一个,也是几乎每个动画里都会用到的,它的作用就是停止当前正在播放的动画。
4x/c4O`Q cS F2v   stopAllSounds .w|6^'A!U3?%a3||"I
  这个代码的作用是关闭当前播放的动画中所有正在播放的声音
v8thFV   按钮代码“on”
2j0T1G;ueQ   今天学习一下按钮的代码,但并不是全部,因为按钮可以有很多种动作,这次学习的是按钮常要用到的"on"
m?_0`vC#p8US4a   它的格式是: A Z}[7jG5X[(f
on(鼠标事件){
z)VT5d ^L   语句;}[+B0crM1^6IN b$?3O
  在动作面板的标准模式下给一个按钮加代码时这个格式的语句会自动出现,用不着自己加的。
;vzi,F j7ikg   下面是几个鼠标事件的源文件 m2V I7] aK2B
附件: on1.rar L)I3A{_n#R
  fscommand
sU(H)I1dj/E+eg   前面我们学习了动作面板中“影片控制”下的代码,从今天起我们来学习下一个单元——“浏览器/网络”下的代码,第一个就是fscommand
d#|!U q+[K7u CF 这个代码具体我也说不好,我个人理解的就是一个发出命令的代码,比如按一个按钮就可以关闭当前的flash播放窗口,这个代码就要用到它了,
dw(@7p?   下面还是给出几个源文件大家来自己体会一下吧S-t,_"?#^i5u ?9t
  这里只有三个源文件,其他的选项大家可以自己做一下试试看会有什么效果/S{+{2h[ CW
  注:exec大家可能不好看出效果,它的功能是在播放器内执行应用程序
zjp5s~M 附件: fscommand.rar
+c5X*yn3oh{   getURL ZU M:eB9g R I^
  这个代码对于大家来说应该不算很陌生
tS4FL$T   它的作用是:将指定的URL的文档(也就是网页)加载到窗口中
.A0h/n:^/\   格式:
3Iu8G.t*Uj getURL("网址","窗口","变量");
#vl){(ly7B KF   下面是四个参数:
N#\4gQa9E   _self:指定当前窗口当前框架
.n}.ZG"?@m   _blank:打开一个新窗口
__!gaU+A[   _parent:当前框架的父级
tB fH8f   _top:当前窗口中的顶级框架
s:P(b|RR   注:网址必须要写全,如:[url=http://www.163.com/][color=#ed4a0f]http://www.163.com[/color][/url]$c,f#P"H#r"k]:gH
  就要写成这个样子,一定要把http://写上
6C;{,[q$R5SX?$c)r   下面是几个源文件,大家可以将这四个参数分别用进去试试看
7N#Y(RM$SE Y@L*U 附件: geturl.rar x&D.k hH]1hH5C9[
  loadmoive
A:GT?z_MG   loadmoive,有很多人都在帝国问过这个代码怎么用,下面我们就来简单的学习一下
.K8\Jc#XTa"]Xg   这个代码是一个载入的作用,把指定的swf,jpg等文件加载到flash player中
\ Sb|#QY0NRwF   它的格式:
:~w+f?ve&a loadmoive("要加载文件的路径或网址",目标/级别,变量);&y*PY3c)KHK1u
  这里要加载的文件必须是和你这个代码所在文件是同一目录的,如果不是,就要写上绝对路径(这里哪点说的不对请大家指出,共同学习)\$IR `5p*{HM
  比如,cc.swf文件和你这个源文件在同一目录下就可以写成 c mRM1I#E!E6gR:J
loadmoive("cc.swf");4~cj~*^[-m
  如果不在同一目录下就要写上路径了3J[ b7g y&]
loadmoive("c:\cc.swf");p*~\} Ck
  下面是两个源文件,它们都加载了cc.swf
x I5TH!K3XCl 附件: loadmoive.rar
^yO:tm/x{Ml   loadvariable
-R1u9YXRkYo,L   说起来这个代码和前面说的loadmoive差不多,都是载入一个文件到flash中,它载入的是文本文件,CGI脚本,ASP,PHP等
'ejtt yxwL   它的格式:/npj%L9fu$[
loadvariables(url,级别,方法);L%}&~W2bi
  这个代码我几乎是没有用过,现在才是现学的,所以还有很多不会的地方,希望高手看到这个帖子后可以补充一下。
xRzz\4m   下面来说它的用法:
8^0_q@xr   我用今天的源文件来说明一下吧,源文件里的效果是点击按钮就会在文本框中显示a.txt的内容,那么代码要加在按钮上,在url里输入a.txt,这个和loadmovie一样,不一样的是后面要选择的是“级别”而不是“目标”了(这个代码的“目标”不知道怎么用)8icV9i `*ZdZ%V/B
  注意:这里特别要注意的就是你的文本框的变量名一定要和载入的文本中的变量名一样,我这里文本框的变量名是output,载入的文本文件中的内容是output=abc,这里的ouput就是变量名
@nv5sAc^o   下面是源文件,大家来一起理解一下吧w B;H6} l|8`O.e;O
附件: loadvariable.rar#_%pQ5T:s;Hf
  unloadmoive ` y9h4asWO
  今天学习的unloadmoive和前面的loadmoive正好相反,它是卸载已经加载的文件 H {4QBo
  格式:2p| lP4a7z3r~
unloadmoive("目标");
/U"?'P"Ye   其他的个人觉得不用多说了,下面是一个源文件,很能说明问题U2~1w_RR8}b,|$m
附件: unloadmoive.rart@)I|b}$D)[rF
  duplicatemovieclip
E9[7I!u"Z   今天我们来一次学习两个代码:duplicatemovieclip和下面的setpropertyID LZ+F e(D
  这两个代码一般是在一起使用的(个人想法)
T;@[s[H   先来说duplicatemovieclip4D#H } D&o
  它的作用就是复制影片剪辑(MC)
_9gR!G!\9vP#y4Hf   格式:duplicatemovieclip(目录,新影片名称,级别);LY'~ W"TQx
  其中的“级别”就是复制的MC的叠放次序,低的在高的之下,比如级别为1的就被盖在级别为2的MC之下ZJO v}3l7Qj
  setproperty !?.nPhViW)n6b
  它的作用是当影片播放时改变影片的剪辑的属性值。
[7li*B/D2y)P   格式:setproperty(目标,属性,值/公式);
ABJf?/e(A F   其中“目标”的意思是要被改变属性的MC的的实例名称 P'H-B Y[ E
  “属性”就是要设置的属性|;U{,]m7VX2a"C#C;d H
  “值/公式”就是所要改变属性的值(改变之后的)或者用一个计算公式来代表这个值。*o;Si.bi
  下面是这两个代码组成的效果的源文件BwwuU QHr7o?b
附件: 汇蟀.rar@@ J.a{BR
  onclipevent
^/J+TU:m   今天学习的这个代码大家是非常熟悉的,前面的实例中也都用过
QB3w-j;m   它是影片事件,作用是当触发指定的影片事件时则执行下面的语句。
V^#w vF^DI6u^   格式:
|*x$iqx"nk D onclipevent(影片事件){
q3vMf2Q'z   语句;} lo#[}1[5G
  removemovieclip
$TBs [(a oJ1I   这个代码是删除用movieclip对象的attachmovie或duplicatemovieclip方法创建的或者用duplicatemovieclip动作创建的影片剪辑(MC)
(?j#z9p$P8P*EUL   说白了duplicatemovieclip和removemovieclip的关系就像loadmoive和unloadmoive的关系一样。
U$Nv2}T s1F   格式: X_(d b(eS6X(P]
removemovieclip(目标);r#?%PjY ON,e
  这里的“目标”就是用duplicatemovieclip创建的MC的名称
O#]4YB4Fo)?   因为我一直没有做成功,下面这个源文件是圣鱼帮我做的,在此谢谢他了
/o7iUG.T"q)\f E 附件: 汇蟀.fla5{@J @/\9TL.Z
  startdrag
U?` I0P   这个代码是用来拖动影片剪辑(MC)的
,\`{ MJ He   格式:7az/z"i Y7jHD8m
startdrag(目标,[锁定中心点,左,上,右,下]);
)~g#wM]]   这个代码很简单,请看下面的源文件
N/kM;R5Uo 附件: startdrag.rar
qB4v| [N+{{@   有的人问过这样的问题如何把按钮的手型弄没,好了今天我给大家来一段好吗?
%g q"h7i$z   useHandCursor这个属性就是改变鼠标的手型"D*LLH eV4@
  它的值是个逻辑值 一个是true 一个是false
)w)^J Z N   下面是一个例子
%A0` Oo aK   BY tongxiao198546 nrnNnb|.g
附件: 罡泓沱-2.fla4p/^-{4ylC$|
stopdrag
R2]1J N \C\,Nk   昨天我们学了stardrag,今天就要学stopdrag了,这两个代码是一对,stopdrag就是释放当前鼠标拖动的对象。这个很简单,下面是源文件大家看一下应该就能都理解了,这两个代码学习完以后大家应该就能自己做一个简单的拼图游戏了q0fp ?'rxm
附件: stopdrag.rar
9d;{ Of }'D   updateAfterEvent()(多谢bluepoint和圣鱼帮助) 9m1L,Db4~a/p_'a
  updateAfterEvent(clipEvent) Y F};n4h$x#SS
  只能用在影片片段的动作里,使得一处理完clipEvent事件就刷新影片显示。虽然鼠标和影片片段事件当事件一发生就会执行,但由于影片FPS(每秒显示的帧数)的限制,只有当播放到下一帧时事件所作的改动才会被显现,而这时事件可能已被执行了多次。为了使事件实时作用,就可以在事件处理中调用updateAfterEvent,从而使动画显示平滑
}g;RVE%n   这是源文件,AS在方块中,把updateAfterEvent();去掉比较一下,非常明显
Z0lIWuz 附件: 罡泓沱-8.fla
]D9e(]5BS Z   delete
}2b+n2^q(b O5i I   今天我们正式进入变量的学习!!!!M.d ?9p%QGr5?9A
  今天要学的代码是delete,这个单词大家应该都认识,没错,就是删除的意思,在变量的代码里出现它大家也能猜是什么用途吧,那就是删除变量!!!(嘻嘻,刚开始学变量第一个学的就是删除变量)
}~,LW0f5X e'naV   别的不用多说了,看源文件吧J w)aM7[6_f f
  注意:源文件中定义变量是用的var,也是变量中将要学的代码
2NT:gT8IP   这个源文件的作用是当鼠标按下时上面的动态文本框出现赋给它的变量的值(点中这个文本框,再去看属性面板,在右下方有一个变量文本框,在那里写这个文本框所指的变量的名称)
N'Uk0v D [-K 附件: delete.rar
d9sYK8BN?4F_   var
hM~!?lbj   这个代码就是定义变量的作用
t9X g1T;A)l   格式:z-D*j2y'v/D;etT
var 变量1 [=值]
G!oRx1\1E   简单的一个式子就是这样:var 变量=变量的值gb%KX tVS
  源文件上面那个代码中也有
8Md7[ V \-F;{5{   with
P*prv s   这个代码的作用是指定一个对象,并使用语句参数计算对象中的表达式和动作。!Tv,~frz(P1]F#[r
  格式:
;s1^qi;lBe/g with(对象){
~O `/rT&L Y   语句;}
M:W;gg5[4\l   下面的源文件的作用是设置影片剪辑在场景中的x和y的位置,其中_x和_y都是在专家模式下写入的Fy?] { a9Ee/CLG [
附件: with.fla
3L$T)B;WZa   break
A]EO~&p   这个代码常用在循环体和switch……case语句中,它的作用就是退出循环体的其它部分}8A!Lf Bq7o
  flashboy82:B$DI wg#_^a
  我来补充两句,,,
I a eMc}*fYS|#{N   举例来说明break的用法,,,,下面的代码不能用到真正用途上只供学习者参考
8l#[!@ m+gw5MM if(i<=10) then{
I ^C[8D4B$Z gotoandplay(20)}  else{0E.y0m,m s\1C
break}; `NZ n b(`FV3X S$F-s6}
  说明如果变量i 小于等于10那么就跳到第20针运行程序。。否则跳出该程序。xF0FV;o!i"r8d6y5k
  switch……case……default,kmF y|)x(q:TO
  这是三个代码,都可以在“条件/循环”里找到格式:X!VBpI O ` Z
switch(表达式){
5r8AgQ C:k:N   case 条件;  语句;  [default 条件;   语句;]}ln~c W
  它们的意思是,如果switch后面的表达式的结果等于case后面的条件的话就执行这个case下面的语句,如果加了default的话,就是前面的case都不付合就执行default下面的语句。-e PQ.s0j5F6@2A/Mb
  下面是源文件4J U"i6^l
  它的意思是如果cc1中输入的是1,那么cc中就显示“蓝色茶壶”,如果是2,就显示“绿茶”
aTu }(@5[$FHh 附件: switch.fla
#[ O6Qv0_T9]-G3_3dvb   continue
t!cf6[,lJ"|.Z   default完了就改continue了吧"DMZP ](X&F
  看茶壶忙的
A5p'~ aJ]-N/C L s   兄弟来帮帮忙!
k}ko4y2_V:|!s   教程不会写,直接上源文件吧。呵呵!*J~A4BFe
  BY 孤星寂影
9U,Y S`/}R7^euDs   这是附件(源文件)1}^xg \ g|E`
附件: continue.flaf+uA B#Fo
  do……while I-G `a-R V
  因为机子有现成的源文件,就直接传来吧,教程——还烦各位老闪们添上吧。嘿嘿!~G:ga6\1v2C"H4v
附件: dowhile.fla0X#@Ly&aE*i8G'{
  while
1F$S O LPh1LX O   这个代码的作用就是循环,每一次循环处理,都会先看是否满足条件,如果满足就执行下面的语句,如果不满足就跳出循环。
0A&hg4y4nq    格式:
4le)uE s7p-]h while(条件){w la~ R/A
  语句;}
$s)H4D*r~-CF*s7t   下面的源文件是从1加到100的效果u"N,j3v!\K2mB~$z
附件: while.fla?`$TY6pJ6G-`j
  else
-@3k'b&s1~%U-u#[#H9b{   这个语句的作用是判断,,,,
Oj nT5H na   例子
r4T Z6wnA&Y}4] if(password==passwrod1){[Y!YqiVL)o}0RdN
gotoandplay(2)}  
_$L^X9R*vVnC else{
U*_ x)tt3F:A2eh gotoandplay(3)}
*|1~|8WpIz K   BY flashboy822UT(|4\/PT4II&d!g
  elseif
gM1[6~ T o2V   和if一起使用作用也是判断
,u/b w3{w)oMZ    例子{ C] x s"D0rTm
if(password==password1){
!i ycP0L gotoandplay(2)}      gV_X.C3] t
elseif(passwrod!=password1){
"yzBIH gotoandplay(3)}
H-t/Di [,B/m/@    程序说明:4qNi0bd5qS
  如果两个密码相等跳到第二针执行,,,否则如果两个密码不相等跳到第三针执行。。。
KU F YAY c(m   一般这样的句子是用在flash配合后台做登陆页面用的,,,
9tL'U| `G   BY flashboy824T2tg"L(]t8V{3D
  if……elseif…… PX Ii-H4^m
  就是说如果第一个条件付合就作第一个if后的语句,否则如果第二个条件付合就执行elseif下面的语句,这样以此类推到第N个条件i3nU;|1o T
  for )I!m6A W"a4`
  这个也是一个循环语句 I2PFKO%v%`Z0P)Mj@
  格式:
a-MdV%Ny!q ?B*[p:o} for(初始值;条件表达式;变量更新表达式){$vr0{;h8cR/Z
  语句;}&] [3A*} _CJ#eZ
  初始值:设置一个变量的初值,用来循环,在源文件中可以看出来。
hhg~ cD.k1}*Y   条件表达式:当初始值的那个变量付合条件时就继续循环,否则跳出循环。AM"b"flbG-R
  变量更新表达式:当初始值的变量按一定的规律变更。8S|\,r]W e
  下面的源文件还是从1加到100的效果
?&ejDXk]q   注:其中i++的意思是i=i+1,上面的while的源文件中好像也有这个,在此说明一下。
Xn2B] k-zP 附件: for.flaS/n^F+D,?9t
  for……in a!O6Wr!S{
  flash帮助里的S8bTRPWa
  示例
1kH-GgD   下面的示例使用 for..in 迭代某对象的属性: h-z4E3@ R,Q)Ql
myObject = {a(g c.p"]vZ j
name:'Tara', age:27, city:'San Francisco' };
q}oR.R for (name in myObject) {sY0A:[Gg5kta
  trace ("myObject." + name + " = " + myObject[name]);YH!glf9aa.z#J
}5t7]0WF/ze
  此示例的输出如下所示:
HwO:dM.P   myObject.name = Tara
B;m1zWKU%uh   myObject.age = 27 _ Bf#T[*^^r"d
  myObject.city = San Francisco
|;Kd|}F"oT    下面的示例将 typeof 运算符与 for..in 一起使用来迭代特定类型的 child:
St p&u{LQ for (name in myMovieClip) {"n{KK4V n5q%R
  if (typeof (myMovieClip[name]) = "movieclip") {d1UV.Wh
   trace ("I have a movie clip child named " + name);U#?:^HdVp
  } N4],DC:DP
}:P*M aHy%t
  下面的示例枚举影片剪辑的子级,并将每个子级发送到其各自时间轴的第二帧。RadioButtonGroup 影片剪辑是一个父级,它具有多个子级:_RedRadioButton_、_GreenRadioButton_ 和 _BlueRadioButton。 -g%YXf#w9Q
for (var name in RadioButtonGroup) {
H^P@M+b-H4[3y  RadioButtonGroup[name].gotoAndStop(2);
kV"xUZ!L"GQ }"j&h/n)Y'U'y}%q
  BY 圣鱼
]mo}5n7a   第一个例子我是这样理解的:N8B} hPop
  大括弧里面的语句被执行了3次,每次执行以前name依次被赋值为"name","age","city";
[f*e ?0q4Q%S6Z   可以再加上这样一行:
cu#JwF g trace("name="+name);
/Y2|#d"Snk'H 就可以看到name在最后值为“city”;因此,in前面那个参数是字符串(string)属性的
页: [1]
查看完整版本: AS初学者推荐教程一天一个代码
查看完整版本: AS初学者推荐教程一天一个代码