自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 【协同开发】git 提交到gitee云库

https://www.cnblogs.com/cndarren/p/12125091.html

2021-09-01 01:01:27 127

原创 【协同软件】Git 安装

https://blog.csdn.net/ezreal_tao/article/details/81609883

2021-09-01 00:51:16 130

转载 UE4静态网格体创建碰撞体

https://blog.csdn.net/alzzw/article/details/104569569/

2021-08-26 19:32:34 862

转载 UE4解析json时候遇到的LNK2019无法解析外部符号和LNK2001无法解析外部符号

https://www.cnblogs.com/stardeavar/p/13305739.html

2021-08-24 20:47:25 445

原创 【UE4】带有Delay效果的ForLoop

2021-08-16 14:34:23 1549

原创 【设计模式】 观察者模式

观察者模式:当多个对象需要根据同一种状态的改变而同时做出改变,这个时候需要使用观察者模式,其实也就是C#中的委托和事件优点:1.低耦合性各个观察者不需要依赖具体的Subject,Subject也不需要关注具体订阅者2.同步及高效当多个对象需要根据另外一个对象的状态改变而改变的时候,如果使用循环检测,则会消耗大量资源;而观察者模式是只有在改变的时候会通知一次。#pragma once#include <iostream>#include <string&

2021-08-09 11:53:49 72

原创 【设计模式】 策略模式

策略模式优点:1.低耦合性把各种复杂的策略,规则,或者业务给封装在策略管理器中,客户端只需要做出选择,而不用关心具体策略的初始化和创建是如何完成的,调用策略也只是调用策略管理器,不会具体关心具体策略如何运作。缺点:和简单工厂模式一样,违背了开放-封闭原则,增加新策略需要去修改策略管理类策略模式和简单工厂模式的区别:简单工厂在于创建一个实例类,如何使用实例交由客户端决定。策略模式是用于封装策略,客户端并不关心如何组合策略,只关心选择#pragma once#include

2021-08-09 11:07:41 53

原创 【设计模式】工厂模式和抽象工厂

工厂模式在于把各个具体产品的创建延迟到每个具体的工厂来负责创建和初始化在客户端的修改只需要改动具体用哪种工厂就可以,其他关注的都是抽象类工厂模式的优点:1.低耦合性把各个具体产品的创建延迟到每个具体的工厂来负责创建和初始化2.更符合开放-封闭原则对于修改,只需要在自己的类中修改;对于扩展,只需要新增工厂类、产品类缺点:类的大量增加抽象工厂:即抽象工厂关联抽象类,客户端所能涉及到的全是抽象接口#pragma once#include <iostream>#..

2021-08-09 10:46:00 59

原创 【设计模式】简单工厂模式

