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

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

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

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

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

×

AS 实战篇 J! \1 U* K. O-----------------------------------$ J" w1 E5 x& x- s ) D h. x& V' u7 B* l这次我们要进入实战,我要教你们做一个很简单的游戏,下面的每句代码我都会加上注释,如果你看过上面的教程,我想要全部理解应该不会困难。 3 J) c. p/ }9 v' ]7 W+ t现在让我们开始吧。这个游戏是我初学的时候按教程做的一个游戏,所以印象比较深刻。这个游戏叫做蜗牛赛跑,流程是这样的:画面上有若干条赛道,每条赛道上面有一只蜗牛,每只蜗牛爬行的速度不一样。游戏开始了,你要猜猜哪只蜗牛先跑到终点。如果你猜对了,You Win,否则,Game Over。/ I- j0 `2 O; a$ G H 第1步,我们先设置场景的大小 600*400 px ,运行速度为 48帧/秒 这个是我个人喜好速度。 0 {; e4 D+ h1 o$ D9 W; D* w5 L, U - z( B. _) U( e6 b- g. i[img]http://www.aosea.com/attachments/UploadFile/2004-12/2004121618284979.gif[/upload]4 i. S, @% R+ d2 O . i1 n* t9 X6 g2 e* P7 n; ^$ c 8 r& u: X& J- T! o第2步,我们把默认的层名称改成Bkground,并且画上赛道、起跑线和终点线,我这里是4条赛道。 * R; H1 R9 l2 n) ?# p3 e. C' l+ J3 @/ b f/ g% b Y [img]http://www.aosea.com/attachments/UploadFile/2004-12/2004121618284615.gif[/upload] - y; z9 s5 t! f% W- `; {! S2 {3 u# T- n3 H. q& ] / ^+ V7 Z! W" `" g! l. Q* D7 D: }第3步,新建一个层,层命名成WN_Layer,然后画一个会动的蜗牛放在这个层,F8定义成MC,MC命名成WN_MC。把蜗牛的尾巴放在整个MC的正中间,如果少了这步,蜗牛还没到终点就结束了。然后复制3个一样的蜗牛,在属性栏里面调整一下颜色,使他们看起来有点区别。然后对齐放到各条赛道的起点位置。- [& R% w" t1 h# X1 Q" V 第4步,新建一个层,命名成btn , 然后做一个按钮,复制4个分别放在4个蜗牛的旁边。 9 j3 X/ |+ b8 d 6 q/ a o Q$ M. _; f! \[img]http://www.aosea.com/attachments/UploadFile/2004-12/200412161828451.gif[/upload]' a+ j6 ]( P' l0 I7 W8 c . ~4 ]# {& [: K1 f/ M- i7 C' C! X" I1 u 1 I8 w1 Z8 N( o: F第5步,记住蜗牛开始的X轴位置数据,我这里是25,然后把一个蜗牛拖到终点看看它的X轴位置数据多少,然后记下来,为AS做准备。我这里得到的是540。记得把它放回去哦~

) S- H6 n% Y- B3 W# R

[img]http://www.aosea.com/attachments/UploadFile/2004-12/2004121618284508.gif[/upload]' A- Y3 p& o6 m- R P" ]' N ' d6 j8 W C: b4 M/ o% I5 _第6步,新建一个层,命名为Actoins,用来写AS的。这个层我们需要4个关键帧。我来讲一下为什么。# x: R2 a9 s. j 我们需要一个帧来准备开始游戏,也就是让玩家猜的帧,是游戏一开始的蜗牛不动的画面。这个就由第1帧来完成了。我们做的4个按钮也就是要让玩家去猜哪只蜗牛会赢。% u, @' h! v# g9 c! U8 D$ V 当游戏开始以后,玩家不能改变数据了,所以在乌龟爬的过程中,按钮层没有内容。 . G* D6 ]: G& ~. M- `第2个帧我们要让每个蜗牛都爬一次,为什么只让他们爬一次呢?因为时间轴的指针经过这个关键帧的时候,只让帧里面的AS执行一次而已。为了让蜗牛不断地爬,我们需要重复的让时间指针走过这个第2帧,所以我们第3帧的内容就是要让时间指针回到第2帧。 7 t' \3 P, I* K+ R% O4 }3 k7 k8 z$ M第3帧以后就是显示结果的帧了,那我们新建一个层,命名show ,做第4跟第5两个关键帧,在第4帧放一个胜利的字样,在第5帧放一个失败的字样。 9 J ~! ]6 b% Y另外在游戏结束后,我们需要一个按钮让玩家再玩一次,所以,按钮层的第 4到5 两个帧需要一个按钮。& j3 k9 D, c# |+ m. E0 H 布置完以后,整个层的结构如图(还没有任何 AS):# X$ Y) O1 c/ k6 D* ~7 @- n8 i - x( Q% \' i6 B8 T5 F; p$ c# q [img]http://www.aosea.com/attachments/UploadFile/2004-12/2004121618284385.gif[/upload]

