construct2制做小游戏——抗疫大做战

construct2制做小游戏——抗疫大做战

 

测试连接:http://1.fengjingjing01.applinzi.com/kydzz/index.html
开发工具:construct2html

游戏介绍:鼠标控制人物方向,上下左右键控制玩家移动,鼠标左键发射针筒射击病毒,消灭病毒七个以上游戏胜利,玩家有三条命,三次以后尚未消灭七个病毒,游戏失败app

游戏运行效果截图:less

游戏开发制做步骤

  1. 制做背景
  2. 制做素材(玩家、针筒子弹、病毒怪物)
  3. 导入素材,场景布置
  4. 给玩家,针筒子弹,病毒添加行为
  5. 建立HUD图层,建立事件、实现交互
  6. 测试发布

1、制做素材

使用ps处理素材。dom

2、导入素材,布置场景

1. 建立工程 1.capxide

2. 添加背景,调节工程和背景至适当大小并将图层命名为bg(background)后锁定工具

再弹出的对象框中选击打开文件便可插入背景图片 开发工具

3.新建一个层Layers ,建立Sprite对象,将玩家,病毒,针筒子弹分别导入。测试

建立病毒对象时只建立一个就好,可利用 ctrl+拖拽试下对物体的复制字体

4.添加keyboard,mouse,touch(这些对象不会在画布中显示)spa

3、添加病毒、针筒、效果,并给病毒、针筒、效果添加行为

1. 给玩家,病毒,针筒添加行为

        

 

4、添加病毒、针筒、效果,并给病毒、针筒、效果添加事件

1. 事件1咱们将使player(发射口)一直看向鼠标,这样咱们点击发射子弹的时候,子弹将发往鼠标方向。

2.让角色能够射击。当玩家点击的时候,能够发射子弹。这能够经过Spawn an object动做来实现,子弹的Bullet movement属性将会使它向前飞出。

条件:Mouse->On click->Left clicked(the default) //鼠标->点击->左击(默认)

动做:Player->Spawn another object->For Object,choose the Bullet

//Play对象->产生另外的对象->对象,选择子弹层,输入1(“Main”图层),Image point(子弹的发射起点)保持默认为0。以下

3.添加怪物AI;当下怪物只会向右移动。咱们来让他们产生在随机的位置。

条件:System->On start of Layout //系统->画布启动时

动做:Monster->Set angle->random(360) //怪物->设置角度->0-360随机度数

Condition: System -> On start of Layout

Action: Monster -> Set angle -> random(360) 

4.  此时,怪物会移出画布,再也看不到,接着咱们再来修改,让怪物移动边缘处的时候,自动往回移动,而且添加智能,让怪物朝着玩家角色移动。

条件:Monster->Is outside layout //判断怪物是否要离开画布

动做:Monster->Set angle toward position->For X,Player.X - for Y,Player.Y

//设置怪物朝向角色的坐标。 再次运行游戏。此时你能够看到怪物在画布里朝着不一样的方向移来移去,最终都会朝着角色围过来。

5. 添加实例变量。Instance variables实例变量容许每一个怪物存储它自身的生命值。他们单独存储,分别带他们相应的实例。

咱们来为怪物添加health实例变量。number是指为3,意思是指咱们将怪兽的生命中设置为3.须要子弹设计3次之后病毒才会消失。

6. 设置事件Bullet-on collision with Monster.。选择Monster->Subtract from(in the Instance variables catrgory)->Instance variable "health",并输入值1。点击Done肯定。 如今咱们射击怪物时,当子弹碰到怪物,怪物生命值减1。同时一颗子弹打到病毒之后要消失,因此咱们添加子弹Destroy动做。

7.显示分数并存档。 右击事件表底部,并选择Add global variable。 输入分数变量名Score。其余字段默认便可,点击OK肯定。变量将从0开始计数。

starting at 0.

如今全局变量会呈如今事件表中:

接着咱们来添加动做,在Monster:health less or equal 0事件里添加动做System->Add to(under Global & local variables)->Score,value 1.

如今玩家就拥有分数了,每当怪物被杀掉,就能够增长1分, 怪物被杀掉之后就得消失,因此咱们还得给病毒添加Destroy动做

8.添加HUD元素。

HUD是游戏界面最上面固定不动的界面元素,显示玩家生命值,分数等其余信息。接着咱们来添加一个HUD,只有一个文本对象text object。

由于咱们要让HUD界面的对象保持固定不动,而Main图层咱们是须要跟随角色滚动的。因此新建一个图层HUD,设置parallax属性为0,这样该层就再也不滚动

在图层面板layers bar中新建一个层HUS。请确保该层在最顶上位置,并选中,而后在属性面板中设置Parallax属性值X,均Y为0,0。

在画布空白处双击插入对象,选择Text Object,放置于画布的左上角,咱们去更改字体大小,颜色等让文本看得很清楚。并经过调整杆拉伸文本足够宽来显示分数。以下:

切换到事件表中。咱们来添加动做让分数每帧能够更新。点击Every tick事件,添加动做Text->Set Text。

使用&文本链接操做符,咱们能够转换数字为文本并和文本字符串链接。输入以下:

"击败病毒数:" & Score //文本字符串 用双引号括起来,变量则不要。

9.设置当分数达到5的时候,弹出“战役成功”提示框。

添加系统事件点击Compare two values.进行以下操做。

   

在这个事件下,添加动做,给咱们的提示框设置Set visible.

  

10. 设置一个开始游戏页面。

新建一个画布Layout2。添加背景和对象。

开始游戏 按钮 我是用Sprite对象。由于系统自带按钮太丑了!为了实现点击这个按钮就能够跳到游戏界面咱们在Event sheet 2中添加以下事件

 

11. 设置当玩家碰到病毒会出现从新游戏提示。

新建一个画布Layout3。添加背景和提示框对象。在Event sheet 3中添加以下事件

回到Event sheet 1中添加以下事件玩家的生命值与前面病毒生命值设置同样。

这个事件的设置的意思是当玩家生命值≤0时玩家消失会跳转到开始游戏页面从新游戏。

 

5、测试发布

 

6、上传发布

1. 注册新浪云服务帐号,并建立一个新的sae云应用

2. 建立新版本后,上传代码包。即你以前导出的文件包压缩包。注意不要有中文,不然就会像我第一遍时执行错误。

点击在线编辑,找到index.html.右键点击经过URL访问便可得到测试连接。

相关文章
相关标签/搜索