C++
文章平均质量分 79
--小智--
这个作者很懒,什么都没留下…
展开
-
难解的编译错误(一)
//Test.hnamespace Test{ class CTest { public: void Fun(); }; CTest& theTest();} //Test.cpp#include "Test.h" using namespace Test; CTest& theTest()原创 2009-09-14 20:26:00 · 664 阅读 · 0 评论 -
ue4 Encountered %d object(s) breaking Disregard for GC assumptions
今天遇到一个奇怪的崩溃Bug,具体的崩溃log如下:[2019.04.19-02.36.16:128][618]LogGarbage: Warning:Disregard for GC object Monatge_ON_AnimNotify/Game/_AI/BT/Task/AI_Random/W2_Stand_Relaxed_Unjam_Montage.W2_Stand_Relax...原创 2019-04-19 15:44:18 · 2148 阅读 · 0 评论 -
ue4 BlueprintNativeEvent用法
BlueprintNativeEvent在ue4中是用来修饰UFUNCTION的,和BlueprintImplementableEvent有点类似,BlueprintImplementableEvent用于实现C++调蓝图(声明在C++,实现在蓝图)BlueprintNativeEvent除了实现C++调用蓝图外,同样会调用一个本地方法,本地方法为 声明的函数名+_Implementati...原创 2019-04-28 12:15:20 · 4865 阅读 · 0 评论 -
c#访问c++dll不能调试
vs2017中用C#程序访问c++dll的时候不能调试c++,只需要修改项目设置即可,如下图启用本地代码调试选项默认是没有勾选的,勾选以后应该就可以正常调试c++了如果还是不行,在vs 工具->选项->调试->常规把逐过程执行属性和运算符(仅限托管)前面勾去掉即可 ...原创 2018-11-30 17:34:37 · 661 阅读 · 0 评论 -
ue4 FUdpSocketReceiver接收不到消息
ue4中udp接收消息端代码如下:bool FShooterUDPReceiver::Start(const int32 ThePort){ //Create Socket FIPv4Endpoint Endpoint(FIPv4Address(0,0,0,0), ThePort); //BUFFER SIZE int32 BufferSize = 2 * 1024 * 1024;...原创 2018-06-25 15:25:50 · 2236 阅读 · 1 评论 -
ue4 FString 中文乱码问题
使用FString出现乱码,最简单的情况,FString Str = "你好";这时候就会出现乱码,解决方法是改成这样 FString Str = TEXT("你好");以上是最简单的乱码情况,本文主要讨论的是网络传输过程中出现的乱码情况。本文讲述C#同ue4进行通信,出现的中文乱码情况,其他语言类似。本文分两种情况讨论,1.C#向ue4发送string在C#发送strin原创 2016-09-08 12:35:26 · 12212 阅读 · 1 评论 -
float精度问题
看上面截图,float有效数字到达8位时,运算就已经出问题了原创 2018-04-17 18:00:06 · 683 阅读 · 0 评论 -
ue4实现富文本提示
游戏中需要用到富文本提示信息,即一行提示信息文字可配置多种颜色,还可以考虑加入图片(本文只实现多颜色,扩展也比较简单)实现富文本,大体分为两步:1.实现富文本配置2.显示富文本先来看第一步,定义提示信息格式,如下所示:测试行一很明显,可以为“测试”、“行”、“一”配置不同颜色,此处使用了颜色索引,约定好一些颜色,当然也可以直接配置颜色值,想要加入图片,只要扩展属性即可原创 2016-10-10 14:53:08 · 4752 阅读 · 0 评论 -
c++ 函数参数和成员变量重名问题
以前一直觉得可以,如像下面这样void PlayerState::SetInvincible(bool invincible){bInvincible = invincible;}但实践证明是不行的,这样做什么都不会发生需要改为下面这样void PlayerState::SetInvincible(bool invincible){this->bInvinc原创 2016-03-14 15:25:18 · 10002 阅读 · 0 评论 -
工作日志
1.如何清空流重的信息如: std::stringstream ss;ss std::string strText = ss.str(); // 此时strText 中为"test"ss.str("");strText = ss.str(); // 此时strText中为"" 被清空了原创 2010-11-01 18:48:00 · 692 阅读 · 0 评论 -
游戏中的资源管理
游戏中用到的资源,何时加载,何时释放,有很多种方式可以对其进行管理,以下讨论一种比较常见的方式,使用引用计数进行管理。比如说需要对图片资源进行管理,定义图片类为CPicure,图片管理类为CPictureMgr,此类的接口CreatePictureFromFile负责图片的加载,为了防止Client忘记调用销毁图片资源的接口,我们就不提供图片销毁接口,而是返回一个CPicture的引用计数智能原创 2010-04-06 11:36:00 · 1258 阅读 · 0 评论 -
问题点滴
今天遇到了一个问题,就是以前可以播放的动作,现在播不出来了,仔细debug,发现程序在每一帧都会调用SetIdleAction(设置空闲动作),bImmediate参数用的是false,此参数为true代表立刻替换当前的动作,为false表示如果当前没有空闲动作,就替换当前的,否则就返回,不做操作,如果想用false替换,那只有先停止当前的动作。原创 2009-12-18 13:50:00 · 537 阅读 · 0 评论 -
dll接口中使用string问题
在dll接口中使用string或其他标准容器会出现莫名其妙的问题,我遇到的问题是 主程序和dll用相同的编译版本(debug或release),调用没问题,但一个使用debug,另一个用release,就有问题了,把string改为char*就好了。原创 2009-11-17 10:22:00 · 1131 阅读 · 0 评论 -
find find_first_of区别
find()是查找一个字符串 find_first_of()是查找numbic中任一字节原创 2009-10-16 21:36:00 · 754 阅读 · 0 评论 -
难解的编译错误(二)
单件模式有一种比较常用的实现方法,就是把构造函数声明为私有,然后声明一个友元函数,由该友元函数负责对象的创建,大体如下:namespace PrintStuff{ class CPrinter { friend CPrinterthePrinter(); private: CPrinter(); ~CPrinter(); };原创 2009-09-14 20:55:00 · 804 阅读 · 0 评论 -
ue4 UParticleSystemComponent 详解
UParticleSystemComponent是ue4中用来管理粒子系统的component,用起来也很简单,一般常用的方法有virtual void Activate(bool bReset=false) override;virtual void Deactivate() override;注意这两个接口是虚函数,最早的定义是在UActorComponent中,在UActorCo...原创 2019-06-29 14:45:54 · 3752 阅读 · 0 评论