自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除