- 博客(20)
- 收藏
- 关注
原创 基于正则表达式计算UTF8编码字符串中的总字符数(附Lua版代码)
测试代码:(local s = "①贰a190A#}。!!"是测试用的字符串)function stringToTable(s) local tb = {} --[[ UTF8的编码规则: 1. 字符的第一个字节范围: 0x00—0x7F(0-127),或者 0xC2—0xF4(194-244); UTF8 是兼容 ascii 的,所以 0~127 就和 ascii 完全一致 2. 0xC0, 0xC1,0xF5—0xFF(192, 193 和
2021-08-28 16:33:20
326
原创 UE4 指针
推荐阅读:https://blog.csdn.net/weixin_42295465/article/details/104032283https://zhuanlan.zhihu.com/p/93431274
2021-08-26 09:46:41
179
原创 UE4 GC机制
原文链接:https://blog.csdn.net/yangxuan0261/article/details/520755811.UObject GC机制1.1 GC方式1.每隔一定时间触发一次2.引用计数法,对没有任何引用的对象进行GC1.2 如何防止对象被自动GC1.标记UPROPERTY()可以保持引用2.储存在TArray、TMap容器中,通过容器保持对对象的引用,但容器必须被UPROPERTY()保持引用,当容器clear时,元素会自动被GC3.通过AddToRoot添加标记阻止
2021-08-12 16:19:43
1526
原创 UE4 创建UObject对象的过程:分配空间和构造对象
1.UObject创建对象的方法NewObject<T>()2.UObject创建对象的过程2.1分配内存阶段0.这个阶段虚幻引擎干涉了标准的内存分配过程,示意图只显示主要过程,实际上还有大量的判断来确保内存对齐、类默认对象不会重复创建等。1.获取当前UObject对象对应的UClass类的信息,根据类成员变量的总大小(PropertiesSize),加上内存对齐,在内存中分配一块合适的区域,返回这块区域的首指针。2.Memset将这块区域清零3.使用PlacementNew对
2021-08-11 17:50:09
2920
原创 UE4三种字符串类型区别
类型特点FName不支持修改。当存在多个相同字符串时,也只在字符串表中被储存一次。借助这个哈希表,从字符串到FName转换以及根据Key查找FName速度很快。FText不支持修改。支持本地化。用来表示一个“被显示的字符串”FString支持修改。消耗比以上两种类型高。...
2021-08-10 14:21:57
506
原创 UE4获取世界中所有Actor
Actor迭代器:TActorIteratorfor(TActorIterator<AActor或子类> Iterator(GetWorld());Iterator;++Iterator){ //todo... //通过 *Iterator 或 Iterator-> 访问一个Actor及其成员}
2021-08-10 11:02:05
3078
原创 UE4 对象的创建与销毁
分类实例化方法纯C++类new关键字ObjectNewObject<>()ActorUWorld::SpawnActor<>()SlateSNew()
2021-08-10 10:46:17
1365
原创 UE类的命名前缀
UE类的命名前缀前缀含义F纯C++类U继承自UObject,但不继承AActorA继承自AActorSSlate控件相关类HHitResult相关类
2021-08-10 10:41:42
673
原创 ue4 枚举转字符串Enum->FString
StaticEnum()->GetNameStringByValue((int64)enumvar)
2021-04-10 16:12:57
593
原创 C++继承相关问题
实验一:派生类和派生类对象有什么区别?实验二:多继承二义性问题实验三:公有继承/保护继承/私有继承的区别//将iostream.h的内容复制过来#include <iostream>//std意为standardusing namespace std;// 结论:// 实验一 :对象永远只能访问public,即使是自己的protected和private也不能访问;而直接继承的类总能访问基类的public和protected和自身所有成员// 实验二 :二义性不解决会报错
2021-03-05 18:00:21
162
原创 游戏开发学习经验
原视频地址:https://www.bilibili.com/video/BV1Xz4y1Q7XG这篇文章基本是记录视频中所说的开发经验,但感觉说转载也算不上转载,因为看的时候不希望看完就忘了,所以打算记个笔记留给自己看。那么开始正题:1.直接修改游戏项目,调整其中的一些参数,看看这些调整会对游戏带来什么样的影响。因为现成的游戏项目都是可以运行的,相比于去看代码这样更直观,也更容易理解每一行代码是在做什么。2.学习一些编程知识,然后根据学到的内容去设想这个知识可以用来实现什么样的功能。可以去做一些代
2021-02-21 19:12:09
302
2
原创 【Unity】脚本生命周期
目录一、脚本生命周期简介二、常用的脚本生命周期Massage初始阶段Awake()和Start()OnEnable()物理阶段FixedUpdate()游戏逻辑Update()LateUpdate()输入事件OnMouseDown()场景渲染结束阶段OnDisable()三、脚本生命周期流程图一、脚本生命周期简介Unity脚本从唤醒到销毁的过程消息:当满足某种条件Unity引擎自动调用的函数(早期也称作必然事件),我们要了解的就是这些函数是什么、何时执行、什么时候适合使用。参考链接:http:/
2021-01-17 19:43:51
1214
1
原创 【Unity】Unity插件 - InstantOC
1.渲染管线图形数据在GPU上经过运算处理,最后输出到屏幕的过程。这个过程由CPU(中央处理器)和GPU(图形处理器)参与完成。1.1 CPU的工作:游戏:初步判断哪些物体需要被渲染视锥(摄像机)范围内的culling mask选中的layer图形API什么是Draw Call?Draw Call:每次引擎准备数据并通知GPU的过程。通俗来说,每帧调用显卡渲染物体的次数。游戏是一帧一帧去渲染的,每一帧要渲染前,都需要判断要渲染哪些物体。每一个物体当判断要渲染,就把数据交给GPU,就有
2021-01-10 22:57:26
2039
2
原创 【JAVA】初识Java
一、JAVA的发展JDK包含两大部分:开发工具和运行环境二、体系J2ME(微型版):应用于移动、无线及有限资源的环境。致力于消费产品和嵌入式设备的最佳解决方案。J2SE(标准版):桌面环境。桌面开发和低端商务应用解决方案。J2EE(企业版):应用于基于JAVA的应用服务器。以企业为环境开发应用程序的解决方案。三、特性面向对象、跨平台、吸收了C/C++优点、安全性高(防错)四、跨平台Java源代码(.java文件)→java字节码(.class文件)→JVM(java虚拟机)→其他平台JV
2021-01-09 13:15:01
122
原创 【JAVA】java常用类库和数据结构
1.常用类库1.1.时间1.1.1.Date类可以看到date2的日期和星期都比date1减一天(往前算一天)比较两个日期的先后:可以用getTime()获取两个日期的毫秒数,将问题转换为比较两个毫秒数的大小1.1.2.DateFormat类1.2.字符串1.2.1.概述——CharSequence接口1.2.2.String类1.2.3.StringBuffer/StringBuilder类2.数据结构2.1.集合概览2.2.Collection接口
2021-01-09 13:06:46
509
原创 【Linux】SecureFX传文件进度一直是0%的问题
使用SecureFX传送文件下面的Process一直是0%,此时我连接的普通用户,可能是由于权限不足导致的。重新连接到root用户后就可以正常传输文件了。
2021-01-09 11:30:18
1100
原创 【Linux】Linux中使用ifconfig指令查询不到ip地址的解决办法
今天刚安装玩Linux后想使用远程连接,但是输入ifconfig指令之后发现eth0中没有ip地址,使用以下方法解决了自己的问题。修改ifcfg-eth0文件vi /etc/sysconfig/nerwork-scripts/ifcfg-eth0(我在网上看到说这里并不是每个人的文件结尾都叫eth0,可以注意一下自己的文件是不是叫其他名称。eth0就可以理解为一张网卡,如果系统有两个网卡,那么就会有eth0和eth1来表示。复制虚拟机有时候也会出现eth1,但实际上由于是同一个网卡,经常还需要手动将
2021-01-09 01:02:28
2670
2
原创 【Linux】CentOS-6.5安装环境选项以及Linux如何切换图形化界面和命令行界面
CentOS-6.5安装环境之前安装Linux发现我的系统只有命令行,没有图形化界面,在网上查找切换图形化界面的方法后也不行,后来才知道是我在安装CentOS-6.5的时候选择了最小化安装(Minimal),不自带图形化界面。解决方法有两个: 1.下载图形化界面工具,这里不多做介绍,具体方法还请网上查阅 2.在安装CentOS的时候选择自带的图形化界面软件在安装CentOS-6.5的时候会提供以下几种可选模式:-Desktop :基本的桌面系统,包括常用的桌面软件,如文档查看工具。-Min
2021-01-09 00:41:35
860
1
原创 【Linux】关于Linux系统下java代码报UnsupportedClassVersionError异常的解决方法
今天在linux系统上安装jdk1.8,并且试着写一个java代码运行看看效果。运行的时候报了以下这个异常。通过在网上查询得知,这个异常是由于较高版本的JDK编译的java class文件视图在较低版本的JVM上运行产生的错误。可以使用java -version和javac -version两个指令来查看版本是否一致。查询之后发现确实不一致。并且更令我奇怪的是,我在此之前已经配置好了环境变量,按理说无论在哪个目录下都应该是jdk1.8版本,但奇怪的是只在jdk1.8的bin目录下是1.8版本。
2021-01-07 19:22:59
916
原创 【数据库】事务的特点和隔离级别
【数据库】事务的特点和隔离级别1.事务的四大特性原子性事务是一个整体,不可分割。要么全部成功,要么全部失败。持久性当数据提交或者回滚后,数据库会持久化保存数据。隔离性多个事务之间隔离,相互独立。一致性事务执行前后,数据总量应保持不变。2.什么是脏读、不可重复读、幻读脏读读到了一个事务未提交的数据。不可重复读在一个事物中连续两次(多次)读取,读到的数据不一样(两次读取中间有其他事务改变了数据)。幻读在一个事务A执行DML语句时,另一个事务B也执行了DML语句,B修改了A修
2020-11-23 21:24:22
80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人