自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

原创 unity中用Convert.FromBase64String生成的texture2d变模糊原因

上面这种动态生成texture2d的方法,会导致某些工程设置下图片模糊,一定要用下面这种创建方法,关闭mipmap

2021-04-16 15:58:07 482

原创 生活、工作点滴(五)

《游戏开发的数学与物理》1.抛物线公式 是由微积分推导出来的,将无限小的时间内行进的距离都加起来。因为正常情况下某一段时间内的速度是不一样的,所以直接使用计算会产生误差。 2.计算随机数公式,得到的是0~n之间的随机数,包含浮点数值。而 % (n + 1) 虽然也是0~n之间的随机数,不过结果是整型值。不过以上两个公式都是均匀随机数,如果想时间正太分布的随机数需要用到Box-M...

2018-12-05 19:13:19 208

原创 生活、工作点滴(四)

今天同样的在开发pyqt版本的行为树编辑器,完整的实现了lua转json的功能,读取本地行为树文件并显示在编辑器中,画了一个简单的行为树图。今天主要遇到的问题是对pyqt的api不大熟悉,比如不知道应该在什么组件上画图,应该怎么用画图相关组件。总结下,今天主要学习了两个知识点,一个是正则表达式匹配相关,另一个是贝塞尔曲线的一点用法。

2016-08-02 20:59:10 255

原创 生活、工作点滴(三)

今天还是同样的解决lua如何转到python对象的问题,开始是想通过解析lua语法的方法勇python里的数据结构存起来,不过后来发现有点无从下手。最后还是借鉴了之前项目实现的类似功能,首先将lua转成json格式,因为python比较好的支持了json和xml,所以再从json转成python很简单。不过还剩下一个要解决的问题,就是讲lua转成json,等号和括号都已经可以转义了,不过有个引

2016-08-01 21:37:44 209

原创 生活、工作点滴(二)

这段时间一直想真正的完整实现一套行为树框架,主要包含行为树编辑器、行为树逻辑实现。行为树逻辑部分已经实现了一个初步版本,有几本的组合节点、条件节点以及运行解析逻辑。接下来就想写一个行为树编辑器,使用的框架希望不是那么陌生,最好能跨平台(虽然不会在其他平台上用 ==),后面偶然的机会接触到了pyqt,也就是python(之前学过一点)和qt(跨平台)的结合,刚好可以满足我的需求。这几天学了下

2016-07-29 20:08:07 266

原创 生活、工作点滴(一)

1.今天算是解决了两个比较难的问题,要是放在以前估计就这样放弃了。一个是在ui上打印log,一直滑动不了,后来一句句调试发现是listview设置的滑动类型问题。2.学习pyqt的时候,在将ui文件编译成py文件时,一直报错,找了好多原因,python版本、语法、pyqt版本等等,都没效。后来发现原来是编译用的命令写错了。。。事实证明很多时候我认为的自己的缺点就是这样,碰到难一点的

2016-07-28 20:59:40 334

原创 生活、工作点滴(序)

最近一次更新博客,还是2014年6月30号,不知道为什么最近突然又想写点东西了,可能是因为来广州3年,一直在奔波劳碌,经历各种各样的事情,想静下心来思考下人生吧。这样也挺好的,也希望自己能坚持写下去。写的东西不限吧,会记录一些生活和工作的思考总结,充实下自己。

2016-07-28 20:47:41 252

转载 编写String类的构造函数、析构函数以及赋值函数(C++面试题)

markhttp://blog.csdn.net/xingyu19871124/article/details/7612143

2014-06-30 14:27:41 365

转载 常见面试题——递归

mark,学习http://blog.csdn.net/xingyu19871124/article/details/7615033

2014-06-30 14:26:30 501

转载 对C#和C++0x中Lamda表达式的简略对比--lsp

mark一下!http://blog.csdn.net/augusdi/article/details/11772261

2014-06-28 13:59:12 407

转载 史玉柱的创业经验谈

史玉柱的创业经验谈  http://news.9ria.com/2013/0726/27892.html

2013-07-29 10:02:59 450

原创 RegExp常用一些匹配语句

