自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(164)
  • 收藏
  • 关注

原创 Unity3D ugui获取ui控件屏幕坐标

【代码】Unity3D ugui获取ui控件屏幕坐标。

2023-11-16 19:04:12 371

原创 Unity 如何判断GameObject是否为Prefab

public static bool IsPrefabAsset(UnityEngine.Object obj){ var type = PrefabUtility.GetPrefabAssetType(obj); var status = PrefabUtility.GetPrefabInstanceStatus(obj); // 是否为预制体判断 if (type != PrefabAssetType.NotAPrefab || status != PrefabInst.

2022-01-25 15:15:00 5650

原创 Git 常用命令

先说一下计算机中二进制的算法: 整数 整数的二进制算法大家应该很熟悉,就是不断的除以2取余数,然后将余数倒序排列。  小数 小数的二进制算法和整数的大致相反,就是不断的拿小数部分乘以2取积的整数部分,然后正序排列。比如求0.9的二进制: 0.9*2=1.8 取 1 0.8*2=1.6 取 1 0.6*2=1.2 取 1 0.2*2=0.4 取 0 0.4*2=

2021-06-27 10:34:44 196

原创 VS C++调用Lua动态链接库

这里使用的是VS2019,其他版本类似新建一个控制台应用创建好工程后,打开工程属性页进入C/C++ —> 常规—> 附加包含目录,将lua的头文件目录包含进去进入链接器 —> 输入 —> 附加依赖项,将VS编译lua-5.4.2库生成的lib文件进行添加进入链接器 —> 常规—> 附加库目录,将VS编译lua-5.4.2库生成的lib文件所在位置进行添加最后,将VS编译lua-5.4.2库生成的dll放到工程的可执行文件所在..

2021-03-17 13:10:36 639

原创 Qt C++调用Lua动态链接库

新建一个C++工程创建好结构如下选中工程,右键选择“添加库”选择外部库选择通过VS编译lua-5.4.2库方式创建的lib库,和要包含的头文件目录,我把包含的头文件目录和lib都放在了一个文件夹下点击下一步,就会在工程的pro文件下添加如下内容:最后就可以调用lua库的各种函数啦这里给出个小案例:#include <iostream>extern "C" {#include "lua.h"#include "lualib.h"#include "lauxlib

2021-03-17 12:02:16 431

原创 VS编译lua-5.4.2库

首先登陆Lua官方下载Lua源码包“lua-5.4.2.tar”一、编译Lua5.4.2这里使用的VS2019(其他版本类似哈),创建一个动态链接库的项目这里起名叫“Lua5.4.2”解压官方下载的源文件包lua-5.4.2.tar,将解压后的src目录copy至当前工程所在目录,并将src目录下所有的 .c和.h文件添加至当前工程更改工程配置属性“C/C++ => 预编译头”为“不使用预编译头”编译工程,提示错误如下需要找到“lua.c”和“luac.c”源文件,将其中的“

2021-03-17 11:50:06 764

原创 ++a与a++效率问题

a=a+1,是先取a的值,再进行加加操作,它等同于a++。a+=1,是先对a进行加1操作,在返回a的值,它等同于++a。另外a++ 直接对内存中的值进行加1,并将结果写入内存,更效率。a=a+1 先申请一块内存空间,分别把变量a 和常量1 放入累加器中计算,再把计算结果放到内存中。最后,这三类指令在编译成汇编指令的时候也会有一定的差异,导致运行效率的变化。...

2020-07-20 19:58:18 462

原创 把单一元素的数组放在一个struct的尾端,则每个struct objects就拥有了可变大小的数组

标题是《深度探索C++对象模型》(《Inside The C++ Object Model》)中的一句话,其中给出的例子如下:strcutmumble{charpc[1];};strcutmumble*pmumbl=(structmumble*)malloc(sizeof(structmumble)+strlen(str...

2019-06-04 21:06:22 583

原创 汇编 eax寄存器和AX,AH,AL之间的关系

EAX与AX不是独立的,EAX是32位的寄存器,而AX是EAX的低16位。举例来说mov eax, 12345678h那么AX将会是eax的低16位,也就是5678h。而如果此时mov ax,3344h那么eax的值将变为12343344h,所以对ax的赋值是会影响eax的。同样,AH是ax的高8位,而AL是ax的低8位,这就是说ah为33h,al为44h。...

2019-03-26 10:41:49 39343 3

原创 Lua table的remove和nil操作的区别

我在看《Lua程序设计(第二版)》的时候,这本书不是看了不止一遍了,每次看都有新发现。 今天看到这么一句话:Lua中的table可以像全局变量一样,将nil赋予table的某个元素来删除该元素。了解Lua的都知道Lua的table还有个table.remove方法来删除table中的制定元素,对于这两种删除table元素的方法,我每次总搞混删除后table究竟变成了什么样子,为了以后再忘记,今天就

2017-07-22 15:32:39 6342

原创 lua--对字符串中的特殊字符进行转义

str = "金乌照(1级)"str2 = "金乌照(1级)"str3 = "赤灵刀"str2 = string.gsub(str2, "[&=+%%%c%(%)]", function(c) return "%"..cend)print(str2)str = string.gsub(str, str2, str3)print(str)输出结果:

2017-05-06 16:43:24 5070

转载 unity3d鼠标滚轮实现摄像头拉近后退

using UnityEngine;using System.Collections;public class CubeStatic : MonoBehaviour{ public float minFov = 15f; public float maxFov = 90f; public float sensitivity = 10f; void Update(

2017-04-21 10:07:30 4600

原创 Lua 的require

在工作中碰到类似这样一种情况:local x = ...x变量不在函数中,这样的用法还是第一次见,所以自己敲了一个类似的例子,做个小标记。例子如下:--LuaTest.luaLuaTest = {}function LuaTest.DeclareFunc (moduleName) print("DeclareFunc output is ", moduleName)enddo l

2017-04-14 12:57:00 835

原创 Lua使用动态链接库调用C模块(VS2015)

创建一个win32项目,起名mylib(因为我已经创建过mylib了,所以这里用的mylib2)。 下面开始编写C模块:mylib.h如下:/*mylib.h*/#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <dirent.h>#include <errno.h>extern "C"

2017-04-06 17:00:35 4464 1

原创 unity-UGUI隐藏按钮

方法1:Button btn;btn.gameObject.setActive(false);方法2:Button btn;btn.transform.localScale = Vector3.zero;

2017-03-21 12:44:13 14328 3

原创 unity-实现摄像机跟随物体(Vector3.SmoothDamp)

直接贴代码using UnityEngine;using System.Collections;public class FllowTarget : MonoBehaviour { public Transform target; //摄像机要跟随的人物 public float smoothTime = 0.01f; //摄像机平滑移动的时间 private Vector3 came

2017-03-16 10:01:02 10912 2

原创 JS基础语法之变量

1、var x = 1;x = 1; 这里两种变量声明并赋值的方式有所不同,主要体现在delete命令无法删除前者2、var x = 1;var x;document.write(x);第二次对x的重复声明无效,x值仍然为1.var x = 1;var x = "hello world";document.write(x);但若第二次声明并重新赋值,则第二次赋值会覆盖第一次赋值,此时

2016-12-01 15:46:34 348

转载 selenium webdriver定位iframe里的body方法

1.iFrame有ID 或者 name的情况 //进入id=”frame1”的frame中,定位id=”div1”的div和id=”input1”的输入框。 dr.switchTo().frame(“frame1”); dr.findElement(By.id(“div1”)); dr.findElement(By.id(“input1”))2.如果一个iFrame既没有id,也没有name

2016-11-15 09:12:39 5254 1

转载 【转】StringUtils的isBlank与isEmply

public static boolean isEmpty(String str)   判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0  下面是 StringUtils 判断是否为空的示例:   StringUtils.isEmpty(null) = true  StringUtils.isEmpty(“”) = true  StringUtils.isE

2016-10-18 11:38:01 275

原创 JSP中application与全局变量的区别

书上常常会说JSP的内置对象application就起到“全局变量”的作用,那么application与全局变量有什么区别呢?主要就是生命周期的区别application在服务器启动后生成,服务器关闭后销毁; 全局变量则只对当前page有效。这也就是网站的计数器用到application而不用全局变量的原因。

2016-09-27 16:20:08 1016

原创 JSP之include指令与include动作的区别

自己懒得敲,直接粘张图片上来

2016-09-17 09:22:12 343

原创 java中的字符流

首先说明一下文本,文件与文本文件的三者的区别与关系1、文本(char)是16位无符号整数,是字符的unicode编码2、文件是byte,byte,byte…的数据序列3、文本文件是文件(char)按照某种编码的方式(utf-8,utf-16be,gbk)序列化为byte的存出结果字符的处理就是一次处理一个字符java中字符流的基本实现:InputStreamReader 完成byte流解析为ch

2016-08-21 16:24:22 316

原创 文件的编码方式

1、GBK编码java的默认编码方式是GBK编码方式,一个中文对应2个字节,一个英文占一个字节2、utf-8utf-8的编码方式中,一个中文对应三个字节,一个英文占一个字节3、utf-16beutf-16be编码方式是java的编码方式,不管是中文还是英文都占两个字节4、ansi编码ansi主要用在中文电脑的文本自带的编码方式,比如txt文本中只有ansi编码方式才能正确显示中文这里写个关于java

2016-08-20 17:41:03 1101

原创 自己写的一个扑克牌比较点数的小游戏

//Poker.javapackage com.skyL;public class Poker implements Comparable<Poker>{ private String flowerColor; private String Point; public Poker(String flowerColor, String Point){ this.f

2016-08-20 14:33:41 2021

转载 【转】Fiddler对安卓应用手机抓包图文教程

直接上链接: http://www.cr173.com/html/37625_1.html

2016-08-19 10:23:41 458

原创 利用java的异常处理自己写个一个图书借阅系统的小案例

//Book.javapackage com.skyL;public class Book { private int id; private String name; public Book(int id, String name){ this.id = id; this.name = name; } public int

2016-08-19 10:09:50 741

转载 【转】java try、catch、finally及finally执行顺序详解

1.为什么要用finally 先看一个没有finally的异常处理try-catch语句: 假设count为要使用到的资源,并且用完要求释放此资源。那么我们可以把释放资源的语句放到try-catch后执行,当前的程序不管是在执行完try语句块还是catch语句块,都会顺序执行到下面释放资源的语句。int count = 0; //初始化资源try{ count++; if(count

2016-08-18 13:24:06 316

原创 格式化操纵算子

详细内容看《C++编程思想》 按照书里面的代码敲得,这里只说明一点:T.setf(0, ios::floatfield);第一个参数为0,对于这句automatic的格式化,是精度域指整个有效数字的数目, 而ios::scientific和ios::fixed的精度域都是指小数点后面的数字数目,这点注意区分,当第一个参数为0,即automatic情况下,若精度域小于所给变量的精度,则会自动变成科学

2016-08-17 10:21:05 443

原创 使用VMware Workstation Pro 12虚拟机安装Mac教程

三个当时安装mac时用到的网址: https://www.rkdot.com/install-mac-osx-with-vmware-workstation-pro-12/http://jingyan.baidu.com/article/bea41d4388a8c4b4c51be6ab.htmlhttps://xuanwo.org/2015/08/09/vmware-mac-os-x-intro/

2016-08-16 13:14:34 881

原创 宏定义

宏定义不管在C还是C++中都经常用到,其用法是个比较神奇的东西,宏定义不表示任何类型,同样也表示任何类型,这也是宏定义的一个优点,宏函数类似C++的函数重载,可以用于任何类型,但不进行类型检查,宏定义实际代表的就是一个字符串,比如下面这段代码#include<iostream>using namespace std;#define M int main(M) { cout << "hello

2016-08-15 09:34:09 330

原创 非修改性序列之lexicographical_compare

lexicographical_compare函数是用来比较两个容器的大小,包括元素和个数,他的原则是这样的:1、一次比较两个容器中的元素,若遇到第一个不同的元素,则根据元素的大小决定容器的大小2、当两个容器元素都相同,个数不同时,若第一个容器个数小于第二个容器的元素个数,则第一个容器小于第二个容器3、元素个数与元素都相等时,两个容器相等,函数返回false只有当第一个容器小于第二个容器时,lexi

2016-08-14 19:59:30 777

原创 非修改性序列算法之mismatch

mismath是比较两个容器元素的不同的一个函数,会找到第一个不同的元素,函数形式有两种:第一种:template<class _InIt1, class _InIt2> inline pair<_InIt1, _InIt2> mismatch(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2)第二种:

2016-08-14 19:10:38 404

原创 非修改性序列算法之min_element和max_element

min_element是求容器中的最小值,有两种函数重载:第一种,单纯的比较大小:template<class _FwdIt> inline _FwdIt min_element(_FwdIt _First, _FwdIt _Last)第二种,按照函数要求比较大小,可以是普通的比较函数,也可以是仿函数:template<class _FwdIt, class _Pr> inline

2016-08-14 18:14:49 2350

原创 非修改性序列算法之count和count_if

count主要用来统计容器内元素个数,其格式有两种:第一种,第三个参数为元素值template<class _InIt, class _Ty> inline typename iterator_traits<_InIt>::difference_type count(_InIt _First, _InIt _Last, const _Ty& _Val)第二种,第三个参

2016-08-14 17:37:42 460

原创 非修改性序列算法之for_each

for_each是algorithm头文件包含的stl算法之一。一、for_each的使用#include<iostream>#include<vector>#include<algorithm>using namespace std;template<typename T>int pushNum(T &vec, int first, int last) { int ret = 0;

2016-08-14 11:10:42 320

原创 自动类型转换

我们都知道多数编程语言都有类型自动转换的功能,那到底那些类型之间可以自动转换呢,一般主要遵循两点: 1、目标类型与源类型兼容,比如double和int之间2、目标类型大于源类型,比如double占8字节,int占4字节,那么当把一个int类型赋给一个double类型的变量时,int可以自动转换成double类型在java中类型比C++更严格,java不能从double类型自动转换成int,但C++

2016-08-10 15:36:58 306

原创 java环境变量详解---找不到或无法加载主类

默认安装在C:\ProgramFiles\Java\jdk1.8.0_101目录下 环境变量配置为 PATH=.;%JAVA_HOME%\bin CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar; JAVA_HOME=C:\Program Files\Java\jdk1.8.0_101注意CLASSPATH和PATH前的“

2016-08-10 11:55:29 591

原创 GNU Parallel神器入门

今天学习GNU Parallel神器的入门,推荐一个讲的比较详细的博客:http://my.oschina.net/enyo/blog/271612#OSC_h1_1重点是先安装上:(wget -O - pi.dk/3 || curl pi.dk/3/) | bash输入这条语句就OK了。

2016-08-09 17:29:18 2393

原创 指针的引用遇到的内存释放问题

先来一段程序:#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string.h>using namespace std;int getMem(char* &p) { int ret = 0; if (&p == NULL) { cout << "func getMem &p == NULL err

2016-08-08 10:42:24 1832

原创 当函数重载遇上函数指针

#include<iostream>#include<string>using namespace std;void func() { cout << "void func()" << endl;}void func(int a) { cout << "void func(int a)" << endl;}void func(int a, int b) { cout <

2016-08-08 09:41:18 1121

空空如也

空空如也

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

TA关注的人

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