开发一款塔防游戏app系统软件
更新:2025-02-02 20:09 编号:30948829 发布IP:221.15.239.246 浏览:11次- 发布企业
- 河南漫云科技有限公司商铺
- 认证
- 资质核验:已通过营业执照认证入驻顺企:第4年主体名称:河南漫云科技有限公司组织机构代码:91410100MA472L6X7B
- 报价
- 请来电询价
- 漫云科技
- 开发一款塔防游戏app系统软件
- 关键词
- 开发一款塔防游戏app系
- 所在地
- 郑东新区升龙广场3号楼A座3202
- 联系电话
- 15515813000
- 漫云服务热线
- 15515813000
- 联系人
- 王乾 请说明来自顺企网,优惠更多
详细介绍
敌人
前面定义的startPoint作为敌人的出生点。生成敌人的方法为EnemyCrouched类,初始化敌人的血条,移动速度,攻击力,和等级。
继承基类Enemy_Level,Enemy_Level定义了添加方法、运动、和动画的更新。如果要多加一种敌人类型,再继承Enemy_Level即可,(项目目前只有一种敌人类型),而Enemy_Level也继承了公共类ModelCheck,这个公共类主要功能是修改位置、旋转角度、获取包围盒等功能。武器、子弹、敌人、水晶塔都继承了这个公共类。
生成敌人
创建敌人的时候遇到一个问题,本来想着节约渲染成本,只加载一次敌人模型,再使用clone()方法,复制出多个敌人,敌人模型包含了骨骼模型,在克隆模型的时候,骨骼动画和敌人模型复制了,两者的绑定关系没有复制成功,导致骨骼动画和模型不匹配,导致动画不生效,每次生成敌人的时候都重新加载了一下模型。
//骨骼在执行clone()时候,骨骼之间的位置和动画发生错位,每次重新拉一次模型,很不可取。
//可以重新克隆一个骨骼动画,并重新绑定骨骼动画和新的模型之间的关系
敌人动画
通过bindAnimite绑定动画可以将模型中提供的骨骼动画绑定到模型上并播放动画。
这里说一下Animation类,提供播放动画play、切换动画fadeToAction、显示骨骼createSkeleton,过滤一次性动画once比如跳跃,死亡,敬礼这种非循环播放的动画。更新动画upDate,这个方法接受一个镜头参数,如果将镜头参数传进来,可以实现镜头跟踪功能。
生成武器
生成武器通过点击操作栏对应的按钮进行。
关于武器的定位
在点击十字弓按钮后,将触发鼠标的射线检测,并将检测目标设置为地板,当鼠标移动至可放置模型的位置时,显示蓝色的框,如果检测到鼠标位置不可放置模型,则辅助色块变为红色,点击无效,需重新选择位置。
初始化武器
Crossbow_level初始化十字弓,Rifle_level初始化火炮。这两个类是区分不同的武器,并在初始化的时候加载武器模型并提供武器的upDate方法,这两个类都继承他们的基类Weapon。Weapon提供目标检测、射击等功能。Weapon又继承公共类ModelCheck为武器提供包围盒,尺寸和模型矫正的功能。初始化武器时有几个属性比较重要:武器系数coefficient、等级level这两个数值影响武器的子弹发射间隔,威力,和单价(包括升级的价格)。
基于setAnimationLoop做的定时器
这里介绍一下IntervalTime
.setAnimationLoop(callback:Function):undefined
callback—每个可用帧都会调用的函数。如果传入‘null’,所有正在进行的动画都会停止。可用来代替requestAnimationFrame的内置函数.对于WebXR项目,必须使用此函数。
requestAnimationFrame方法熟悉threejs的都了解,基于屏幕刷新率调用的,一般60次/秒,实现定时的原理很简单,调用一次的时候获取一次当前时间,用当前调用时的时间now减去上次存的时间lastTime,如果超过规定的循环间隔时间time调用一次回调,这时会将lastTime置为time,并进行新一轮的计时。项目中paodan发射间隔就是这么做的。当然,你也可以在threejs以外的项目使用。
子弹跟踪
武器在生成后会发射子弹,调用TransmitDiscards类。根据不同的武器生成不同的子弹,并在render中调用子弹类的upDate方法。子弹会跟踪检测敌人的位置,并找到近的敌人进行攻击,得到近敌人的位置和子弹发射位置,生成一条抛物线,开口向下,并让子弹沿着抛物线进行运动,直到子弹运动到终点,并利用敌人的包围盒检测子弹的位置,判断子弹是否进入敌人包围盒的范围。如果在范围内,敌人HP掉对应的血量,并销毁子弹。
武器升级
操作栏的功能区,提供了几个属性,区分放置、升级、销毁等功能
//存放全局变量的
前面提过,放置武器的时候,射线检测的对象为floor组,而升级则会将射线检测的组改为武器组,通过检测到的模型去升级对应的二级和三级,当武器达到三级的时候则不可再升级,升级武器时将原有武器销毁,添加一个新的模型,目前对于武器升级只是将系数调高,如感兴趣可根据武器等级,生成多个子弹,从单一攻击改为群攻。
水晶塔
相对于水晶塔,则复用子弹的逻辑即可,将敌人视作子弹,水晶塔视作敌人,在水晶塔的upDate方法,检测敌人的位置,如果敌人的包围盒与水晶塔的包围盒相交,则水晶塔减去对应的hp,如果水晶塔的hp归零,则视为游戏失败
全局配置
金币
金币方法相对简单一些,咱们这里没vip充值,不必考虑一个648换算几个钻石,1个钻石换算几个金币,游戏的金币系统,只有一个加一个减,创建和升级武器减去相对应的金币,消灭敌人增加对应的金币
如果将路径地址后面拼上这段参数
那么你将拥有500个金币,攻击力100打底的武器,并且地图尺寸变大,敌人行动轨迹变长
这会影响游戏的平衡性,当然,我们的游戏也没做公平性和平衡性的考虑。
成立日期 | 2019年07月08日 | ||
法定代表人 | 张磊 | ||
注册资本 | 1000 | ||
主营产品 | 元宇宙系统开发、元宇宙源码、NFT数字藏品软件开发,nft智能合约开发,盲盒系统app开发搭建,nft源码系统,网络技术开发,软件技术开发,软件定制,技术开发,信息技术服务 | ||
经营范围 | 网络技术开发;软件技术开发;电子产品技术咨询、技术开发;信息技术服务;国内货运代理;国际货运代理;普通货物道路运输;从事货物和技术的进出口业务;供应链管理;物流信息咨询;电信业务代办;教育信息咨询;企业管理咨询;企业营销策划;仓储服务(易燃易爆及危险化学品除外);网页设计;计算机系统集成;销售:计算机软件及辅助设备、通讯设备、电子设备、网络设备、多媒体设备。 | ||
公司简介 | 河南漫云科技有限公司从事APP小程序软件定制开发,自成立以来已经服务全国5000+企业,为它门提供了近30000+软件程序技术服务支持。目前开发的有淘宝客、数字藏品NFT、dapp、农场软件、上链,元宇宙,盲盒系统、商城系统、、社交直播带货pk系统、求职招聘系统、本地生活服务信息发布平台、跑腿外卖系统、打车代驾顺风车系统、拼团盲盒系统、任务悬赏系统、跨境电商亚马逊ERP系统等全行业软件开发定制,源 ... |
- 小游戏开发搭建分红游戏开发定制开发+售后一条龙开发在当前数字经济蓬勃发展的背景下,小游戏开发逐渐成为一个热门领域。河南漫云科技有限... 2025-01-21
- 游戏制作软件开发分红游戏开发源码交付-可二次开发在当今科技飞速发展的时代,游戏产业已成为经济增长的重要引擎之一。伴随着虚拟现实和... 2025-01-21
- 区块游戏模式开发ton游戏定制定制开发+售后一条龙开发在数字经济迅猛发展的今天,游戏逐渐成为市场的热门趋势,尤其是在元宇宙这一新兴领域... 2025-01-21
- 游戏制作软件开发h5游戏开发定制开发+售后一条龙开发在数字经济快速发展的今天,游戏产业的蓬勃兴起带动了多种相关技术和软件的需求。河南... 2025-01-21
- 小游戏开发搭建h5游戏开发快速搭建+售后一条龙开发在当今的数字经济中,小游戏作为一项新兴的娱乐方式,迅速获得了广泛的关注。尤其是在... 2025-01-21
- 开发一款游戏合成游戏系统
- 独立游戏游戏开发漫云科技:独立游戏游戏开发
- 开发一款合成游戏app软件漫云科技:开发一款合成游戏app软件
- 如何开发一个游戏合成app软件漫云科技:如何开发一个游戏合成app软件
- 农场养殖合成游戏 看广告赚钱app漫云科技:农场养殖合成游戏 看广告赚钱app
- 小游戏开发设计之塔防类游戏漫云科技:小游戏开发设计之塔防类游戏
- Unity3D塔防类游戏软件开发漫云科技:Unity3D塔防类游戏
- 塔防游戏的游戏开发设计漫云科技:塔防游戏的游戏开发设计
- 如何设计一款塔防类游戏app软件漫云科技:如何设计一款塔防类游戏app软件
- 如何开发一个游戏app软件系统漫云科技:如何开发一个游戏app软件系统