如何在construct3上开发游戏&游戏展示
前言
为了提升游戏体验而制作出一种快乐的游戏模式。
step1.背景图设置
以贴近游戏主题为目标,我们首先重新绘制背景图,并更换为充满生命力的绿色草坪。如图
双击Wall,导入背景图

关掉背景编辑器,背景修改完成

step2.添加新元素
双击空白处,选择出现界面中的Sprite创建元素

此时页面不会有明显的变化。再次单击页面空白处的左键,打开动画编辑器窗口。随后,将要添加的元素图像导入到编辑器中,最后关闭编辑器窗口。

在关闭之后,在项目列表右上方找到新创建的元素,并单击左键以进入属性设置并调整相关参数。例如,请调整名称、大小等参数。请注意此处的操作将影响所有实例对象,请确保仅在场景所需范围内进行更改。

此处因'豌豆射手'功能被定义为'炮台'而需进行操作,在软件界面左侧菜单栏中定位到'豌豆射手'功能项后执行右键点击进入属性设置界面,并新增并选择相应的动作类型作为'炮台类'的行为即可完成操作。该操作完成后如图所示

此时再回到左侧属性处修改炮台的属性值,如图

"冰霜射手"类型的僵尸与"寒冰射手"僵尸在创建机制上存在差异就不多赘述了。
值得注意的是:
- 僵尸的具体行为模式包括"寻找路径"以及具有"闪烁效果"
- 子弹的添加行为即为"子 弹"
- 新建元素时生成的实例对象不能删除
- 因此建议避免删除这些实例
- 这样做是为了确保后续操作能够顺利进行
此处我还添加了其他4个对象



plant1,plant2用于后面点击购买植物操作,“begin”:开始游戏,“pause”:暂停出怪
好了,现在基本元素添加完毕,可以进入最激动人心的环节了-游戏设计。
step3.游戏设计
先说下设计的蓝图。
僵尸:出现速度和生命值都随时间的增加而增加,当僵尸到达终点,会随机销毁一个豌豆射手和一个寒冰射手;
豌豆射手:攻击僵尸,减少其生命值直至销毁僵尸;
寒冰射手:更强大的攻击能力,更快的攻击速度,更广的攻击范围,同时带有减速效果;寒冰射手可直接购买也可以由豌豆射手升级得到
此角色的设计与《植物大战僵尸》中的设计有所不同。然而,这也正是参与游戏创作时带来的愉悦感。
完成了一项初步规划后,则可以进入实施阶段;此时可以说construct3对新手非常友好。无需学习全新的编程语言;同时也不必费力地编写代码。
首先新建分组;科学的分组可以让游戏逻辑更加清晰明了;这里将僵尸和两种植物的实现方式分别处理。

主要涉及游戏控制逻辑方面进行处理:
初始化全局变量Begin,在游戏运行初始阶段将其设为True状态,并在随后的游戏暂停状态下将其设为False状态。

具体实现:向"Enemy control"触发点执行操作——首先触摸对象;然后选择目标对象为"Begin";最后完成操作;接着执行以下步骤:将变量"Begin"设为布尔值True并完成;这样就成功配置了一个触发器;Pause事件的创建方法与此相同
实现僵尸行为:
在游戏运行过程中每隔一段时间就会自动生成新的僵尸单位;而‘出怪’指的是在游戏中自动生成这些怪物。随后这些实例对象将移动到预定的目标位置。具体来说,在创建完成后这些实例对象将会根据设定好的初始速度、加速度以及最大限制的速度来规划路径。完成以上设置后,在后续的游戏循环中会自动控制这些怪物沿着设定路线行进。

为了降低游戏难度,这里设置了每隔EnemySpawnTime秒金币加1。
在方法中新增多个条件时,请执行以下操作:单击现有条件框->依次选择并新增其他所需条件。当需要执行某项操作时,请按照以下步骤进行操作:首先选择操作目标->然后设置目标的操作参数->最后调整相关参数。请特别注意对‘系统’对象的操作。建议避免直接输入具体数值用于坐标设置。这样做不仅可以减少潜在错误风险,还能提高程序运行的稳定性。
僵尸生命值的生成速率随着时间加快;实现:每隔一段时间 health 值递增,并降低 EnemySpawnTime间隔。

僵尸被攻击者攻击

僵尸达到最终目标后退出系统;其中一项具体措施是通过程序手段对僵尸实例进行彻底删除,并在程序流程图中对应环节触发后完成对豌豆射手和寒冰射手实例对象的自动销毁

豌豆射手的实现
当被放入场域时,在对准目标后释放弹药;若在攻击范围内无目标,则销毁弹药。

首先需要确认资金是否充足,在场景中添加豌豆射手后会触发相关逻辑判断。具体来说:
当尝试在场景中添加豌豆射手时,
plant1会被设为true的同时,则应将plant2设为false。
完成操作后,在场景中点击以生成相应的实例对象。
此时系统会自动将plant1重置为false,
并相应地减少可用资金。
如果发现目标位置已有单位存在,
则视为本次操作未成功完成,
系统会返回相应的金额信息并销毁当前对象。
由于销毁对象时无法区分原有与新创建的对象,
因此系统会在这种情况下同时清除原有和新创建的对象,
并建议重新发起操作。

寒冰射手的实现
寒冰射手的实现跟豌豆射手几乎一致,所以直接附上实现

关于得分,金钱数以及购买界面

购买界面的图片即为plant1, plant2:添加元素后的实例对象可以直接放置在目标位置就不再需要考虑其他问题了
通过双击空白处左侧键并选择Text选项后,在新生成的文本框中进行编辑即可。对于无需更改的内容,则直接完成设置即可;而对于实时更新的内容,则可通过进入事件编辑界面后添加事件来实现,在此过程中系统会自动在每一帧更新文本内容。

现在,一个新的小游戏就完成了。
全面了解整个流程后,是不是感觉开发小游戏其实并不困难?赶紧动手实践一下吧~
下面作者提供一个植物大战僵尸塔防版的游戏链接,请亲身体验一下体验感~
植物大战僵尸塔防版
