找回密码
 入住遨海湾
搜索
网站解决方案专享优惠-3折上云
查看: 1212|回复: 0

土人系列AS入门教程--实战篇

[复制链接]
发表于 2004-12-16 18:15:00 | 显示全部楼层 |阅读模式

登录后查才能浏览下载更多咨询,有问题联系QQ:3283999

您需要 登录 才可以下载或查看,没有账号?入住遨海湾

×

AS 实战篇 9 n/ c- n9 ?1 }5 z6 ^- O' ]# K----------------------------------- 4 i1 \" _& X% O; T! K6 c - _: `# s* [6 K% Y* Y8 v' c2 g这次我们要进入实战,我要教你们做一个很简单的游戏,下面的每句代码我都会加上注释,如果你看过上面的教程,我想要全部理解应该不会困难。 , Y1 Y5 x. Q) k- y现在让我们开始吧。这个游戏是我初学的时候按教程做的一个游戏,所以印象比较深刻。这个游戏叫做蜗牛赛跑,流程是这样的:画面上有若干条赛道,每条赛道上面有一只蜗牛,每只蜗牛爬行的速度不一样。游戏开始了,你要猜猜哪只蜗牛先跑到终点。如果你猜对了,You Win,否则,Game Over。, n( |- O* w! [* h 第1步,我们先设置场景的大小 600*400 px ,运行速度为 48帧/秒 这个是我个人喜好速度。# ?8 x5 o, J1 i7 t5 w 8 [7 O% U& j' \4 K5 }[img]http://www.aosea.com/attachments/UploadFile/2004-12/2004121618284979.gif[/upload] % C" t4 o9 |, F& N! B3 k6 h" j" `" u3 Y$ t. e8 \' {% U 8 _& I# J6 [! |0 G9 d& V' |/ Z第2步,我们把默认的层名称改成Bkground,并且画上赛道、起跑线和终点线,我这里是4条赛道。 8 ?7 ]9 `! t! l$ G! [& Q: Z M' Z* {9 s5 h- n, b' G' F0 S [img]http://www.aosea.com/attachments/UploadFile/2004-12/2004121618284615.gif[/upload] 9 ?+ p1 }; M" k1 M9 ^ ]5 X/ C _" K- f4 {3 z- W Q 7 U0 X: W5 [/ L2 r$ s7 z( ?第3步,新建一个层,层命名成WN_Layer,然后画一个会动的蜗牛放在这个层,F8定义成MC,MC命名成WN_MC。把蜗牛的尾巴放在整个MC的正中间,如果少了这步,蜗牛还没到终点就结束了。然后复制3个一样的蜗牛,在属性栏里面调整一下颜色,使他们看起来有点区别。然后对齐放到各条赛道的起点位置。 + t0 i A: i/ U- M2 H0 @ h) C8 H第4步,新建一个层,命名成btn , 然后做一个按钮,复制4个分别放在4个蜗牛的旁边。 , O- w: g S/ n- p3 E- i) S1 O. p/ N* p. [& N* E8 O [img]http://www.aosea.com/attachments/UploadFile/2004-12/200412161828451.gif[/upload]4 S6 d8 `! g7 j0 c: V 4 W2 N6 f' O8 m5 r& _$ y0 K3 M( {! O9 ^& y. g1 { 第5步,记住蜗牛开始的X轴位置数据,我这里是25,然后把一个蜗牛拖到终点看看它的X轴位置数据多少,然后记下来,为AS做准备。我这里得到的是540。记得把它放回去哦~

) @+ ?# K2 n4 @, }7 C6 O" p, b7 x; v

[img]http://www.aosea.com/attachments/UploadFile/2004-12/2004121618284508.gif[/upload] : H4 R' F6 H* v9 U, y4 W3 u" p: y$ O 第6步,新建一个层,命名为Actoins,用来写AS的。这个层我们需要4个关键帧。我来讲一下为什么。" W; f7 M1 ^4 h; b# F 我们需要一个帧来准备开始游戏,也就是让玩家猜的帧,是游戏一开始的蜗牛不动的画面。这个就由第1帧来完成了。我们做的4个按钮也就是要让玩家去猜哪只蜗牛会赢。 6 n; E3 b" J. j$ d# h2 X, j当游戏开始以后,玩家不能改变数据了,所以在乌龟爬的过程中,按钮层没有内容。5 t$ @8 o0 n1 W. q# @$ o 第2个帧我们要让每个蜗牛都爬一次,为什么只让他们爬一次呢?因为时间轴的指针经过这个关键帧的时候,只让帧里面的AS执行一次而已。为了让蜗牛不断地爬,我们需要重复的让时间指针走过这个第2帧,所以我们第3帧的内容就是要让时间指针回到第2帧。 ) V/ e% N' M4 C! z$ T第3帧以后就是显示结果的帧了,那我们新建一个层,命名show ,做第4跟第5两个关键帧,在第4帧放一个胜利的字样,在第5帧放一个失败的字样。 : r5 B# q, j* U; h3 c$ p6 @另外在游戏结束后,我们需要一个按钮让玩家再玩一次,所以,按钮层的第 4到5 两个帧需要一个按钮。3 c y' P+ ]# [: G1 L; U 布置完以后,整个层的结构如图(还没有任何 AS):* b/ ]- _: h2 h X p6 }) T, J 2 t6 e+ k' S! y# M( ~! \" G[img]http://www.aosea.com/attachments/UploadFile/2004-12/2004121618284385.gif[/upload]

& k/ h8 ?; F( q0 F, N3 U) w' C

: T0 ^% W0 U* T4 J; p' M现在我们有 4 个对象 : _root.wn1 , _root.wn2 , _root.wn3 , _root.wn4 5 u7 O8 \' L+ g y) U5 D: b0 Q下面我们一帧一帧来做:0 M* Z/ y) D5 Q) Q6 [$ [7 y0 J Action 第1帧4 m; k* m' J1 n3 v' V8 t _root.stop(); //停止时间轴7 U3 h$ V1 ?5 n0 V6 A9 v3 E _root.truewinner = 0; - O @+ C0 A$ Y& ~2 f$ H _root.guesswinner = 0;- x- j2 U. _+ A 后面2句代码定义了两个变量truewinner,guesswinner在_root这条时间轴。变量是用来储存数据的,可以自己定义。这里的truewinner,guesswinner分别表示 哪号蜗牛赢了 和 玩家猜的是哪号 。这里初始化了这两个数据。, s4 O# G4 _& O( o Action 第2帧8 K. n/ B9 `8 y, A, k _root.wn1._x += random(10)/10+random(1); //蜗牛1号的X轴数据增加某一数值# P# N) a8 r6 ]; w2 p. J _root.wn2._x += random(10)/10+random(1); //蜗牛2号的X轴数据增加某一数值8 v$ A/ g7 M& B- g( U _root.wn3._x += random(10)/10+random(1); //蜗牛3号的X轴数据增加某一数值) s) M# k; Z |( {% f/ N+ J _root.wn4._x += random(10)/10+random(1); //蜗牛4号的X轴数据增加某一数值; {" B; M" |1 ] 看过对象篇,这里理解起来不难吧?2 Z) ~' r9 q+ @& Q5 ]3 n( z9 Q _x 表示对象蜗牛的属性之一:X轴的位置。2 y- x' ^! L4 A, C* r& F1 @* k += 表示自加 , 这样理解 a=a+1 和 a+=1 是一样的。表示自加1。 E% z2 V6 P" _3 q8 d8 Q1 B 这里有个方法 , random() W7 ]2 |4 c" ^ A这个方法用来获得一个随机的数字,如 random(10) 获得 0-9 中间的任何一个数字。上面的表达式获得一个从 0-1.9 的一个随机数。 % P5 p) X0 W4 b0 W# S/ n C+ pAction 第3帧5 d3 [: } v6 e' g" k if (_root.wn1._x>540) { * ^2 ~' c3 u$ e; I" Q# H: G_root.truewinner = 1;" x5 H$ j; T8 E0 }0 m } : `, k. ]8 t K+ U; ]if (_root.wn2._x>540) { - x/ A2 Q( ^8 u1 x& u1 t& __root.truewinner = 2; 4 |# L7 y, a& H4 N' V6 h} [/ k! I. ~; C/ H: _ if (_root.wn3._x>540) {* k0 j3 Z: |% L* C8 k _root.truewinner = 3;. u; n/ X8 f5 \8 W, J; y. E } 1 z" x" U5 s5 A3 K# ?) b- W/ X7 oif (_root.wn4._x>540) {" U8 S9 h3 }! J( } _root.truewinner = 4; " l7 E' o1 e! ?3 a& k# o} # V$ K" y% b Y/ M& i1 n2 B//判断哪只蜗牛到了,到了就改变truewinner的值,纪录哪只蜗牛获胜 + |3 T# A$ w% g6 ^2 `, fif (_root.truewinner != 0) { % T; x" _/ @( O" G; _if (_root.guesswinner == _root.truewinner) { $ j8 Z5 E* B# Q$ [6 C _root.gotoAndStop(4);% t$ H; v# K+ ~! N( x } else {- `7 e& q' X! o. B _root.gotoAndStop(5); 8 R+ Y9 s: C" K0 R6 ?# s} ) [: R7 k g0 N0 Y% A+ @} else { 7 j2 m6 W, u( i% f7 t$ x3 b+ q ]+ q_root.gotoAndPlay(2); ' r0 T" S2 X! ?} + `; T. \7 {) e4 u0 D/*-------------------------------------------- & N, r- A% ^. @4 y. Y+ x+ V% A2 z% O判断truewinner的值,如果被改变了,说明已经有蜗牛到了 ' r- U+ l7 Q8 z4 ^( P* ]! L H9 W如果还没有改变,说明蜗牛们还没到。 ' ?$ c Y* d3 q8 g! k X; k如果没到,就把_root的指针跳到第2帧,让他们继续跑,如果到了, , d6 C) c8 @( n9 H判断玩家压的那只和真正到的那只是不是一样。如果猜对了,让时间 ! R0 q( B' W4 t* q- F4 b1 [$ F指针跳停到第4帧,否则跳停到第5帧。! s9 ?; H$ R( N( h G ---------------------------------------------*/ + W* J' A4 d" I1 ?% o5 b仔细理解一下流程,应该不难 ( y$ ^* }4 P: T7 _: z4 M% D# M 接下来是按钮上的AS:3 z" |% R7 V1 X/ L( J 第1帧的按钮: S$ e w+ k/ D/ d; s/ a8 ` on(release){ / X" I/ ?- ?$ i; d' l, Q7 \_root.play();$ `& e- X- u: M- D! w _root.guesswinner = 1;2 g, _( n( J( h- [ }' C. U) _- }3 w, N1 M; { 第一只蜗牛旁边的按钮上面的as。松开按钮后,指针跳到第2帧,然后纪录变量guesswinner为1(猜第1只)。7 J2 `' {* x" A/ n$ g) T 其它蜗牛旁边的代码类似,就是纪录变量guesswinner值为相对应的 2、3、4 ; x0 J) L; q( R; W6 @最后一个按钮,用来重玩的。 ' [& e1 [! X% S% [! J) [" e- bon(release){) ^; O. Q6 ~" k# V/ a3 s2 | _root.gotoAndStop(1); # N2 k. C0 u! b, ?_root.wn1._x = 25;//蜗牛1号回起点. ~4 W4 K {0 ? _root.wn2._x = 25; 9 ~: t% _6 X- G7 p- _ p8 `/ Y$ _" W_root.wn3._x = 25; , u( a% w! O. `_root.wn4._x = 25; ! i. b7 l6 y0 S} . X& x! B- y% `- I; K全部看明白了吧?嗯,看看我做的 + y3 [2 m8 V7 U4 t( ]这里我就不给源文件了,大家自己动手做做,很有成就感的~ 8 z6 a, N+ S3 {5 }5 g6 H(完)

: f0 ~' U$ N1 l& y

5 u( Y) W# z% ^/ Y$ G% ^. {0 V

' T$ e8 g. }( J, ~! y2 i
[此贴子已经被作者于2004-12-16 18:28:40编辑过]

土人系列AS入门教程--实战篇

土人系列AS入门教程--实战篇

土人系列AS入门教程--实战篇

土人系列AS入门教程--实战篇

土人系列AS入门教程--实战篇

土人系列AS入门教程--实战篇

土人系列AS入门教程--实战篇

土人系列AS入门教程--实战篇

土人系列AS入门教程--实战篇

土人系列AS入门教程--实战篇
遨海湾-心灵的港湾 www.aosea.com
您需要登录后才可以回帖 登录 | 入住遨海湾

本版积分规则

网站解决方案专享优惠-3折上云

QQ|手机版|小黑屋|遨海湾超级社区

GMT+8, 2025-5-15 10:24

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表