位置: 编程技术 - 正文

Unity3D游戏之游戏日志打印(unity3drpg游戏)

编辑:rootadmin

推荐整理分享Unity3D游戏之游戏日志打印(unity3drpg游戏),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity3d游戏教程,unity3d简单游戏教程,unity3d简单游戏教程,unity3d网络游戏,unity3d简单游戏教程,unity3d网络游戏,unity3d简单游戏教程,unity3drpg游戏,内容如对您有帮助,希望把文章链接给更多的朋友!

游戏运行之时打印日志,方便我们查bug,下面我说说自己项目的日志系统怎么弄。

日志等级分别为

LogLevel.DEBUG,

LogLevel.INFO,

LogLevel.WARNING,

LogLevel.ERROR,

LogLevel.CRITICAL,

LogLevel.EXCEPT。

//获得类名和方法名

private static String GetStackInfo()

{

StackTrace st = new StackTrace();

StackFrame sf = st.GetFrame(2);//

var method= sf.GetMethod();

return String.Format("{0}.{1}():",method.ReflectedType.Name,method.Name);

}

解析:

我们在学习函数调用时,都知道每个函数都拥有自己的栈空间。一个函数被调用时,就创建一个新的栈空间。那么通过函数的嵌套调用最后就形成了一个函数调用堆栈。在c#中,使用StackTrace记录这个堆栈。你可以在程序运行过程中使用StackTrace得到当前堆栈的信息。

日记类LoggerHelper

分别有几个接口:

LoggerHelper.Debug(string filter, object message, Boolean isShowStack = SHOW_STACK);

LoggerHelper.Info(string filter, object message, Boolean isShowStack = SHOW_STACK);

LoggerHelper.Warning(string filter, object message, Boolean isShowStack = SHOW_STACK);

LoggerHelper.Error(string filter, object message, Boolean isShowStack = SHOW_STACK);

LoggerHelper.Critical(string filter, object message, Boolean isShowStack = SHOW_STACK);

LoggerHelper.Except(string filter, object message, Boolean isShowStack = SHOW_STACK);

统一调用

Log(string message,LogLevel level ,bool writeEditorLog = ture)

{

var msg = string.Concat(DataTime.Now.ToString("yyyy-MM-dd HH:mm:ss,fff"),message);

m_logWriter.WriteLog(msg,level,writeEditorLog);

}

