Construct 2 制作游戏心得

Construct 2 制作游戏心得


学号:16340081
本人学院


目录


1. 初次接触

一脸懵逼

首先网址上有教材,但忘记调成中文版,结果很多句子完全看不懂,复制到翻译器里,翻译出的句子也很乱。然后就看教程里的少量图,打开construct 2 自己摸索。但construct 2也是英文的,依然看不懂,然后不相信把layers和projects的面板关掉了,不知道在哪打开,重启construct 2依然没有出现,这两个面板没有都无法跟着教程操作了,整个人一脸懵逼。

沉下心来摸索成长

在一脸懵逼之际,我还是选择沉着攻克难题,其实我只是不适应英语而已,但静下心还是看得懂的。另外layers和projects一定可以打开,因为这个软件不可能让人关了就打不开。我就在View一栏终于找到了layer bar 和project bar。在前面打个勾就可以显示了。在一番摸索后发现其实construct 2还是很简单的一个软件,大概知道了它的功能,开始跟着教程做游戏了!

照葫芦画瓢后的收获

接下下就是跟着教程一步一步来了。新建任务,添加background,添加layer,添加sprite,再到event sheet里添加事件。再添加instance variables添加分数存档。游戏就基本做好了。当然,我也遇到了很多问题,首先我看的是英文教程,很多单词都要搜一下再自己翻译1,然后根据construct 2猜测大概意思,比较耗时间。其次是经常找不到教程里说的东西,原来是我没点击要操作的目标,所以properties里显示的是另一个目标的参数。不过在一番艰辛下,我对construct 2和制作游戏的过程基本了解了。

2. 尝试自创游戏

探究construct 2 的功能

我在之前的模仿中已经知道了construct 2 怎么使用,但要自创游戏首先要弄明白它具体能干什么。首先我倒event sheet看了能设置什么事件,发现construct 2 这个软件真心不错,分类很详细,比如条件分为angle,animations,collisions,instance varibles, position或键盘按下某个键,鼠标点击左键或右键,系统every tick等,而动作分为8 direction,angle,instance variables,music,position等,这样我很轻松就能在这些分类下面找到我需要的功能。然后我又研究了properties里的behaviors的种类,寻找我可能需要的功能:8 direction,bullet,solid,fade,scrollto。这些功能基本能满足大部分小游戏的需求。根据我对construct 2 功能的探究,大概知道了能做什么样的游戏。

第一个失败的游戏

一开始觉得僵尸危机这个游戏不错,感觉做起来应该不难,而且也挺好玩,便决定试试看。根据教程里的animation frames的功能,我找了4个角度的人物图像。并在event sheet里设计keyboard on up arrow pressed player set animation frame to 1 等分别对应上下左右4个角度的人物图像。僵尸设计的是自动朝着人物走,所以设了8个角度的图,并且设计僵尸朝什么方向走用对应的图,效果是人和僵尸是以图平移,两只脚不摆动,看起来很别扭。所以放弃了这个游戏,但在做这个游戏过程中,我对construct 2 有了更深的了解,感觉做个小游戏大体过程都一样,就是在做的过程中发现难题,寻找解决这个的方案,来实现需要的效果。

再次尝试

由于一开始教程指导的游戏是视角是俯视的,所以我决定也做个类似坦克大战的俯视类型。具体过程都差不多,但遇到两个难点,第一个是设计simulate 8 direction,因为游戏是双人游戏,而8 direction 默认是方向键,所以要用wasd模拟,但做好后发现坦克无法走,只是变方向,检查后发现在8 direction 设了最大速度和加速度,但不明白为什么走不了。把event sheet检查了很多遍,都觉得没问题,在浪费大量时间找问题后发现是条件写错了,是key is down而不是用on key pressed。在construct 2 分类详细以至看名字就知道功能的情况下,想当然的把这两个弄混了。第二个难点是设计子弹撞墙后能按反射定律反射,条件设好了bullet on collision with wall 因为angle这个功能是第一次用,所以一开始是用set angle 发现不行,查了一下rotate的意思后决定用rotate toward angle,但问题是射入角度不同,回转角度也不同,所以不能预定回转到哪个角度。最后选定了rotate clockwise和rotate counterclockwise,画了一下图,设计了当与上下方向的墙碰撞后子弹顺时针旋转2倍的当前角度,发现并不是按预想的反射,才发现0度其实是水平向左,所以应该是逆时针。接下来设计当与左右方向的墙碰撞后顺时针旋转180°-2倍当前角度,这时庆幸发现了0°的方向,不然又要算一次(虽然不难)。最后游戏做成功了,虽然玩起来质量与4399里的小游戏是不能比的,但至少是个完整的好游戏。

3. 心得体会

用construct 2 制作游戏或许并未用到我们学的编程知识,但我却从中学到了许多。在看教程与摸索的过程中,我逐渐的适应了英文,不再像刚开始那么厌烦。在event sheet设计的事件也更严密了,不断的调试看看需要条件,产生什么action来打得游戏效果。对以后自己真正的打代码写游戏积累了一层经验。我也明白了制作游戏,需要新奇的想法提出方案和足够的耐心面对困难。

附加2

任意R进制数转化为10进制数公式

aR=(an1a1a0a1am)R=an1Rn1++a1R1+a0R0+a1R1++amRm=i=mn1aiRi

scanf()的格式说明

格式符 格式说明
d 十进制整数
o 八进制整数
x 十六进制整数
c 字符数据
s 字符串数据
f 实数,可以用小数形式或指数形式输入


  1. 已经对翻译器绝望了,只好查单词自己翻译了。
  2. 为了完成要有一个公式和表格的任务,强行插个附加,大家可以无视。我也没辙。

猜你喜欢

转载自blog.csdn.net/huang_j_j/article/details/52742736
今日推荐