[Unity3D]自己动手重制坦克舰队ArmadaTank
[Unity3D]自己动手重制坦克舰队ArmadaTank
我玩过一款坦克游戏ArmadaTank(坦克舰队),如下图所示


几个月前我尝试用Unity3D重制这款游戏,已经可以玩起来了。下面是在PC上的重制版截图。


还有Android版的


重制版
重制版有这么几个重点。
拥有所有原版的模型
所有的模型(坦克、老巢、树、建筑、石头、奖励……)都与原版的模型完全相同。通过分析原版模型的数据,我写了一个格式转换器,把原版模型格式转换为通用的3DS格式。这样一来,这些模型就可以用到各种App里了。
好吧有一个模型与原版可能不同,就是砖块。在原版里没有存储砖块模型,大概是编码生成的。我只能做到尽量相似。
拥有所有原版的关卡
一个关卡其实就是一个地图。通过分析原版的地图文件,我写了一个地图分析和加载器。这样就可以直接使用原版的地图文件。所以重制版的关卡也与原版完全相同。
好吧关卡也有那么一点点不同。我发现有几个关卡加载进来会有一个格子的错位,我只好修改一下地图文件,使其加载后与原版的效果相同了。
下面是几个关卡的例子。











拥有原版的3种武器
目前已经实现了玩家的3种武器(加农炮、机关枪、导弹),其发射频率、飞行速度等都与原版相同。当然这也是通过分析原版的数据精确计算出来的。还剩下3种武器暂时没有实现。
拥有所有原版的装备
防御、移动速度、射击速度、子弹速度、子弹破坏力这5种装备都与原版相同。同上,这也是通过分析原版的数据精确计算出来的。

攻击、碰撞
原版里,玩家与其它坦克碰撞时,玩家与对方都不能移动;而敌方坦克之间相互碰撞时,是无视碰撞直接穿透的。子弹只对敌对方的坦克有伤害。这些功能的实现需要一些特殊的设计。
试玩Demo
您可以到这里下载PC和Android版试玩。
链接:http://pan.baidu.com/s/1kTCFU3X 密码:jg6u
如果您需要项目源码请捐赠100元并留下您的联系方式。

如果您希望我详细介绍这次重制的重点难点,可以留言。需求多的话我就抽时间写写。
[Unity3D]自己动手重制坦克舰队ArmadaTank的更多相关文章
- [Unity3D]自己动手重制坦克舰队ArmadaTank(2)从碰撞说起
[Unity3D]自己动手重制坦克舰队ArmadaTank(2)从碰撞说起 在上一篇里我给出了重制的坦克舰队效果图和试玩程序.本篇介绍一下玩家坦克和敌方坦克碰撞问题. +BIT祝威+悄悄在此留下版了个 ...
- Xamarin.Forms之UserDialogs 重制版本
在 forms 里面,目前使用比较多的弹出组件是 Acr.UserDialogs ,但是这个组件有些小问题,比如 loading .hide 会同时把 toast 给一起关掉,android 下的 t ...
- 使用AndEngine重制《是男人就上一百层》
1.为什么还要做<是男人就上一百层> 一是在用Android原生API开发完<是男人就上一百层>以后,一直想体验一下用引擎开发游戏是个什么感觉,顺便也让游戏听上去高大上一些(使 ...
- 重制AdvanceWars第一步 -- 搞定地图
首先来聊下高级战争吧Advance Wars,由任天堂旗下的Intelligent Systems开发的战棋游戏.初作诞生于GBA上,后来继续跟进了高战2黑洞崛,而后在下一代掌机DS上也出了三代续作高 ...
- 替换/重制Homebrew源
homebrew主要分两部分:git repo(位于GitHub)和二进制bottles(位于bintray),这两者在国内访问都不太顺畅.可以替换成国内的镜像,git repo国内镜像就比较多了,可 ...
- 微软重制Windows 1.0系统:祖师爷出山了
Windows官方推特在7月1日发布了一条很有趣的动态,“向大家介绍全新的Windows 1.0,带MS-DOS.时钟等”.配发的视频回顾了从Windows 1.0/3.1到Windows 10期间, ...
- BIT祝威博客汇总(Blog Index)
+BIT祝威+悄悄在此留下版了个权的信息说: 关于硬件(Hardware) <穿越计算机的迷雾>笔记 继电器是如何成为CPU的(1) 继电器是如何成为CPU的(2) 关于操作系统(Oper ...
- Unity3D 回合制 网上源码 目前还在研究构思
我们已将回合制的战斗模式讲解得很清楚了.那么,如果在Unity3D游戏中实现一个回合制游戏呢?我们从最简单的一对一模式来设计回合制游戏的原型.我们可以游戏的状态划分为下面三种状态: 1. ...
- 图文详解Unity3D中Material的Tiling和Offset是怎么回事
图文详解Unity3D中Material的Tiling和Offset是怎么回事 Tiling和Offset概述 Tiling表示UV坐标的缩放倍数,Offset表示UV坐标的起始位置. 这样说当然是隔 ...
随机推荐
- 信鸽推送 .NET (C#) 服务端 SDK rest api 调用库(v1.2)
信鸽推送 .NET 服务端 SDK rest api 调用库-介绍 该版本是基于信鸽推送v2版本的时候封装的,先拿出来与大家分享,封装还还凑合,不依赖其他http调用件,唯一依赖json序列化dll ...
- C语言的一些小知识
注:本文讨论的"C语言"为GNU C,而非ANSI C 标准库 语法 switch语句中的case关键词可以放在任何地方 switch (a) { case 1:; if (b== ...
- Http、Https请求工具类
最近在做微信开发,使用http调用第三方服务API,有些是需要https协议,通过资料和自己编码,写了个支持http和https的工具类,经验证可用,现贴出来保留,也供需要的人使用(有不足的地方,也请 ...
- Xcode显示出错
warning: control reaches end of non-void function 表示有返回值的函数没有return.
- 如何关闭eslint
在vue-cli搭建webpack中,使用eslint进行代码规范化检查. 进行关闭,在根目录下有个.eslintignore直接将不想要检查的文件丢进去就可以了 也可以在重构的时候把它关闭掉
- centos 6.5 yum安装 mysql 5.6
1. 查看系统里面有没有mysql 的repo yum repolist all | grep mysql 2. 如果没有发现,则需要配置repo 注意,如果要使用5.7 或者其他任何版本,只能有 ...
- 【原】iOS学习之PINCache第三方缓存框架
在项目中总是需要缓存一些网络请求数据以减轻服务器压力,业内也有许多优秀的开源的解决方案.通常的缓存方案都是由内存缓存和磁盘缓存组成的,内存缓存速度快容量小,磁盘缓存容量大速度慢可持久化. 1.PINC ...
- 第二章 Matlab面向对象编程基础
DeepLab是一款基于Matlab面向对象编程的深度学习工具箱,所以了解Matlab面向对象编程的特点是必要的.笔者在做Matlab面向对象编程的时候发现无论是互联网上还是书店里卖的各式Matlab ...
- bootstrap之移动支持
为了让 Bootstrap 开发的网站对移动设备友好,确保适当的绘制和触屏缩放,需要在网页的 head 之中添加 viewport meta 标签,如下所示: <meta name=" ...
- paramiko模块的安装
1.找到自己python安装的目录(默认路径:C:\Users\zhangliyuan\AppData\Local\Programs\Python\Python35) 注:cmd中所有命令 2.进入S ...