9 T6 I$ _7 \/ y* @

: S$ T4 i. l1 b' Q9 l5 \ 现在我们有 4 个对象 : _root.wn1 , _root.wn2 , _root.wn3 , _root.wn4 ( U; ~: X% X( c9 }下面我们一帧一帧来做: 7 `0 G& q. n* Y, F% r/ L9 `Action 第1帧7 l9 f$ [6 p- f* `3 o1 l _root.stop(); //停止时间轴- [& Y& m9 T; V# U _root.truewinner = 0; * d2 R" A" N4 g5 J_root.guesswinner = 0;: q2 h+ o' T v; X' e. x Q7 @! l5 Z5 B 后面2句代码定义了两个变量truewinner,guesswinner在_root这条时间轴。变量是用来储存数据的,可以自己定义。这里的truewinner,guesswinner分别表示 哪号蜗牛赢了 和 玩家猜的是哪号 。这里初始化了这两个数据。- d+ O( B8 W8 t8 u Action 第2帧 o3 W8 x; Z, f3 `- s7 T# C_root.wn1._x += random(10)/10+random(1); //蜗牛1号的X轴数据增加某一数值 / n3 I% X2 K) Z3 |0 n_root.wn2._x += random(10)/10+random(1); //蜗牛2号的X轴数据增加某一数值+ s- Q. R8 K+ x } _root.wn3._x += random(10)/10+random(1); //蜗牛3号的X轴数据增加某一数值+ r! d4 x1 X* X, [- ]2 u9 c _root.wn4._x += random(10)/10+random(1); //蜗牛4号的X轴数据增加某一数值" u; Y6 e9 W. F3 L. x, y7 g1 o1 B 看过对象篇,这里理解起来不难吧?. C$ r! y+ y( b6 O( y/ W' V0 `5 H. N _x 表示对象蜗牛的属性之一:X轴的位置。 8 L$ q P$ _& B+= 表示自加 , 这样理解 a=a+1 和 a+=1 是一样的。表示自加1。! l/ x+ U( I: I# v; @, l 这里有个方法 , random() B* I$ y% b: E$ v$ g: ^5 R这个方法用来获得一个随机的数字,如 random(10) 获得 0-9 中间的任何一个数字。上面的表达式获得一个从 0-1.9 的一个随机数。0 N; H# r, u; Z! \ Action 第3帧 3 e8 i6 X0 X$ D6 q5 dif (_root.wn1._x>540) { 2 g: ^4 t8 n5 L" f$ E_root.truewinner = 1; , H/ ~; O$ z3 P$ d% @& m}2 q; {% F) J) E5 u' ~0 J/ U if (_root.wn2._x>540) { " w) E2 q% K9 N- T0 k9 W* L_root.truewinner = 2;5 ?6 G8 ?- w* o. e9 S }% a4 m" W, Y% z: v( z if (_root.wn3._x>540) { / ^8 s1 A j3 v& [2 [! H! t_root.truewinner = 3;* ^( ~ w2 u0 J% |6 ` } 9 G u% i* N& V/ \, O8 a; ~if (_root.wn4._x>540) { $ j4 \8 |' z% ^8 G7 C, @& \_root.truewinner = 4;0 W, O2 h6 W3 f f" g2 V, d } . \8 r7 ]3 z; e//判断哪只蜗牛到了,到了就改变truewinner的值,纪录哪只蜗牛获胜' w/ q) n3 R* n) p if (_root.truewinner != 0) {2 R4 Q$ U) }# Z( Z" C if (_root.guesswinner == _root.truewinner) { / w& F, c) n, N% @) V _root.gotoAndStop(4);* f( @ c# m' u7 W" O6 W } else { N: v9 N7 s2 } _root.gotoAndStop(5);2 w: t* g3 K* d* T3 X& I }3 i/ Q0 v) F! [/ G4 I } else { % b/ `- z' B. @' V_root.gotoAndPlay(2);' L; W' y, j# Q8 O; M8 b+ X }. v. g5 g% x3 f6 M /*-------------------------------------------- ! ]3 ?) |- A+ y5 A2 G) m6 Z+ J 判断truewinner的值,如果被改变了,说明已经有蜗牛到了% `6 m) ]/ X: u; q" d2 G5 I4 S1 l 如果还没有改变,说明蜗牛们还没到。 E: H" T4 v6 d$ R0 ^7 O* _ 如果没到,就把_root的指针跳到第2帧,让他们继续跑,如果到了, " V: {8 w# \4 v1 O0 I判断玩家压的那只和真正到的那只是不是一样。如果猜对了,让时间+ u* H) C) [" P 指针跳停到第4帧,否则跳停到第5帧。9 r% G0 }" I6 x9 m# O ---------------------------------------------*/( l) C6 x9 J% r3 T8 Z# S0 O0 P 仔细理解一下流程,应该不难 9 B% [8 N( A- ]6 F0 m ~) y+ K接下来是按钮上的AS: 7 X# |6 @* _( C' D第1帧的按钮 0 @. a% A. n2 b3 K" Z% Oon(release){ " W3 G8 w0 G# c. r0 n_root.play(); ! o/ U8 \' d3 W3 m_root.guesswinner = 1;9 d% E* ]* h6 h b- k; i8 Y } 8 |6 e5 ?1 ^* a2 Z第一只蜗牛旁边的按钮上面的as。松开按钮后,指针跳到第2帧,然后纪录变量guesswinner为1(猜第1只)。: C; u m" Z. Y0 R- \9 l+ F) t0 B 其它蜗牛旁边的代码类似,就是纪录变量guesswinner值为相对应的 2、3、4 5 O3 K: E, Q1 c/ X$ M最后一个按钮,用来重玩的。( A- [1 `( W& z0 O on(release){ + R% u$ R- w. l( [_root.gotoAndStop(1);9 d$ |$ |2 ^& ?) s: L2 ~& q3 S8 F _root.wn1._x = 25;//蜗牛1号回起点 0 v$ u- x J) ^5 a6 U- O_root.wn2._x = 25; 8 j5 E5 l# Z7 q& A) m# g_root.wn3._x = 25;8 W6 p, j( r" f% f+ T+ k* H _root.wn4._x = 25;! Q; ]8 M/ F' a/ X }' Y+ x* i. \5 M& q5 k- D 全部看明白了吧?嗯,看看我做的 # q2 r# K# H* t* r6 t X6 p这里我就不给源文件了,大家自己动手做做,很有成就感的~ 8 y4 F+ t( R& o# I4 S1 U1 z1 q(完)

6 j# n+ o8 M" r2 P2 R- W2 y

8 \! D! D- g, }3 D9 Q* `; ?+ \ [

# i/ c' J# I% Y5 K2 K
[此贴子已经被作者于2004-12-16 18:28:40编辑过]

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

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

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

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

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

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

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

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

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

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

本版积分规则

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

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

GMT+8, 2025-1-19 03:04

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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