测试连接:http://1.fengjingjing01.applinzi.com/kydzz/index.html
开发工具:construct2html
游戏介绍:鼠标控制人物方向,上下左右键控制玩家移动,鼠标左键发射针筒射击病毒,消灭病毒七个以上游戏胜利,玩家有三条命,三次以后尚未消灭七个病毒,游戏失败。app
游戏运行效果截图:less
使用ps处理素材。dom
1. 建立工程 1.capxide
2. 添加背景,调节工程和背景至适当大小并将图层命名为bg(background)后锁定工具
再弹出的对象框中选击打开文件便可插入背景图片 开发工具
3.新建一个层Layers ,建立Sprite对象,将玩家,病毒,针筒子弹分别导入。测试
建立病毒对象时只建立一个就好,可利用 ctrl+拖拽试下对物体的复制 。字体
4.添加keyboard,mouse,touch(这些对象不会在画布中显示)spa
1. 给玩家,病毒,针筒添加行为
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时玩家消失会跳转到开始游戏页面从新游戏。
1. 注册新浪云服务帐号,并建立一个新的sae云应用
2. 建立新版本后,上传代码包。即你以前导出的文件包压缩包。注意不要有中文,不然就会像我第一遍时执行错误。
点击在线编辑,找到index.html.右键点击经过URL访问便可得到测试连接。