《gamemaker中国砖块全中文图并茂详细教程.doc》由会员分享,可在线阅读,更多相关《gamemaker中国砖块全中文图并茂详细教程.doc(11页珍藏版)》请在金锄头文库上搜索。
1、中国砖块详细说明文档主体框架说明一. 图形素材背景等主要为原创 部分动画素材来自互联网 按场景分为主菜单和游戏使用两个主要目录 游戏目录包含需要的各个目录 分类如下图 (另包含2个原创菜单背景和游戏背景)二.声音素材来自软件自带素材及互联网 图三.物体结构 按需要和上面的几个目录安排基本一致四.场景安排 除主菜单一个场景 其余共6个游戏关卡五 制作流程 按本游戏制作顺序排列 确定主题 制作及搜集素材 整理入gamemaker(制作中根据需要再另选择制作及删除素材) 开始制作物体 选择及编辑动作 利用物体制作场景 最后统一物体 并制作主菜单游戏预览图(部分)六 物体详细制作说明 按目录顺序 物体
2、之间联系会重点说明菜单目录物体Dec_o1 这个是一个单纯的动画物体 建立后为其指定一个动画素材 然后在建立事件中放置一个动作 调整其动画帧(-1为循环播放)和播放速度 speed,0.3为接近正常速度的一个值 New_game_o 和exit_o 新游戏和退出游戏按钮物体 首先给两个物体指定文字图形素材 然后在事件中加入动作 因为文字按钮素材有2帧 以便当鼠标移动到按钮时和离开时产生不同的效果 所以我们需要在两个物体的Create创建事件中和Dec_o1一样加入一个动作 并设置速度为0让物体动画不是自动播放而是鼠标移动才播放切换帧效果然后我们在2物体中分别添加 鼠标移入和移出的事件 同样利用
3、change sp来设置不同的帧在mouse_leave中设置 这样就完成了鼠标经过按钮的变换效果在new_game_o的单击事件中设置跳入下一个场景在exit_o退出按钮单击事件中设置即先问问题“are you sure(确定退出吗)”,如果回答是则退出游戏(end the game)接下来介绍游戏目录中的物体 按照简单到复杂来介绍我们知道球是在一个房间里碰撞的 球碰到墙壁反弹效果在实际制作的时候我们需要制作虚拟墙壁物体 然后把它们的visible(可见)属性设置为隐藏即游戏时看不到但它们是存在的 再让球和这些物体在碰撞事件中发生动作 而在墙壁物体目录中我们就制作了3个墙壁 它们的属性中都一
4、样Visible没有钩选(隐藏的)solid钩选(为实体不可穿透)Wall_btm物体是底部的墙壁 当球撞击到此物体则失败1次 丧失一次机会 Wall_hide_o1和 Wall_hide_o2为横竖的仅产生碰撞的物体 这3个物体没有任何事件动作 它们的碰撞会在球中设置再看砖块目录其中有5个颜色不一样的砖块物体 就是球撞击的砖块组 制作完成后可以用这些砖块来自己组合成新关卡 这几个物体也没有任何事件动作 它们的碰撞在球中设置 注意其中有一个空的物体block_par这个是用来作父物体的 且上面五个砖块都属于这个物体的子物体它们的属性设置都为 就是说五个物体同属于block_par这个大类物体接
5、下来看道具目录 这5个物体就是球碰到砖块后随机产生的一些道具物体 接到后可以让球加速 变大 等道具 这些道具物体在球碰撞到后建立 建立后就开始朝下运动 所以在几个物体Create事件中设置一个向下速度我们设置一个1.5-3.5之间的随机速度 最小速度为1.5,在细讲道具物体后面事件之前 先介绍一下几个相关物体Ctr_and_Draw物体为控制开始新一局 和绘制分数机会信息的物体Bat_o为用来鼠标移动的滑板物体 用来挡球 ball_o就是运动的球物体继续道具物体 我们知道道具物体在没有接住的时候需要清除掉 所以在几个物体的与wall_btm事件中,都需要同样设置即建立一个特效效果 然后删除道具
6、本身再看道具物体中的事件,首先看这几个物体共同的几项这几项基本是相同的 都是播放一个声音 建立一个特效 然后再删除自己 然后再看每个道具物体在事件中各自的不同动作在item_o1中为,即说明这个道具用来调节球大小 可以看到作用给物体ball_o,在x,y方向上的缩放度均为原比例+0.3在item_o2中特有的为 可以看到设置为即此道具为改变求球的素材为ball_sp1在item_o3中为即把球的速度在其基础上+4在item_o4中为设置物体为other即是对象为bat_o(滑板物体的子弹数为5) 则滑板可以通过接到此道具发射5个子弹来射击砖块Item_o5中为 即可以加100分前面讲了接到it
7、em_o3后可以发射5颗子弹 那么子弹本身物体中的设置如何接下来看看 建立事件中设置物体朝上运动 速度为4与横着的墙壁物体物体碰撞后删除子弹自身在物体与block_par(所有砖块的父物体,也即代表所有砖块)碰撞后则产生一个特效 并删除自身和砖块(2个动作 删除子弹和砖块)接下来看最后3个也是最重要的物体Bat_o我们用鼠标来控制的滑板物体Create建立事件中设置图形素材并初始子弹数bullet量设置为0在step每步执行事件中如果条件(鼠标位置在80-566之间)成立 则把滑板的x位置设置为鼠标x轴位置 从而实现滑板跟随鼠标在一定范围移动 在与竖的墙壁碰撞时必须让滑板停止移动 所以设置一个
8、反弹动作(这里起的作用时让滑板停止移动)最后在鼠标单击事件中设置如下如果条件bullet0(子弹数0) 则播放射击声音 建立一个特效 并且释放一个子弹物体 把可用的子弹数-1.接下来看球物体在建立事件中设置图形素材为ball_sp2 并设置速度为10 且运动方向direction设置为45-90之间的随机数 在与bat_o碰撞时间中设置动作如下 建立一个特效 并且反弹 如果声音sd_1没有播放 则播放声音sd_1在和wall_hide_o1和o2里两面墙碰撞时动作设置相同为如下播放声音 以及反弹在和5个砖块碰撞的事件中 动作大致相同 播放声音 反弹 设置分数+个数值这个动作集为设置一个概率值说
9、明为(1/4概率)释放一个道具 不同的砖块和球碰撞后播放声音不同 得到分数不同 释放道具几率也不要同在球与底部墙壁撞击后事件中设置动作为播放声音 建立特效 下面这个动作集意思为如果当前场景只有1个小球(有时房间产生多个小球则漏掉一个并不算丧失一次机会) 则丧失一次机会:livers-1意思为当球调出去以后把控制物体ctr_and_draw物体的计时激活 35步后重新开始一个新局 建立一个新的小球最后把小球删除最后一个物体 控制物体ctr_and_draw建立事件中我们设置score分数为0Lives机会数为4次在定时事件中我们前面刚讲过是当条件livers0 (机会数0)则激活新的一局 建立一
10、个新的小球最后Draw事件中相对复杂先看前2个动作第一个代码里面语句为draw_text(640,175,string(score)在640,175位置绘制score分数文本 string用来转换数据变量为字符用ball_sp2的图形(球)方式再650,100位置来绘制机会数 接着下列动作说明如果条件 block_par的数目为0 即砖块被打光则绘制win_sp1图形(胜利)并且让小球的速度=0停止运动 如果此时点鼠标 则判断下一个关卡是否存在如果存在则跳到下一关Else(否则) 如果不存在下一关 则说明你一通关 显示对话框congratuation(祝贺你)并跳到主菜单接着如果条件lives=0(机会为0) 说明游戏结束则绘制图形 lose_sp1(失败图)接着动作如下此时(游戏结束)点鼠标则询问问题 重新开始关卡?如果回答yes则重新开始本关卡(利用代码room_restart()实现)否则显示Game over退到主菜单场景制作制作空房间 设置房间长宽为800x600 主菜单房间则从背景资源调用title背景如果为游戏房间则读取游戏背景制作过程 按自己的想法直接在房间防止物体 滑板 球 墙壁物体 即可完成制作(全部文档结束) By Gamemaker中国 liver 2006-5-30