Flash动画制作 贪吃蛇游戏
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
贪吃蛇游戏
• • • • • • • • • • • • • • • • • • • • • • • • else if (mup) { if (getProperty("/worm", _y) >= 8) { lastx = getProperty("/worm", _x); lasty = getProperty("/worm", _y); setProperty("/worm", _y, (getProperty("/worm", _y) - 16)); setProperty("/worm", _rotation, 90); } else dead = 1; } else if (mdown) { if (getProperty("/worm", _y) <= 392) { lastx = getProperty("/worm", _x); lasty = getProperty("/worm", _y); setProperty("/worm", _y, (getProperty("/worm", _y) + 16)); setProperty("/worm", _rotation, 270); } else dead = 1; }
贪吃蛇游戏
• • • • • • • • • • • • • • • • • • • if (Key.isDown( Key.UP)) { if (!../:mdown) { ../:mleft = 0; ../:mright = 0; ../:mup = 1; ../:mdown = 0; } } if (Key.isDown( Key.DOWN)) { if (!../:mup) { ../:mleft = 0; ../:mright = 0; ../:mup = 0; ../:mdown = 1; } } }
贪吃蛇游戏
• • • • • • • • • • • • • • • • • • • • 13最后,为worm影片添加动作脚本: onClipEvent ( keyDown ) { if (Key.isDown( Key.LEFT)) { if (!../:mright) { ../:mleft = 1; ../:mright = 0; ../:mup = 0; ../:mdown = 0; } } if (Key.isDown( Key.RIGHT)) { if (!../:mleft) { ../:mleft = 0; ../:mright = 1; ../:mup = 0; ../:mdown = 0; } }
• on (release) { • gotoAndPlay("initialize"); • }
贪吃蛇游戏
• 10.新建图层”蛇和苹果”,在第3帧插入空白关键帧,拖入 worm、 worm_tail、 food元件。实例名称分别为:worm、 tail1、 tail2、 food。在第6帧插入空白关键帧,输入静态 文本:Game Over!
贪吃蛇游戏
• • • • • • • • • • • • • • • • • • • • • • • • if (mleft) { if (getProperty("/worm", _x) >= 8) { lastx = getProperty("/worm", _x); lasty = getProperty("/worm", _y); setProperty("/worm", _x, (getProperty("/worm", _x) - 16)); setProperty("/worm", _rotation, 0); } else dead = 1; } else if (mright) { if (getProperty("/worm", _x) <= 392) { lastx = getProperty("/worm", _x); lasty = getProperty("/worm", _y); setProperty("/worm", _x, (getProperty("/worm", _x) + 16)); setProperty("/worm", _rotation, 180); } else dead = 1; }
贪吃蛇游戏
• • • • • • • • • • • • • • • • • • • if (Key.isDown( Key.UP)) { if (!../:mdown) { ../:mleft = 0; ../:mright = 0; ../:mup = 1; ../:mdown = 0; } } if (Key.isDown( Key.DOWN)) { if (!../:mup) { ../:mleft = 0; ../:mright = 0; ../:mup = 0; ../:mdown = 1; } } }
} if (dead) gotoAndPlay("game over");
贪吃蛇游戏
• 在第4帧输入动作代码:gotoAndPlay("game loop"); • 在第6帧输入动作代码:
• • • • • for(currenttail = 3;currenttail <= tails;currenttail++) { setProperty("/tail" add currenttail, _visible, false); } 在第`7帧插入动作代码:stop();
贪吃蛇游戏
• 11.新建图层“标签”,在第2帧插入空白关键帧,输入标签名: initialize;在第3帧插入空白关键帧,输入标签名:game loop;在第 6帧插入空白关键帧,输入标签名:game over。 • 12.新建图层”动作”,在第1帖输入动作代码:stop(); • 在第2帧输入动作代码: • mleft = 1; • mright = 0; • mup = 0; • mdown = 0; • food = 0; • tails = 2; • eaten = 0; • time = 0;
贪吃蛇游戏
• • • • • • • • • • • • • • • • • • • • • • • • if (eaten % 2 == 0) { _root.tail1.duplicateMovieClip( "tail" + (tails+1), tails+1); setProperty("/tail"add tails, _x, usex); setProperty("/tail"add tails, _y, usey); tails += 1; } } if (!dead) {
贪吃蛇游戏
• • • • • • • • • • • • • • • • • • • • 14为worm影片添加动作脚本: onClipEvent ( keyDown ) { if (Key.isDown( Key.LEFT)) { if (!../:mright) { ../:mleft = 1; ../:mright = 0; ../:mup = 0; ../:mdown = 0; } } if (Key.isDown( Key.RIGHT)) { if (!../:mleft) { ../:mleft = 0; ../:mright = 1; ../:mup = 0; ../:mdown = 0; } }
贪吃蛇游戏
• 注意: • 1、在拖入worm元件时,一定要将其放在 16*N+8的位置上,否则就不能跟food的坐 标保持一致的话就不能吃到苹果了。 • 2、修改发布设置:flash 5,版本为1.0
贪吃蛇游戏
• 一、作品展示及分析:
贪吃蛇游戏
• • • • 二、游戏制作步骤: 1.新建文档,600*410,背景色为#0066CC。 2.在图层1“背景”上绘制一个400*400的黑色矩形,再绘制一个160*385的黑 色矩形,调整成平行四边形。在第8帧插入普通帧。 3. 新建图“蓝色矩形”,绘制一个400*400的矩形,颜色#66ccff,插入点:0, 0。放置在黑色矩形上,形成阴影效果。也可直接复制,修改颜色后形成阴影 效果。同理,绘制一个平行四边形形成阴影效果。
贪吃蛇游戏
• 7.新建按钮元件new_game如下:
•
8.新建图层”小格子“:在蓝色矩形上绘制16*16的小格子,白色,线宽1。复制 更多的小格子,摆放整齐。每行25个,共25行。
贪吃蛇游戏
• 9.新建图层“右面板”,输入静态文本百度文库Worm!”及“Use
the arrow keys to comtrol the snake”,拖入arrow 和 apple元件。最后创建动 态文本框。变量名为eaten。拖入New Game按钮,添加动作脚本:
贪吃蛇游戏
• • • • • • • • • • • • • • 在第3帧输入动作代码: dead = 0; if (!food) { randomy = 16 * (random(25)); randomx = 16 * (random(25)); setProperty("/food", _x, (randomx + 8)); setProperty("/food", _y, (randomy + 8)); food = 1; tellTarget("/food") { gotoAndStop(2); } }
for(currenttail = 1;currenttail <= tails;currenttail++) { if (getProperty("/worm", _x) == getProperty("/tail"add currenttail, _x)) { if (getProperty("/worm", _y) == getProperty("/tail"add currenttail, _y)) { dead = 1; break; } } }
贪吃蛇游戏
• • • • • • • • • • • • • • • • • • • • • for(currenttail = 1;currenttail <= tails;currenttail++) { usex = lastx; usey = lasty; lastx = getProperty("/tail"add currenttail, _x); lasty = getProperty("/tail"add currenttail, _y); setProperty("/tail"add currenttail, _x, usex); setProperty("/tail"add currenttail, _y, usey); } fcurrentx = getProperty("/food", _x); fcurrenty = getProperty("/food", _y); wcurrentx = getProperty("/worm", _x); wcurrenty = getProperty("/worm", _y); if (wcurrentx == fcurrentx && wcurrenty == fcurrenty) { food = 0; tellTarget("/food") { gotoAndStop(1); } eaten += 1;
贪吃蛇游戏
• 4.新建元件food,在第1帧输入脚本代码:stop();第2帧绘制 一个苹果,调整尺寸大小为13.8*15.2 • 5.新建元件worm,绘制一个直径为16的绿色放射状圆形, 插入点为(-8,-8)。再绘制两条直线做为触角。 • 6。新建元件worm_tail,直径为16,放射状灰色,插入点为 (-8,-8)。