基于Cocos的猫狗大战

猫狗大战

  • 游戏类型:塔防游戏
  • 标签:卡通、休闲、2D、塔防、闯关
  • 引擎:Cocos Creator
  • 语言:JS
  • 作者:未生畏死
  • 注:美术资源来源于网络

游戏玩法:

  一共有两种玩法。其一:在怪物到达堡垒前杀死它,否则堡垒会扣一点血。怪物消失。其二:怪物会沿着路循环移动,请在规定时间内杀死所有怪物。

场景描述

一共三个场景。

  • Main:主场景,可开始、退出游戏。
  • Opt:选择场景。可进行选关操作,返回Main场景。
  • Pass1:游戏场景。加载对应关卡数据,生成对应物体,开始PLAY。

功能描述:

  • 猫:堡垒。10hp。每有一只AI到达猫的位置时,hp-1。hp<=0时。游戏失败。循环关卡则hp恒定。技能:尖叫。消灭自身一定范围内的AI。
  • 狗:出生点。所有AI的生成位置。
  • AI:沿着路径移动,到达猫的位置时如果是普通关卡。猫hp-1,AI销毁。如果是循环关卡,则沿着路径继续移动。
  • 炮台:炮台最高三级,每升一级会获得一定的属性提升。炮台会自动攻击在自己攻击范围内的敌人。可进行操作:创建、升级、售卖。
  • 障碍物:占据地图位置的东西,拥有一定hp。只有将其清除后,才能使用其对应的格子进行炮台的创建等操作。消灭后,你会获得一定金币。
  • 金币:你会获得一定的初始金币来进行炮台的创建、升级。消灭AI和障碍物是金币的来源。
  • 标志物。你可以标记障碍物、使AI优先攻击他们。
  • 等等…
具体功能实现:

地图生成。加载关卡数据,生成对应地图、猫、狗等。


this.PlayPass = cc.sys.localStorage.getItem("PlayPass")
this.PlayPass = 1
window.stageMission = window.mission[this.PlayPass]
// cc.log(this.PlayPass)
this.missionLoad()//任务信息加载
cc.loader.loadRes("tilemaps/stage-" + this.PlayPass, (err, tiled) => {
if (!err) {
cc.director.emit("levelUi", this.PlayPass)
this.titledMap.getComponent(cc.TiledMap).tmxAsset = tiled
// cc.log(tiled)
// cc.log(this.titledMap.getComponent(cc.TiledMap))
this.init()
}
})


  • TiledMap数据解析

initData() {
this.mapSize = this.titledMap.getMapSize();
this.tileSize = this.titledMap.getTileSize();
this.road = this.titledMap.getLayer("road");
this.object = this.titledMap.getLayer("object");
this.tower = this.titledMap.getLayer("tower");
this.path = this.titledMap.getLayer("path");
this.obj = this.titledMap.getObjectGroup("obj");
this.tiledLayer = this.path
this.path.node.opacity = 0
this.life = this.obj.getObject("life");//线段路径层处理
this.chestpath = this.obj.getObject("chestpath");
this.pathline = this.obj.getObject("pathline");
this.end = this.obj.getObject("end");
this.ais
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值