如:Log(string.Concat("[DEBUG]:",isShowStack?GetStackInfo():"",message,"Index = ",index&#;&#;),LogLevel.DEBUG);

public class LogWriter

{

private string m_logPath = UnityEngine.Application.persistentDtaPath &#; "/log/";

private string m_logFileName = "log_{0}.txt";

private string m_logFilePath;

Unity3D游戏之游戏日志打印(unity3drpg游戏)

private FileStream m_fs;

private StreamWriter m_sw;

private Action<String,LogLevel,bool> m_logWriter;

private readonly static object m_locker = new object();

public LogWriter()

{

if(Directory.Exists(m_logPath)) Directory.CreateDirectory(m_logPath);

m_logFilePath = String.Concat(m_logPath,String.Format(m_logFileName,DataTime.Today.ToString("yyyyMMdd"));

try

{

m_logWriter = Write;

m_fs = new FileStream(m_logFilePath,FileMode.Append,FileAccess.Write,FileShare.ReadWrite);

m_sw = new StreamWriter(m_fs)

}

catch{}

//释放资源

public void Release()

{

lock(m_locker)

{

if(m_sw != null)

{

m_sw.Close();

m_sw.Dispose();

.....

}

private void Write(string msg,LogLevel level,bool writeEditorLog)

{

lock(m_locker)

try

{

if(m_sw != null)

{

m_sw.WriteLine(msg);

m_sw.Flush();

}

.....

}

}

&#;&#;&#;&#;

Unity Batch 对 Vertex Shader 产生影响 今天用VertexShader来实现旗帜飘动,本来设想旗帜是在旗面的法线方向上下飘动的,所以在模型坐标系下给vertex.z加上一个随时间变化的sine波。简化如下

正弦波近似 在做一些游戏效果的时候经常需要用到正弦波,它平滑又有周期性,但是sin的计算开销略大。作为优化,在GPUGem上看到一个用三次函数平滑三角波得到

Unity3D Mesh学习笔记1-创建一个最简单的四边形 usingUnityEngine;usingSystem.Collections;publicclassQuad:MonoBehaviour{//UsethisforinitializationvoidStart(){CreateQuad();}privatefloatm_width=1;privatefloatm_length=1;publicvoidCreateQuad(){/*1.顶

标签: unity3drpg游戏

本文链接地址:https://www.jiuchutong.com/biancheng/384520.html 转载请保留说明!

上一篇:[置顶] unity3d Human skin real time rendering 真实模拟人皮实时渲染([置顶]津鱼.我爱你)

下一篇:Unity Batch 对 Vertex Shader 产生影响

  • 未达起征点的增值税要交企业所得税吗
  • 缴纳房产税怎么记账
  • 税务师继续教育怎么做
  • 运费收入算销售收入吗
  • 水利建设基金申报期限
  • 单位内部食堂如何做账务处理
  • 技术使用费所得税怎么算
  • 资本化的借款利息支出计入什么科目
  • 补充医疗保险应享尽享方案
  • 房地产土地增值税优惠政策
  • 企业所得税中管理费用怎么填列
  • 对方公司开发票我方未付款如何做分录?
  • 电子承兑汇票接收和转出步骤
  • 销售成本结转中的库存商品的单价错了怎么改u8
  • 企业代开租金专票开什么项目好?
  • 母子公司之间转让土地使用权
  • 油罐车运输费用怎么算
  • 个人购买房屋的税
  • 安装设备用的材料计入什么科目
  • 企业出口产品条件和流程
  • 核销单取消后出口收汇流程
  • 高新产业扶持补贴怎样申请
  • 工程承包付款最佳方式
  • 设备器具一次性扣除会计分录
  • 本年利润总账需要本年合计吗?
  • 收据怎么写比较规范
  • 询证函是什么文书
  • 关于暂时性差异的所得税会计处理,正确的是
  • 怎么查开出去的发票原票
  • 方正电脑u盘启动按什么键
  • 企业的借款利息支出全部可以税前扣除吗
  • php null false
  • 缴住房公积金会计分录怎么写
  • 福利费做账分录
  • 稽查查补销售额后补开票如何申报
  • 工商银行电子回执单怎么查看
  • 购买办公用品入库如何做账务处理
  • 社保挂靠公司收费标准是怎样的
  • php5.5
  • 企业季度所得税怎么算
  • opencv语句
  • nmcli命令配置bond
  • php文件怎么浏览
  • uni-app入门到实战 以项目为导向
  • 分页浏览是什么意思
  • 中华人民共和国禁毒法第十三条规定
  • python PaddleOCR库的介绍
  • 帝国cms工作流
  • 发票冲红后报税有影响吗
  • 给员工发放礼品的祝福
  • 应付账款主要账户有哪些
  • 减免税的三种方式
  • 企业收到退回的银行汇票多余款项
  • 子公司提的盈余公积合并时如何抵消
  • 差额征税问题
  • 车辆上牌的费用应付多少?
  • 一般纳税人免税额度
  • 3%税率专用发票
  • 资金会计应当设置的科目
  • 强制删除快捷键是什么
  • mysql停不掉
  • w10预览版新功能
  • 用Windows Server Backup搞定服务器备份
  • 桌面右边
  • ubuntu 编译安装
  • macbook2020款改硬盘
  • Win10 64位系统下火狐浏览器打开带flash网页卡死的解决方法
  • ssh直接输入密码 linux
  • 搭建android开发环境时为什么要先安装jdk
  • nodejs基础教程
  • android仿qq聊天
  • shell备份文件脚本
  • Http TCP 协议
  • node.js怎么用
  • python的iloc
  • jquery使用方法
  • 陕西税务局稽查处处长
  • 上海税务ca证书更新
  • 黄金消费税如何缴纳
  • 智能财税代理实务实训过程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设