我写了一个数码宝贝的小游戏~

小时候很喜欢看的一部动画 "数码宝贝" 陪伴了我大半个童年 直到长大 学习了前端 偶然接触了暴龙机这个玩具 发现 这小别致 挺东西啊 但是怎么现在都还是黑白的 感觉我也能做
于是乎我跟我一朋友就开始了暴龙机游戏的开发之旅

1.0属于是张口就来说干就干的版本 想到什么写什么 然后导致了 数据膨胀 文件也过于臃肿 一笔带过 有兴趣的哥们可以体验一下

船新版本

2.0 (手机横屏访问)

2.0链接 http://106.55.53.206/digivice/index.html

使用技术

  • nuxt2 + vant
  • animejs
  • lottie

怎么做的

在开始做之前,我也考虑过这个问题,该用什么技术手段去实现,cocos Egret 小游戏等等都有尝试过,感觉思想还没到那个境界,有点吃不透,最后还是赶鸭子上架,使出了三板斧 html + css + js,在我的理解里面,其实2d游戏就是一些图片根据用户的行为在动而已,感觉上使用三板斧是可以做到的 ↓ 一些图

一些有意思的点

数码兽数据存放问题

有了1.0的前车之鉴(将所有数码兽数据都放到一个文件内,导致一个文件上万行,加载速度异常的慢)

2.0将每个宠的数据都分开文件进行存储 并且在对战前进行引入

对战回合分发

在设计对战页面的时候,我打算这样实现,将整个对战类比成一个现实的对局 比如狼人杀游戏

  • 旁白 控制每位玩家的行动 轮流行动 还是按照什么方式
  • 玩家 参与该对局的玩家

最终我拆分成了以下几个组件(咱就不在意命名了)

  • battle-dealer 回合控制组件 控制了开始 回合检查 结束等逻辑
  • digimon-render 数码兽渲染组件 控制数码兽的动作 攻击 技能 等等
  • digimon-state 数码兽的状态栏 展示数码兽的血量 技能cd buff等等
  • dm-action-render 数码兽的动作渲染 根据数码兽设定的动作帧 进行动作渲染

一个对战页面就由这些组成了 各司其职 当时写完之后感觉 思路从来没有这么清晰过 感觉带上脑子写就是好(说明上班没带脑子?)

扭蛋机

扭蛋机的一个动作是这样 投币 - 扭蛋 - 出扭蛋 - 出结果

但是怎么将这些动作连贯起来呢 我的设计师哥们瓜哥给我整了一些gif图

  • 不下蛋的图

  • 下蛋的图

  • 扭蛋机空壳图

剩下就是拼图片了 默认情况 扭蛋机空壳+不下蛋的图

点击扭蛋之后就是 扭蛋机空壳+下单的图

很简单 但是事实却不那么顺利 使用v-if 控制不下蛋 与 下蛋图的显示隐藏 会发现显示下蛋图的时候 蛋可能就落地了 就是我根本没法控制gif图的播放 我本以为v-if会让这个图片不渲染 并且设置为true的时候从第一帧开始播放

查阅多方资料后 得知 可以通过修改imgsrc属性 来让gif图从第一帧开始播放

javascript 复制代码
<img class="rotate-img" ref="rotateEgg" :src="calcRotateImg" />

computed: {
    calcRotateImg() {
      if (!this.resultType) {
        return this.eggaImgDefault
      } else if (this.resultType == 1) {
        return this.eggImga
      } else if (this.resultType == 2) {
        return this.eggImgs
      }
    },
}

通过替换图片地址的方式 实现了这一整个流程 (现在想想 使用lottie也可以实现 控制播放帧)

其他

还有其他大大小小的东西就说不过来了

  • 按照权重随机获得道具
  • 道具购买 道具使用 道具限购
  • 横屏竖屏xy坐标翻转
  • 背景视频 点击音效 等等等等

写在最后

本游戏不涉及氪金成分 只有自愿赞助服务器

为什么要写这篇文章,可能是一时兴起,也可能想认识更多的人,也想听听大家的意见看看有没有一些好玩的想法可以尝试加到里面 目前做了一些 socket世界boss sse邮件系统 二维码解析 后面还打算做 陀螺仪 nfc卡片读写等等 尝试更多的内容

希望大家玩的开心

还有还有 接口比较弱 大家手下留情啊

相关推荐
C澒7 小时前
多场景多角色前端架构方案:基于页面协议化与模块标准化的通用能力沉淀
前端·架构·系统架构·前端框架
崔庆才丨静觅7 小时前
稳定好用的 ADSL 拨号代理,就这家了!
前端
江湖有缘7 小时前
Docker部署music-tag-web音乐标签编辑器
前端·docker·编辑器
恋猫de小郭8 小时前
Flutter Zero 是什么?它的出现有什么意义?为什么你需要了解下?
android·前端·flutter
崔庆才丨静觅15 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby606116 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了16 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅16 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅16 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅16 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端