用Construct 2制作游戏《是男人就上1000分》


前言

Construct 2是一款2d游戏制作的工具,它犹如一个黑箱子将实现游戏的代码转化成明了易懂的形式,让无编程基础的小白也可以迅速上手这款工具,而这点我也是有很深的体会的,拥有一个想法,一款工具,便能简单实现游戏的制作,这真是极好的呢!


游戏最终效果

3D3od.md.png

3DGFA.md.png


游戏机制

  1. 玩家作为红色小方块,可以8方位移动但不能移动出边界,具有初始的三点生命值,与蓝色方块触碰便会扣除一点生命。
  2. 蓝色小方块作为所谓的怪物,会不断移动,每次超出边界便会以玩家坐在位置为方向返回,同时每两秒会随机改变一次运动的方向。
  3. 绿色小方块作为生命块,玩家与之接触便能回复一点生命,移动机制与蓝色方块类似,没有每两秒改变方向的设定。
  4. 得分系统,每1秒增加三点积分,玩家每吃到一次生命块增加10点积分,玩家每与蓝色方块触碰便会扣除5点积分。
  5. 整体,随着时间的进行游戏也会增加难度,每4秒会在地图上的随机位置生成一个蓝色方块。每次吃掉一个生命块,会地图上的随机位置生成另一个生命块。
  6. 界面,游戏直接开始,在界面中央显示得分与生命值,游戏结束后,界面中央显示“GAMEOVER”字样以及重新开始按钮。

事件单展示

3DUQf.md.png
3DjmD.png


游戏机制的实现过程

Tips:以下每点对应上文中的游戏机制中的每点

1

红色小方块的移动

先在界面右下角的object栏中右键之前创建的红色小方块,选择behavior为其添加行为。
3DDoj.png
为了实现8方位移动,以及无法超出边界,可以添加以下2个行为。
3DBwQ.png

生命值系统

为了给玩家赋予初始值为3的生命值,需要在event sheet 中设置一个全局变量health
3DyYn.png
设置事件:当红色方块与蓝色方块接触时
3DL6K.png
health变量扣除一点3Dql6.png

2

蓝色小方块的移动
  • 要实现移动这一目标,要在上文所说的object栏位右键蓝色方块对象,选择behavior,为其添加bullet行为。
  • 要实现超出边界往玩家方向返回这一行为,需要设置事件:
    3rEnS.png
    并添加事件发生时产生的行为,如下
    3rV0g.png
  • 要实现没两秒随机改变移动方向,需要设置事件,并添加行为如下
    3rmkj.png

3

绿色方块回复生命

要实现这一点需要设置红色方块与绿色方块接触的事件,这里与之前和蓝色方块接触有不同的地方,与绿色方块接触之后,绿色方块需要消失,所以在依葫芦画瓢的基础上要在事件发生时添加一个新的行为:destroy行为3rQ10.png

绿色方块的移动

与蓝色方块别无二致,在此不赘述。

4

得分系统
  • 首先要想上文般添加一个全局变量score
    3rd91.png
  • 每秒加3分的实现,需要设置一个每1秒事件,并添加行为:
    3rUhR.png
  • 其他,需要在上文已设置的,红色方块与蓝色以及绿色方块接触的事件中添加为score变量减或加上一个数的行为,类似生命值系统中那样。

5

物品的生成
  • 蓝色方块的生成,为了达到每4秒在地图上随机生成一个蓝色方块,并且使这个蓝色方块像其他方块一样朝向随机方向运动,需要设置一个每4秒事件,并添加以下行为:
    3rrnO.png

    此处的random(854),random(480)的意思便是随机在纵坐标0到480,横坐标0到854的范围内生成方块,而这个480和854便是我们的窗口大小。
    而通过事件单展示中我们可以看到我们已经设置了全局事件,并添加了给蓝色方块一个随机angle的行为,再加上蓝色方块自身具有bullet行为,因此生成出来的蓝色方块也会像其他方块一样运动。

  • 绿色方块的生成则需要在红色与绿色方块相碰的事件中添加与上文类似的行为即可。

6

字体显示

添加字体:双击图层界面,选择text便能在图层中添加字体,同时能在软件界面左边栏中改变选择对象的属性,比如设置字体,以及设置字体的可见性之类的。
字体的消失与出现:在event sheet中的相应事件中添加行为,类似:
3rgNd.png
其中,visible为可见,invisible为不可见
而字体在得分的改变,以及生命值的改变的同时也要改变,因此需要在有关的事件中添加行为如类似下图
3rf3t.png
使得每改变一次数据就会即时通过文本展现出来

这里还要提醒一点,由于字体显示机制的原因,若显示的字体比文本框要大,字体便不会显示,因此在设置字体的时候还要注意将文本框预留出足够大的位置,否则可能会出现当得分的位数过高,超出文本框而导致文本消失的情况。

重新开始按钮

按钮为replay字样,用鼠标点击就会使游戏重新开始,要实现这一点,首先要为游戏假如鼠标模块,双击图层界面3r24A.png
并在弹出的窗口中选择mouse并insert。此时游戏便假如了鼠标模块。
这是就可以在event sheet中添加有关鼠标的事件,并添加行为使得游戏重置,如下图
3rW9I.png

在这里我们添加了2个行为,一个是将图层重新开始,即使画面回到最开始的样子,一个是重置全局变量,倘若此时没有重置全局变量,我们会发现即便重新开始了游戏,得分也会接着上次游戏的得分。


尾声

当然在这短短的博客中无法将制作游戏过程中的所有细节展示出来,比如图层的运用与元素要放置在哪个图层效果最好这样的问题,在文章中都没有展示。但这并不代表它不重要,一款好的游戏需要注重的正是这样的小细节,而这也是让一款游戏脱颖而出的关键点。

最后的最后

附上一张证明我是男人的图片
3rhgP.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值