要匹配的字符串或字符集 中文字符  [\u4e00-\u9fa5] 双字节字符  [^\x00-\xff] 全角字符  [^uFF00-\uFFFF] 空白行 \n\s*\r或\n[\s|]*\r 运用在删除文本空白行时 首尾空白字符 ^\s*|\s*$ 可以用来删除行首尾的空白字符 (包括空格、 制表符、 换行符等) 非常有用的表达式。如写trim函数: functi

2013-07-17 11:39:24 1061

转载 AS3 AS3 object 和Dictionary的区别、===和==区别

AS3中的Dictionary类(flash.utils.Dictionary)是一个新的AS类。Dictionary类和Object唯一的区别在于:Dictionary对象可以使用非字符串作为键值对的键,而Object只能使用字符串做为键值对的键。Dictionary 类用于创建属性的动态集合,该集合使用全等运算符 (===) 对非原始对象键进行键比较。 将对象用作键时,会使用对象的

2012-12-22 10:14:58 973

原创 switch-case 注意!

case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即"只是开始执行处的入口标号".因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行,而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不在判断是否与之匹配,直到遇到break语句才停止执行,退出break语句.因此,若想执行一个case分之后立即跳出switch语

2012-11-06 14:50:17 266

原创 函数指针

函数指针两个用处:函数参数传递转换表函数参数传递:可以实现类型无关函数功能。转换表: switch(op){ case ADD: add(op1, op2); break; case SUB: sub(op1, op2); break; case DIV: div(op1, op2); break; ....}//指针数组初始化double

2012-11-05 11:51:40 249

原创 register修饰符

register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度。例如下面的内存块拷贝代码:  /* Procedure for the assignment of structures, */   /* if the C compiler doesn't support this feature */   #ifdef NOST

2012-11-05 10:30:17 320

转载 函数返回局部变量