简单工程模式,用于创建对象实例;隐藏了具体的类,只返回抽象的父类。这里用到了 里氏转换原则优点:1.降低耦合性隐藏了具体实现类,只需要关注抽象类缺点:创建类违背了开放-封闭原则class Project{public: Project() { cout << "Project Coustruction" << endl; } virtual void DoSomething() { cout << "Project DoSome

2021-08-09 10:43:22 66

原创 【C++】指针

C语言指针的内存申请和释放malloc 申请内存free 释放内存int* i;i = (int*)malloc(sizeof(int));*i = 0;free(i);i = nullptr;C语言和C++的区别,在于C++ new的时候,申请内存的同时也会调用构造函数delete 会调用析构函数和释放内存NULL 和nullptr的区别C++11提供了nullptr来避免这种情况的发生。所以建议指针的置空都用nullptrvoid Print(..

2021-08-05 17:35:03 42

原创 【C++11】如何防止枚举成员出现重定义

C++11 枚举方式是添加一个class修饰符,防止枚举成员出现重定义的错误enum class HOUSE { big, small };enum class COMPUTER { big, small};这样编译的时候就不会出错了。 使用要加上枚举名来限定枚举量: HOUSE h = HOUSE::big; COMPUTER c = COMPUTER::small;...

2021-08-05 13:06:34 538

原创 【C++】字符串拼接及速度对比

百万级以上字符串拼接建议使用append string str; clock_t c = clock(); //执行100w次 for (int i = 0; i < 1000000; i++) { str = str + "hello";//最慢,基本卡死 } clock_t c2 = clock(); //+= 0.183ms append 0.17ms cout << double(c2 - c) / CLOCKS_PER_SEC << e

2021-08-05 09:33:51 664

原创 【C++】string 与const char* 、char* 字符串的转换

//string转const char*string s ="abc";constchar* c_s = s.c_str();// const char*转string 直接赋值即可constchar* c_s ="abc";string s(c_s);// string转char*string s ="abc";char* c;constint len = s.length();c =newchar[len+1];strcpy(c,s.c_str()); //ch.

2021-08-04 20:52:38 246

原创 C# set()和get()有什么作用

C#中get和SET,看来看去还是看不懂,通俗一点解释一下,用了有什么好处,不用会怎么样如果你这样写是没有什么不一样的.private int __Old;public int Old{get{return __Old;}set{__Old = value;}}但是如果你这样写就不一样了.private int __Old;public int

2021-08-04 20:50:47 559

原创 【C++】C语言和C++字符串

C语言int main(){ const char* str = "World"; //============C风格字符串==================== //输出:printf 打印到控制台 printf("hello,%s\n", str); //输入:把字符串传给一个char* 数组 char str2[10]; sprintf(str2, "%d", 123); printf("%s\n",str2); //获取字符串长度 cout << st

2021-08-04 18:51:04 58

原创 【C++】常量

常量的初始化常量必须在定义的时候进行初始化const int b;//error 常量必须要在定义的时候初始化const int a = 123;常量引用const 声明的引用可以被任意同类型int,string...所赋值初始化,初始化后的常量引用不能再被修改const int a = 10;const int &aa = a;aa = 123;//erro const int 不能修改数值常量成员初始化型的成员除在定义的时候初始化外,必须在构造函数以列表形式

2021-08-04 14:01:32 150

原创 【C++】std 命名空间

为了避免头文件重名,新版 C++ 库也对头文件的命名做了调整,去掉了后缀.h,所以老式 C++ 的iostream.h变成了iostream,fstream.h变成了fstream。而对于原来C语言的头文件,也采用同样的方法,但在每个名字前还要添加一个c字母,所以C语言的stdio.h变成了cstdio,stdlib.h变成了cstdlib。命名空间的声明是有作用域的,可以在函数内部声明。...

2021-08-04 13:31:19 94

原创 【C++11】 Lambda表达式

[ ] 捕获行为 []默认不捕获,就代表不能用lambda函数体外的参数 =值拷贝捕获 &引用捕获 [=,&name] 除了name使用引用,其他使用是值拷贝 所有值拷贝的数据不能在函数体内使其左值修改,如果想要修改可以使用mutable [=] () mutable{a++;}; [this] 表示可以使用所在类中的成员变量或者函数 int Func(int id, string name){ int a =0

2021-08-02 21:21:45 64

原创 【UE4C++】The game module ‘xxx‘ could not be found. Please ensure that this module exists and that it

这种错误,应该是打开UE4或者生成UE4 sln项目的时候,已经有UE4的进程开着。1. 请关闭所有UE4进程,并保持资源的原始模样。再重新生成VS 解决方案,并打开VS2. Ctr+F5打开UE4

2021-08-02 10:23:32 694

原创 【C++】方法的重写、重载、重定义

重写:对父类的同名虚函数进行重定义,有多态的效果重载:方法或者类中的成员方法定义的时候,方法名相同,参数不同,参数顺序不同;未实现多态重定义:对父类同名方法进行重新定义,未实现多态class Parent{public: Parent(int a, int b):A(a),B(b) { } int A; int B; void Print() { cout << "A " << A << endl; cout <&lt

2021-07-30 13:16:04 758

原创 【UEC++】 容器TArray—性能优化

对于容器类型(比如TArray、TSet、TMap等等),如果您在关键行需要对代码进行操作,很多情况下,您需要考虑的最重要的事是使用正确的容器。举例来说,如果您需要保持一列特有元素并需要经常添加、移除或搜索它们,那么您可以使用TArray这个容器,但实际上TSet是一个更好的选择。如果您想要在紧密的存储空间中非常快地进行元素迭代,那么您可以选择TArray。但是,您需要在写代码时查看一下其他操作(添加、移除等等)的含义。这里我们有一些简单方法,可以帮助您确认对TArray的使用最优化,从而不必在发布游戏

2021-07-29 11:40:58 1436

原创 C++内存区分析

内存模型分为5个区:栈区、堆区、静态区、常量区、代码区。每个区存储的内容如下:1、栈区:存放函数的参数值、局部变量等,由编译器自动分配和释放,通常在函数执行完后就释放了,其操作方式类似于数据结构中的栈。栈内存分配运算内置于CPU的指令集,效率很高,但是分配的内存量有限,比如iOS中栈区的大小是2M。2、堆区:就是通过new、malloc、realloc分配的内存块,编译器不会负责它们的释放工作,需要用程序区释放。分配方式类似于数据结构中的链表。“内存泄漏”通常说的就是堆区。3、静态区:全局变量和

2021-07-28 21:16:33 96

原创 控制台 常用DOS命名

system("cls");//清屏system("pause");//暂停程序执行,直到用户按下回车键system("color 6A");//6前景色 0背景色system("time");//显示修改时间;/T只显示时间system("Date /T");//Date 显示和修改日期;/T只显示日期system("shutdown -p");//-p立即关机system("shutdown -s -t 60");//60s后关;exit(0);//退出程序以下作为日常查询使用,使用.

2021-07-28 20:38:09 132

原创 Unity3d面试题积累

在网上找了些面试题,做做嘿嘿。1.请描述游戏动画有哪几种,以及其原理。2.alpha blend 工作原理3.写光照计算中的diffuse的计算公式4.lod是什么,优缺点是什么5.两种阴影判断的方法工作原理6.MipMap是什么?作用?7.用u3d实现2d游戏,有几种方式?答:一种用UI实现(GUI,NGUI...),一种是采用3d实体对象(plane

2014-01-05 23:42:19 1375

原创 U3D 模型导入及设置

1. 一般导入.fbx模型在u3d里面时,模型的坐标轴都是跟u3d不对称的,所以在制作模型的时候,最好在模型制作软件里设置好对应的坐标轴。2. 制作模型的时候,要根据实际需要,规定模型哪些是合并的,哪些是分开的。比如车身与轮子。还有网格需要能合并一起的就合并一起,材质球同理。(提高优化)3. 缩放问题u3d中的1单位是fbx文件中的一单位的100倍。所有在3dmax制作模型时,要相

2014-01-04 11:31:43 2952

原创 UI设计及制作方案

1.制作UI最好不要用原生UI系统,运行效率极低。相比插件UI ,NGUI是目前比较好的。2.UI图片资源管理及优化a)图片格式一般采用PNG,在移动开发,不透明的图片保存为不带透明通道的图片格式,jpg;方便自动压缩为etc格式b)所有图片命名要规范,存放位置要合理。方便查找与优化。c)保存图片的源文件,方便重复修改与利用。d)小的图片资源尽量打在ATLAS图集里面,U3

2014-01-04 11:10:04 891

原创 Unity3D学习笔记-编写脚本常常出现的错误

1.这次出现这个错误是我在做毕业大设计的时候,用一个SoundManager脚本来统一管理游戏音效文件,所有的文件初始化放在Start()函数里;在PlayerControl脚本里面的Start()函数里调用了音效脚本管理的一个播放文件方法,导致出现这种错误。注释:assigned是分配的意思。后来我把音效管理脚本的音效初始化放在了Awake(),让其初始化优先级高

2014-01-04 10:32:55 2208

原创 Unity3D学习笔记-android之Input

1. 手机的返回键对应着keyCode.Escap键位,可以控制程序的退出。2. Inpu.GetTouch(int index) 指的是当前屏幕停留手指数量最后的一个索引。3. Input.touches储存的是手指触摸对象。也就是Touch对象,每个触摸都是个对象,其中包含了一些封装好的信息。可以通过Touch对象获取信息。

2014-01-04 10:31:12 786

转载 Untiy随机函数

电子游戏中玩家与系统进行互动的乐趣绝大多数取决于事件发生的不可预知性和随机性。在unity3D的API中提供了Random类来解决随机问题。最简单的应用就是在数组中随机选择一个元素,使用Random内置的方法可以进行选择。代码如下:Floatelement=myArray[Random.Range(0,myArray.Length)];Random.Range方法的两个参数

2014-01-04 10:21:59 714

原创 C#自定义随机类

using System; namespace MyRandom { public class Rand { private long seed; //随机数种子 //用系统时间作为随机种子 public Rand() { string

2014-01-04 10:17:52 652

转载 堆和栈的区别(转)

一、预备知识―程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) ― 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态

2014-01-04 10:15:10 473

转载 C# set()和get()有什么作用

C#中get和SET,看来看去还是看不懂,通俗一点解释一下,用了有什么好处,不用会怎么样如果你这样写是没有什么不一样的. private int __Old; public int Old{ get{return __Old;} set{__Old = value;} }但是如果你这样写就不一样了. private int __Old; public int

2014-01-04 10:10:58 1402

转载 Unity3D 移动开发代码优化

Unity3D 移动开发代码优化1. 尽量避免每帧处理比如:function Update() { DoSomeThing(); }可改为每5帧处理一次:function Update() { if(Time.frameCount % 5 == 0) { DoSomeThing(); } }2. 定时重复处理用 InvokeRepea

2014-01-04 09:26:35 845

转载 Unity3d之性能优化

1.使用静态类型当使用JavaScript很重要的优化是使用静态类型替代动态类型。Unity使用一种技术叫做类型推理的技术来自动转换JavaScript为静态类型脚本。var foo = 5;上面例子中的foo将自动被推断为一个整数值。因此,Unity可能使用大量的编辑时间进行优化,而不使用耗时的动态名称变量查找等。这就是为什么Unity的JavaScript执行平均速度是

2014-01-04 09:09:55 867

转载 Unity3D 鼠标拖动3维物体与系统自带拖动刚体物体

using UnityEngine;using System.Collections;public class MouseControl : MonoBehaviour {    IEnumerator OnMouseDown()    {        var camera = Camera.mainCamera;        if (camer

2013-05-04 22:24:50 1194

Unity3D API

一个很好的开发Unity3D的帮组文档,里面只有C#跟JS脚本语言。

2012-12-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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