位置: 编程技术 - 正文

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 产生影响

  • 个税申报赡养老人只能填一个吗
  • 免税农产品发票需要勾选吗
  • 报销单用法
  • 农村土地征用补偿是多少钱一亩
  • 契税的计税金额是什么
  • 出售股份的印花税怎么做分录?
  • 其他公司向本企业借款
  • 资产负债表其他流动资产包括什么
  • 企业购买机械设备是否需要进行过户登记
  • 应交增值税减免税额期末需要结转吗
  • 实务操作中的税会差异有哪些?
  • 工资薪金总额包括职工福利费吗
  • 外购商品用于招待怎么做账
  • 融资租赁到期后资产归属
  • 企业出售二手车增值税如何缴纳
  • 酒店装修费用会计处理
  • 商誉减值测试的方法有哪些
  • 建筑劳务公司开票税率是多少
  • 如何玩转win11
  • 工资薪金怎么申报9
  • 汇算清缴所得税补缴怎么处理
  • 公司卖二手车的流程
  • macbook不用键盘膜会进灰吗
  • php面向对象是什么意思
  • 来料加工报废产品合同
  • 付的押金冲抵部分怎么算
  • 审核凭证要注意哪些问题
  • php编写网站
  • 出口退税款的会计科目
  • 如何修改家里的wifi密码
  • 工程施工下的间接费用下有什么科目
  • 会计政策变更追溯调整为什么不影响所得税
  • php的session
  • 坏账准备收不回来怎么办
  • ls -lh命令
  • 小规模所得税申报表利润总额是填季报吗
  • 固定资产租赁费属于什么费用
  • 注册一个公司没有流水可以吗
  • 企业资产的范围
  • 不符合无形资产摊销条件
  • 赡养老人专项附加扣除的标准
  • 一次性伤残补助金怎么查询进度
  • 结转上年
  • 利润分配怎么分配比例
  • 资产负债表调整事项
  • 股权转让个人所得税怎么算
  • 稳岗补贴支付范围
  • 受托方开具加工费发票
  • 间接人工费用计入什么科目
  • 赠送礼品怎么入账
  • 免税小规模企业增值税申报表怎么填
  • 建筑企业预缴增值税款
  • 房开企业预缴增值税
  • 合同没签定金可以退的吗
  • 没签劳动合同的后果
  • 预提费用处理
  • 投标保证金退还
  • 预收账款是否要交说
  • 外经证是干什么用的
  • 关于文化事业建设费的说法错误的是
  • sqlserver2019的使用
  • win10系统预览版
  • bios设置电脑定时启动
  • ubuntu安装transmission
  • centos7 swap大小设多少
  • win7系统电脑打开的软件闪退怎么办
  • 怎么禁止电脑qq自动启动
  • glCopyBufferSubData
  • opengl clamp
  • extjs grid设置某列背景颜色和字体颜色的方法
  • android游戏开发 教程
  • linux怎么设置
  • 针对后台列表table拖拽比较实用的jquery拖动排序
  • Android网络(4):HttpClient必经之路----使用线程安全的单例模式HttpClient,及HttpClient和Application的融合
  • javascript获取浏览器代理设置
  • jquery插件大全
  • 开展税务培训
  • 北京市地方税务局
  • 固定资产处置要开票交税么
  • 统一社会信用代码有什么用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设