- 博客(17)
- 收藏
- 关注
原创 Unity Json管理类
提供序列化和反序列化的方法,分别支持JsonUtility和LitJson。注意打包时需要将LitJson和JsonMgr一起打包。
2024-09-16 15:09:56 472
原创 数据结构——二叉查找树(BST)的删除
数据结构——二叉树(BST)的删除文章目录数据结构——二叉树(BST)的删除前言一、BST删除的几种情况二、节点删除方法1.一般方法2.对1方法的优化3.懒汉删除(前继和后继)前言在学习数据结构的过程中,二叉树的删除无疑是比较复杂的,因此有许多种不同的方式来实现删除操作。下面仅将自己了解的几种方法写出一、BST删除的几种情况如果要删除的是树叶,那么可以立即删除,如果有一个儿子,就直接让该节点删除并让儿子占有该位置。关键是有两个孩子的情况:分别有以下几种方法对两个孩子的情况进行实现。
2021-10-22 22:19:24 1391 2
原创 Unity缓存池相关问题
Unity模块之缓存池我们在使用一些需要反复生成和删除的对象的时候往往会十分消耗性能,为了解决这个问题就需要一个缓存池文章目录Unity模块之缓存池缓存池相关一、如何写一个缓存池二、缓存池模块代码总结缓存池相关缓存池的出现解决了反复GC的问题,我们可以让反复生成的对象不用立即执行销毁,而是将其放入缓存池形成一个闭环。这样的操作虽然浪费了一些性能。但能有效的减少GC的产生,从而避免游戏卡顿的出现。提示:以下是本篇文章正文内容,下面案例可供参考一、如何写一个缓存池大体上来说 可以
2021-05-23 15:13:04 499 3
原创 Unity叉积的注意事项
文章目录什么是叉积一、Unity叉积的使用二、使用的问题1.2.发现问题总结什么是叉积叉积是向量之间定义的一种遵循右手螺旋定则的运算。其几何意义为垂直与两个向量的一个向量。游戏中常用于判断左右位置一、Unity叉积的使用Vector3.Cross()二、使用的问题1.代码如下(示例):public Transform A;public Transform B;//我这里想用右手螺旋定则if(Vector3.Cross(A.forward,B.position - A...
2021-05-12 18:14:59 411
原创 C#飞行棋优化版
飞行棋代码如下using System;namespace ConsoleApp1{ enum E_Gezi { Simple, Boom, Pause, TimeTravel, } enum E_PlayerType { MianPlayer, Computer, } enum E_SceneType { Begin,
2021-05-08 11:48:05 189 2
原创 C#实践二
飞行棋代码如下using System;namespace ConsoleApp1{ enum E_Gezi { Simple, Boom, Pause, TimeTravel, } enum E_PlayerType { MianPlayer, Computer, } enum E_SceneType { Begin,
2021-05-08 09:33:25 128 1
原创 C#逻辑锻炼
文章目录基本c#语法入门之后的实践一、JBJHON营救公主总结基本c#语法入门之后的实践提示:以下是本篇文章正文内容,下面案例可供参考一、JBJHON营救公主using System;namespace CSharp实践{ class Program { static void Main(string[] args) { //设置窗口大小和基本界面配置 Console.SetWindowSi..
2021-05-07 16:46:42 290
原创 Xml数据管理类(优化存储读取数据)结合反射知识点
简易版public class XmlDataMgr{ private static XmlDataMgr instance = new XmlDataMgr(); public static XmlDataMgr Instance => instance; private XmlDataMgr() { } public void SaveData(object data, string fileName) { //1.得到存储路径
2021-05-06 15:40:32 137
原创 简单的xml读取存储方法(未优化)
文章目录使用Xml读取存储数据0.原xml数据1.读取2.存储总结使用Xml读取存储数据0.原xml数据<?xml version="1.0" encoding="UTF-8"?><PlayerInfo> <name>shanJia</name> <atk>10</atk> <def>5</def> <moveSpeed>20</moveSpeed> <rou..
2021-05-05 22:27:31 147
原创 Unity使用GUI做屏幕自适应(完)
屏幕自适应文章目录屏幕自适应一、控件基类二、优化总结一、控件基类public enum E_Style_OnOff{ On, Off,}public class CustomGUIControl : MonoBehaviour{ //提取控件共同表现 //位置信息 public CustomGUIPos guiPos; //显示内容 public GUIContent content; //自定义样式 public
2021-05-01 10:38:41 307
原创 Unity使用GUI做屏幕自适应(一)
屏幕自适应文章目录屏幕自适应前言一、九宫格二、创建位置信息类总结前言适应不同屏幕的分辨率,本文采用九宫格方法一、九宫格二、创建位置信息类代码如下(示例):public enum E_Alignment_Type{ Up, Down, Left, Right, Center, Left_Up, Left_Down, Right_Up, Right_Down,}/// <summary>//
2021-05-01 09:51:41 510
原创 Unity之PlayerPrefs
Unity之PlayerPrefs文章目录Unity之PlayerPrefs加密总结反射结合PlayerPrefs制作通用存储工具的手法代码如下(示例):/// <summary>/// 数据管理类/// </summary>public class PlayerPrefsDataMgr{ //创建单例模式 private static PlayerPrefsDataMgr instance = new PlayerPrefsDataMgr();
2021-04-29 15:45:25 529
原创 C++Primer(二)续
复合类型目前我们接触的声明符就是变量名,其实可能存在更复杂的说明符。复合类型是指基于其他类型定义的类型。本节主要学习两个复合类型,引用和指针。文章目录复合类型一、引用二、指针空指针void*指针2.读入数据总结一、引用初始化变量时,初始值会被拷贝到新建的对象之中去。定义引用时,程序就把引用和它的初值绑定。一旦初始化完成,引用就和初始化对象绑定在一起。因为引用无法重新绑定其他对象,因此引用必须初始化。(无法修改的量需要有一个初值)。引用只是一个存在的对象的别名,不是对象,因此
2021-03-28 15:21:14 209
原创 C++Primer(二)
C++Primer(二)C++是一种静态数据类型语言,它的类型检查发生在编译时。因此编译器必须知道程序中每一个·变量对应的数据类型。而python,smalltalk在运行时检查数据类型。文章目录C++Primer(二)一、基本内置类型存储单位类型转换二、字面值常量整形和浮点型字面值字符串和转移序列转义序列布尔字面值和指针字面值总结一、基本内置类型空类型(void)和算数类型算数类型又分为整型(包括字符布尔)和浮点型C++语言规定int至少和short一样大 long至少和int一样大
2021-03-27 21:15:55 507
原创 C++Primer(一)
C++Primer第一章术语文章目录C++Primer第一章术语值得讨论的术语缓冲区(buffer)表达式(expression)标准库(standard library)值得讨论的术语缓冲区(buffer)一个存储区域,用于保存数据。IO设备通常将输入输出放在缓冲区中,刷新缓冲区可以立即将缓冲区的数据输出,如cin刷新cout。表达式(expression)最小的计算单元。表达式求值会产生一个结果,由一或多个操作符和运算对象组成标准库(standard library)一个类型和函
2021-03-27 16:33:22 697
原创 LearnOpenGL(一)
LearnOpenGL(一) Introduction about OpenGL文章目录LearnOpenGL(一)一、OpenGL简介1.立即渲染模式(Immediate mode)和核心模式(Core-profile)2.扩展(Extension)3.状态机(state machine)4.对象总结一、OpenGL简介OpenGl(Open Graphics Library)被认为三大图形API之一,是比较适合初学者的API。因为有优质的教程如LearnOpenGL.git.io。O
2021-03-25 22:51:47 418
原创 C++Primer学习问题(一)
C++Primer学习问题(一)文章目录C++Primer学习问题(一)前言一、缓冲区是什么?二、为什么会有缓冲区?三、缓冲区的功能1.引入库2.读入数据总结前言在阅读第一章时,书中提到了缓冲区(buffer)的概念, 并且指出缓冲区刷新的目的: 保证将目前为止程序所产生的所有输出都真正写入输出流中,而不是仅停留在内存中等待写入流。在Warning中指出调试时添加的打印语句应保证一直刷新流。否则,程序如果崩溃,输出可能还留在缓冲区中, 从而导致关于程序崩溃位置的错误推断.一、缓冲区是
2021-03-25 16:32:54 209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人