插入对象
平铺壁纸
首先我们来为游戏添加背景。使用Construct 2里的Tiled Background对象(平铺壁纸相信大家都很熟悉。通俗点,就是一个图片可以向四方重复粘贴,和网页背景图类似,能防止游戏在加载时因图片太大而减慢速度),下面官方提供了素材——背景图,右击另存到你的计算机里:
现在,在layout画布里双击,弹出插入对象对话框。在该对话框中双击Tiled Background对象。
这时,鼠标指针形状变成了十字形,你可以在布局的任何位置点击,我们在布局中间差不多位置点击,弹出Texture editor对话框,我们点击打开文件夹图标,把刚才保存的背景瓦片载入。
接下来单击对话框右上角X关闭对话框,如果提示保存图片,请保存!现在画布上出现了背景瓦片对象。选中它,在左边的Properties Bar属性面板里设置它的position位置为0,0(左上角),以及它的size大小为1280,1024(画布的大小)。
背景创建完毕,你可以按CTRL+鼠标滚轮来放大缩小,或者点击view菜单-zoom命令来查看整体效果,你也可以按住space空格键,或者按下鼠标中键,来平移画布,很类似PS的操作。你也可以按CTRL+0或者view菜单-zoom to 100%命令来恢复画布1:1的视图模式。
添加层
接下来,我们来添加更多的对象。首先我们先去把背景瓦片对象锁定了,这样才不会被我们再次选中,和PS,FL里的锁定一样。
画布由多个层组成,我们可以在不同的层放置不同的对象,可以通过调整层的上下顺序来调整对象的前后显示,层可以被隐藏或者锁定,平滚特效等。背景瓦片放置于最底层,其他对象如玩家,怪物,NPC等放置在上面的几层。
我们可以通过Layers tab来管理层,和Project bar工程面板在一个选项卡中。
在层面板中,我们可以看到背景层的序号为0,Construct2是从0开始计算,和编程类似,选中背景图层,点击pencil图标将背景层名字更改为Background。并点击Background图层的锁图标将锁定本图层。接着点击绿色的+号按钮添加一个新图层“Main”。
接下来请保持图层Main处于选中状态,接着我们将把对象置于该图层。
回到画布中,同样双击插入另外一个对象,这次我们选择Mouse对象,我们需要鼠标输入控制。同样的添加Keyboard对象。
注意:这些对象不需要置于画布中,他们是隐藏的,自动在工程中起作用,现在工程中的所有层都可以使用鼠标和键盘输入控制了。
游戏对象
是时候来添加游戏对象了,如玩家角色,怪物角色,子弹,游戏特效等。下面是本例中要用的图片:
玩家:
怪物:
子弹:
爆炸特效:
在CT2中,游戏中这些对象,我们将采用sprite(RPG中好些人称为精灵,在flash里成为元件)对象来置入。该对象用来显示图片(纹理,图像设计专业说法,在CT2里可以就认为图片),还可以移动,旋转或缩放。
接下来依次插入上面的几个对象,插入过程如下,和上面的操作一样,大致如下:
1、双击插入新对象
2、双击选择Sprite对象
3、当鼠标变成十字,在画布中点击
4、弹出对话框,点击open 图标,加载四张素材图片中的一张
5、保存并关闭对话框
注意:如果你觉得这样的操作方法太慢,繁琐,你可以直接把图片拖入到画布中,和PS操作差不多,Construct2会自动为该图片创建Sprite对象。
移动子弹和爆炸对象到画布外,这样游戏一开始,我们看不到这些对象。
默认CT2会自动把我们的对象命名为Sprite,Sprite2,Sprite3,Sprite4,我们可以在他们各自的Properties bar属性面板里的Name属性里更改。依次更改Player,Monster,Bullet,Explosion(玩家,怪物,子弹,爆炸特效)。
添加行为
Behaviors类似于flash中的行为(动作),是预先封装的功能函数。例如,我们添加一个Platform行为给一个对象,添加Solid行为给地板,游戏运行时,该对象就可以象platformer游戏(例如:超级玛丽)中的角色一样跳来跳去。你也可以通过事件来达到同样的效果,但是这需要较长的时间,而且该预置的行为已经很好。
Construct2具有以下行为:
8 Direction movement: 这个行为可以让你实现给角色添加方向移动(方向键)的功能。
Bullet movement:这个行为让对象朝着它当前的角度移动,比如,本例中玩家射出的子弹的移动行为,不要被这名字迷惑了,它不只适用于子弹,也可以应用于怪物等移动。在Contruct2里所有的移动行为都是通过添加速度向前行进。
Scroll to:这个行为可以让运行时画布随着对象移来移去(滚动)。这个行为很适合于角色。
Bound to layout:这个行为可以防止对象离开画布区域。这个行为对于角色来说也很重要。
Destroy outside layout:当对象离开画布区域时,就将其销毁。比如本例中的子弹,如果不销毁的话,虽然子弹离开画布区域了,但是依然暂用内存。所以我们需要及时销毁不再需要的对象。
Fade:这个行为可以给对象添加淡出效果,用于爆炸等特效的消失。
接下来我们就来给对象添加相应的行为。
如何增加行为
我们给角色player添加8 direction movement行为:选中player,在properties bar属性面板里,找到Behaviors分类,点击Add/Edit弹出Behaviors行为对话框。
在对话框中,点击绿色+号-添加行为图标,在弹出的“Add behavior”对话框中双击8 direction movement。
接着以同样的方法给player添加Scroll To和Bound to layout行为,此时"player:Behaviors"对话框如下:
关闭行为对话框。点击运行查看游戏!此时我们已经可以移动角色,屏幕也跟随角色移动,而且通过设置Bound to layout行为后,角色也不能移出画布区域。
希望你安装了兼容HTML5的插件,另外,请确保你是使用最新版的火狐,Chrome,或是 Ie9。一旦你的游戏运行后,请确保你可以用方向键移动玩家,而且银幕会随着玩家移动! 而且你不能使玩家走出画布。
添加其他行为
我们以同样的方法给其他对象添加相应的行为如下:
-给Bullet对象添加Bullet movement和Destroy outside layout行为。
-给Monster对象添加Bullet movement行为。
-给Explosion对象添加Fade行为。Fade行为默认会销毁对象,所以不用担心对象有没有销毁。
此时,我们再运行查看游戏,会发现怪物一下子就飞出