1. 返回局部变量的值可以有两种情况:返回局部自动变量和局部静态变量,比如,int func(){int temp = 0; // 返回局部自动变量的值return temp;}局部变量temp存储在栈中,函数返回时会自动复制一份temp的copy给调用者,没有问题。int func(){static int a = 1; // 返回局部静态变量的值retu

2012-10-29 19:07:29 330

原创 各种排序算法时间复杂度比较

各种排序算法时间复杂度比较

2012-10-27 09:46:49 1404

原创 C语言有关文件操作的函数

13.1C语言文件1,两种文件存取方式(输入,输出方式)顺序存取直接存取2,数据的两种存放形式文本文件二进制文件 13.2文件指针定义文件类型指针变量的一般形式:FILE *指针变量名;例如:FILE *fp1,*fp2; 13.3打开文件在使用文件之前,需打开文件.在C里使用fopen函数打开文件.格式为:fopen(文件名

2012-10-25 09:18:45 555

转载 inline 和 宏定义的区别

inline函数是C++引入的机制,目的是解决使用宏定义的一些缺点。1.为什么要引入内联函数(内联函数的作用)  用它替代宏定义,消除宏定义的缺点。宏定义使用预处理器实现,做一些简单的字符替换因此不能进行参数有效性的检测。另外它的返回值不能被强制转换为可转换的合适类型,且C++中引入了类及类的访问控制,在涉及到类的保护成员和私有成员就不能用宏定义来操作。2.inline相比

2012-10-22 13:02:31 464

转载 浅析C++的构造函数,拷贝构造函数和赋值运算符 .

一.首先通过下面的测试程序,粗略的感知一下这三个函数分别在什么情况下被调用#include using namespace std;class T{public:  T() { cout"dafault constructor"endl;}  T(const T & t) {cout"copy constructor"endl;}  void

2012-10-22 12:21:00 291

转载 堆和栈的区别

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

2012-10-17 11:44:26 232

转载 各种语言数据类型大小

C语言short,long 用于限定整数类型,如:short int n;long int m;在此类变量声明中,int可以省略:short n ;long m;引入这两个限定符的目的是为了提供不同长度的整数。在不同的软硬件环境下,int,short,long的长度可能不一样,但可以确定的是16(位)=32(位)signed,unsigned用于限定char或int。分别表示有

2012-10-15 10:48:04 375

原创 细节问题const

const int a;a = 1;// error!const int a = 1; //right!const int a; int const a; 这两个写法是等同的,表示a是一个int常量。const int *a; 表示a是一个指针,可以任意指向int常量或者int变量,它总是把它所指向的目标当作一个int常量。也可以写成int const* a;含义相同。in

2012-10-14 17:40:37 266

转载 C字符串操作函数

常用的函数引用      #include       size_t strlen(const char *s);      int strcmp(const char *s1, const char *s2);      char *strcpy(char *dest, const char *src);      char *strcat(char *des

2012-10-14 17:21:46 442

转载 浅析_countof宏

[plain] view plaincopyprint?#ifndef _cplusplus  #define _countof(_Array) (sizeof(_Array) / sizeof(_Array[0]))  #else  extern "C++"  {  template   char (*__countof_helper(UNALIGNED _CountofType

2012-10-13 14:39:09 670

转载 assert ASSERT VERIFY 区别

断言名 设定条件 Release Debug 是否有报告 影响因素assert 默认 不执行 执行 有 NDEBUG/_DEBUG的定义ASSERT 默认 不执行 执行 有VERIFY 默认 执行 执行 Release环境下无,Debug环境下有总结:assert : 与NDEBUG/_DEBUG的定义有关, NDEBUG宏存在时不起作用。ASSERT: 在De

2012-10-12 11:43:19 439

转载 sizeof strlen wcslen tcslen 比较

sizeof strlen wcslen tcslen 都是取得字符串长度。sizeof :取得字符串的字节长度,包含 '/0'。strlen:取得多字节字符串中字符长度,不包含 '/0'。wcslen:取得宽字节字符串中字符长度,不包含 '/0'。tcslen:取得宽字节/多字节字符串中字符长度,不包含 '/0'。例如:WCHAR wcsStr[] = L'123

2012-10-12 11:42:29 318

原创 template编程相关知识

声明template参数是,前缀关键字class和typename意义相同。使用关键字typename标识嵌套从属类型名称不能再基类列表、成员初始化列表中以它作为基类的修饰符。       3.   traits class可以提取某个指针所指变量的类型。 例: template Iter t;std::iterator_traits::value_ty

2012-10-12 11:41:33 256

原创 虚基类与多重继承

虚基类中尽量不声明成员变量,节省空间。 多重继承的一种情况:public继承一个接口,private继承一个协助实现的类(涉及到虚函数,不然用复合public继承实现更好!)。

2012-10-12 11:38:42 536

转载 讨论一下C++中的private继承

用c++的时间也不短了,private继承除了上才c++这门课的时候用过以外,在实际工程中没有用过private继承。那么private继承真的没有用么,如果没有用,c++为什么要设置这么一种继承方式呢?今天看了effecetive C++ 之后,才将这个问题解决了。private继承是这样一种继承它只继承了父类的实现,不继承接口。也就是说,private继承只涉及“实现”,而不涉

2012-10-12 11:37:07 651

原创 virtual函数中的动态、静态绑定

1、在使用虚函数时,要注意不要重新定义一个基类的non-virtual函数,因为派生类中的重名non-virtual函数会将基类同名函数hide,因为此时non-virtual函数是静态绑定的。2、不要重新定义一个继承而来的virtual函数的缺省参数,由于virtual函数本身世动态绑定的,而参数是静态的。

2012-10-12 11:34:27 288

原创 老调重弹:指针与引用的区别

The Same:都有地址的概念,指针式只想一块内存的地址,引用是一块内存的别名。 Difference:声明形式:指针是“*”,引用是“&”。性质:指针是一个实体(int),引用是一个别名。使用方式:指针需要解引用(*),引用不要。定义方式:指针能够被多次定义,引用只能被初始化一次。关于const:指针有const, 引用没有。关于NULL:指针能为NULL,引用不可

2012-10-12 11:24:58 227

转载 Little-endian和Big-endian

由来:big-endian和little-endian这两个术语来自Jonathan Swift在十八世纪的嘲讽作品Gulliver’s Travels。 Blefuscu帝国的国民被根据吃鸡蛋的方式划分为两个部分:一部分在吃鸡蛋的时候从鸡蛋的大端(big end)开始,而另一部分则从鸡蛋的小端(little end)开始。x86的CPU使用的是LE(Windows中称为“主机字节序”),

2012-10-11 17:04:16 320

原创 os的那些事儿(一)

最近开始看有关操作系统方面的书,对刚看到的一些知识做个小结吧。 计算机系统分为硬件和软件系统,而os则是硬件上的第一层软件。要了解操作系统,那就必须要知道其phylogeny,最初没有os的时候使用人工操作的方式来直接使用计算机的硬件系统,后来出现了单道批处理系统,通过monitor一个一个的处理作业,由于只能每次处理一个作业,所以CPU的利用率不是很高,特别是碰上了作业突然有I/O操作时

2012-10-10 23:08:39 288

转载 set_new_handler() C++

1。global operator new( ::operator new )一般是被这样实现的: void *operator new(size_t size) { if (size == 0) size = 1; void *last_alloc; while (!(last_alloc = malloc(size))) { if (_new_handler) (*_new_

2012-10-10 17:30:14 401

原创 C++中的1和1L

unsigned long p; p=1; //隐式的强制转换; unsignled long p; p=1L; //显式的强制转换; 对于p没有什么不同;

2012-10-10 17:14:03 4674

转载 c++ 函数返回引用/值

一,c++函数的返回分为以下几种情况1)主函数main的返回值:这里提及一点,返回0表示程序运行成功。2)返回非引用类型:函数的返回值用于初始化在跳用函数出创建的临时对象。用函数返回值初始化临时对象与用实参初始化形参的方法是一样 的。如果返回类型不是引用,在调用函数的地方会将函数返回值复制给临时对象。且其返回值既可以是局部对象,也可以是求解表达式的结果。3)返回引用:当函数返回

2012-10-10 14:25:15 397 1

转载 auto_ptr,shared_ptr,weak_ptr,scoped_ptr

auto_ptrauto_ptr的使用很简单,通过构造函数拥有一个动态分配对象的所有权,然后就可以被当作对象指针来使用,当auto_ptr对象被销毁的时候,它也会自动销毁自己拥有所有权的对象,release可以用来手动放弃所有权,reset可用于手动销毁内部对象。但实际上,auto_ptr是一个相当容易被误用并且在实际中常常被误用的类。原因是由于它的对象所有权占用的特性和它非平凡的拷贝行为

2012-10-10 13:30:10 531

TortoiseGit-2.6.0.0-64bit 内含中文包

TortoiseGit-2.6.0.0-64bit 内含中文包 tortoisegit x64 中文版下载(附使用教程+语言包) tortoisegit 64位是针对64位windows系统研发的git用户管理工具

2018-03-31

TortoiseGit-2.4.0.2-64bit.msi 中英文版(附使用教程)

tortoisegit x64 中文版下载(附使用教程+语言包) v2.4.0.2 tortoisegit 64位是针对64位windows系统研发的git用户管理工具,相较于Git原生的命令行管理界面tortoisegit实现了管理界面的图形化和功能化,使得远程分布式管理系统git操作变得轻松简约,在不需要复杂命令行输入的基础上便可以轻松地从远程服务器上同步操作代码,建立分支、合并分支、回退版本只需要简单的图形化按钮便可以简单便捷地完成。而tortoisegit x64 中文版是在软件原有版本的基础上提供tortoisegit中文语言包将软件进行汉化使用,在软件的使用上可以让用户更加清楚地了解到功能的使用,另外,在常规任务的提交、比较版本,创建分支标签、创建补丁以及显示记录等功能上都能更加直观地进行git管理的简易操作。本站为您提供Tortoisegit 64位中文版下载,有需要的用户可以在本站下载!注:下载包中有Tortoisegit 64位安装包以及软件中文包,安装包在未使用时请用户不要轻易删除以及更改文件类型。

2018-03-31

用来测试的pcm文件

用来测试的pcm文件,需要的得可以下载

2014-10-29

空空如也

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

TA关注的人

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