最近一时心血来潮做了个挂机小游戏,现在总结一下主要技术

最核心的就是超大数字的计算,在挂机游戏中动不动就是亿亿级数字的计算,已经完全超出普通的类型的长度。但是c#提供BigInteger可以进行超大数字的计算,非常方便。但注意不能进行浮点数的运算。

使用时可以将string转化为BigInteger 进行加减乘除运算,计算完后转换回string方便序列化以及储存 。

using System.Numerics;
string s="1000000000000000000000000000000000";
BigInteger money= BigInteger.Parse(s)+BigInteger.Parse(s);
s=money.ToString();

转换回字符串后可以方便处理在游戏中的数值显示。如在我的游戏中的数值限定最多显示7位数,其余用10的次方表示。

    public static string ConvertNum(BigInteger b){int num = b.ToString().Length - 7;string s = "";if (num>1)//9位数开始{s = b.ToString().Substring(0, 6)+"*"+"10^"+num;}else{s = b.ToString();}return s;}//10000000000=10000000*10^2;

手机切换回游戏界面计算收益以及离线收益计算

在手机挂机游戏过程中,经常会切换到其他应用界面,回到游戏界面挂机数值也应该会增加。所以我们应该记录离开界面时的时间,回到界面时获得当前时间和之前记录时间的差值,用来计算游戏在后台时收益。
在安卓中我们可以使用OnApplicationPause函数进行应用暂停时的调用。

   float gameHTtime = 0;float startHTtime = 0;
private void OnApplicationPause(bool pause){if (pause){//将玩家游戏切后台的运行时间检测到startHTtime = Time.realtimeSinceStartup;Debug.Log("离开游戏");  //  返回游戏的时候触发     执行顺序 1}else{//回到前台我们需要将后台的倒计时方法关闭掉//将游戏的运行总时间检测到   使用总的游戏时间-玩家的切入后台的时间  就是玩家在切后台的总时间gameHTtime = Time.realtimeSinceStartup - startHTtime;//BigInteger profit=10000000000000000000000000;//money += profit* (int)gameHTtime;Debug.Log("返回到游戏 刷新用户数据");  //  返回游戏的时候触发     执行顺序 2   }}

还有一种情况就是游戏在后台时被退出了,我们可以使用OnApplicationQuit函数进行退出时的调用,进行后台收益的计算,前提是在 OnApplicationPause中已经记录了离开界面时的时间。

private void OnApplicationQuit(){    gameHTtime = Time.realtimeSinceStartup - startHTtime;//BigInteger profit=10000000000000000000000000;//money += profit* (int)gameHTtime;//这里可以保存游戏}

离线收益计算是挂机游戏中非常重要的一环,我选用的方案是计算退出游戏的时间与再次打开游戏的时间的差值,进行离线收益计算
具体可以参考
Unity中获取离线时间

最后可以看看我做的小游戏是否是自己想要的效果
游戏页面

unity挂机游戏技术指南 安卓版相关推荐

  1. 分享一款最近比较火爆的宝石迷情游戏游戏源码安卓版

    这个是本人上几个月的一个作品,该作品我已经发布到安卓教程网了,现在分享这款宝石迷情游戏游戏源码安卓版吧,这是一款经典的宝石迷情小游戏源码宝石迷情是一款跨平台的宝石消除类游戏,和之前的宝石类消除游戏不同 ...

  2. Unity 5.x 游戏开发指南 HD版 final.pdf

    下载地址:网盘下载 <Unity 5.x游戏开发指南>详细介绍了Unity3D 5.0的各个主要系统,包括地形系统.脚本系统.动画系统.界面系统.音频系统.网络通讯系统和2D系统,并通过大 ...

  3. 黄金分割Android程序,黄金分割游戏下载-黄金分割 安卓版v1.2-PC6手游网

    黄金分割安卓版是一款休闲闯关类游戏,在黄金分割游戏里面,玩家可以感受到一个全新的闯关世界,游戏操作简单,玩家可以自由发挥自己的实力,感兴趣的小伙伴快来下载黄金分割手游体验吧 游戏介绍 黄金分割是一款趣 ...

  4. unity移动游戏优化指南

    目录 简介 性能分析 CPU Usage Profiler 模块 内存 自适应性能 编程和代码架构 项目配置 资源 图形和GPU优化 用户界面 音频 动画 物理 工作流程和协作 简介 优化 iOS 和 ...

  5. android 开游艇游戏,游艇狂飙游戏-游艇狂飙安卓版预约_第一手游网

    游艇狂飙是一款玩家将会驾驶着游艇开始精彩比赛的休闲竞速类游戏,游艇狂飙里玩家可以获得非常帅气的游艇来进行精彩的比赛,发挥出自己游艇性能方面的优势,顺利的躲避各种障碍,超越前方的各个对手,顺利的到达终点 ...

  6. [游戏技术]VampireSurvivors PC版修改

    游戏主目录找到main.bundle.js 配置文件路径:resources\app.webpack\renderer\main.bundle.js 配置文件对应英文参数 人物名称 英文 中文 Ant ...

  7. android 儿童 汉字 学习 游戏,儿童学汉字游戏app官方下载-儿童学汉字游戏v3.7 安卓版-腾牛安卓网...

    儿童学汉字游戏app是一款针对学龄前儿童设计的认汉字的应用,软件设计了用卡片和语音相结合的方式进行展示,结合一些有趣的小游戏,轻松快乐地认识汉字.帮助孩子轻松上小学. . 应用介绍 儿童学汉字游戏是一 ...

  8. linux火车游戏,火车路路通安卓版下载-火车路路通手机版下载v1.0-Linux公社

    火车路路通是一款卡通风格的模拟建造经营游戏,该游戏画面卡通清新,玩法简单有趣,玩家在游戏中需要修建并连接不同工厂之间的铁路,这样你的小镇就有方便的交通,你要合理的规划好铁路布局,这十分考验你的策略能力 ...

  9. 恐惧 android游戏,恐惧之间游戏-恐惧之间安卓版最新预约v1.0-游迅网

    恐惧之间是一款3D风格为主的狼人杀类的游戏,这里有各种各样的角色,逼真地图场景,配上惊悚的背景音乐,代入感很强,采用了第一人称视角,让你仿佛身临其境,融入了大量的恐怖元素,结合了当地的文化特点,尽情的 ...

最新文章

  1. jdk1.8.0_45源码解读——Set接口和AbstractSet抽象类的实现
  2. Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
  3. Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号
  4. NDPQ(NDP+PQ),定义分布式数据库新方向
  5. 【CyberSecurityLearning 66】提权
  6. JXTA.pdf及其源代码、Practical JXTA II
  7. 前端开发【WEUI框架】移动端H5页面开发
  8. 基于深度学习的SLAM综述:迈向空间机器智能时代
  9. matlab聚类画图怎么做,[转载]用MATLAB做聚类分析
  10. 凤凰院凶真 解题报告
  11. filco linux 蓝牙适配器,filco蓝牙配对教程,新买了一个蓝牙无线键盘fi
  12. ViPR和DJ领跑软件定义存储
  13. 24 个必须掌握的数据库⾯试题
  14. xss-labs通关大详解
  15. 计算机二级c常用算法,闽高校计算机二级C语言常用算法
  16. linux静态链接库添加,c-静态链接库时,出现链接器错误:找不到-...
  17. Go SCP 通信顺序进程模型chan通道
  18. vue中图片引入问题以及实现openlayers地图标记
  19. 诺基亚3d贪吃蛇java版_诺基亚3D贪吃蛇游戏下载-游戏大玩家
  20. 那些你不知道的3D视觉知识点,都在这里啦!

热门文章

  1. oppo手机html文件管理,oppo手机文件管理里面的文件可不可以删除
  2. 国家超级计算机 甘霖,记国家超级计算无锡中心主任助理甘霖:让“中国超算”扬威世界...
  3. Python爬虫之:10000条“爆款剧”——《三十而已》热评,并做可视化
  4. python 均匀分布_python 实现生成均匀分布的点
  5. 西南联大数字复原项目获国际论坛奖项 百度AI赋予历史温度
  6. 经济增长(二)索洛模型
  7. IT男真实的情感记录
  8. 关于DXP的规则检查中Un-Rounted Net Constraint问题
  9. HDCP@SKE交互
  10. 877E - Danil and a Part-time Job