写给小白的Construct2入门级开发指南

时间:2024-03-26 16:49:26

Construct2是由Scirra有限公司开发的一款跨平台HTML5游戏引擎。Construct2的优势就在于入门简单快速上手,即使是对编程一无所知的人也可以用它很快地做出作品来。它的功能确实不如Unreal, Unity等游戏引擎强大,但是那些更强大的引擎的入门门槛也更高一些。下面就简单来讲讲Construct2的使用方法与开发流程。

一,插入物体与添加图层

通过双击layout,点击插入背景图层,导入图片,通过*缩放使图片覆盖图层。顺带一提,Construct2采用了类似Photoshop的图层处理模式,以实现物体与图层的叠放式分隔处理。

写给小白的Construct2入门级开发指南


点击Sprite以插入物体,还可在左侧状态栏修改物体的属性

写给小白的Construct2入门级开发指南


写给小白的Construct2入门级开发指南

右侧layer栏中可创建新图层,锁定图层,使图层可视化,类似Photoshop的操作方法

写给小白的Construct2入门级开发指南

二,添加行为

右击对象,即可添加行为。

如红圈行为可让对象按方向键移动。

写给小白的Construct2入门级开发指南

Behaviors类似于flash中的行为(动作),是预先封装的功能函数。例如,我们添加一个Platform行为给一个对象,添加Solid行为给地板,游戏运行时,该对象就可以象platformer游戏(例如:超级玛丽)中的角色一样跳来跳去。你也可以通过事件来达到同样的效果,但是这需要较长的时间,而且该预置的行为已经很好。
Construct2具有以下行为:

8 Direction movement: 这个行为可以让你实现给角色添加方向移动(方向键)的功能。
Bullet movement:这个行为让对象朝着它当前的角度移动
Scroll to:这个行为可以让运行时画布随着对象移来移去(滚动)。这个行为很适合于角色。
Bound to layout:这个行为可以防止对象离开画布区域。这个行为对于角色来说也很重要。
Destroy outside layout:当对象离开画布区域时,就将其销毁。
Fade:这个行为可以给对象添加淡出效果,用于爆炸等特效的消失。


三,事件

首先,在画布区域上方的选项卡上切换到Event sheet1事件编辑器面板,一个列表的事件被成为Event sheet事件表。游戏的不同部分可以拥有不同的事件表,事件表同样可以"include"包含即导入(编程里的概念,不懂就无视吧)其他事件表,这样可以重复利用事件表,目前我们不需要这些功能。

关于事件

Construct 2整个系统运作是基于事件系统,大多数显示器帧频为60帧/秒,为了匹配显示器达到平滑的显示效果,Construct 2也设置了差不多帧速率。所以事件表通常是一秒钟运行60次。每次都会更新屏幕相应发生变化的区域。事件表运行时的顺序为从上往下,所以靠上的事件先运行。

条件、动作、子事件

事件包含条件,测试某些条件是否满足,例如,Is spacebar down?(检测空格键是否按下)。如果条件满足了,那么事件的动作将会运行,例如,Create a bullet object创建一个子弹实例。当动作运行后,任何子事件也会运行,这样可以测试更多条件,运行更多的动作和更多的子事件等。使用该系统,我们可以为游戏或程序创建更多负责的功能。本例中,我们不需要该功能。

四,实例变量

Instance variables实例变量允许每个怪物存储它自身的生命值。一个变量简化了说就是一个可以改变的值。他们单独存储,分别带他们相应的实例。

我们来为怪物添加health实例变量。在工程或对象面板选择怪物monster(注意monster的意思就是怪物,本教程翻译的时候好多地方都是这样注释的,因为实际制作中我们是用英文的)。亦或,在画布中选取monster怪物对象。这样属性面板呈现的是怪物的相关属性。在properties bar属性面板的Instance variables分类下点击Add/edit。

五,最后一步

教程接近尾声了,我们再添加一些功能并总结。
添加如下事件:
条件:System->Every X seconds->3

1 //添加系统事件每3秒启动

动作:system->Create object->Monster,layer 1,1400(for X),random(1024)(for Y)