- 博客(164)
- 收藏
- 关注
原创 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
6526
原创 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
238
原创 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
787
原创 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
501
原创 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
866
原创 ++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
545
原创 把单一元素的数组放在一个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
635
原创 汇编 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
43342
5
原创 Lua table的remove和nil操作的区别
我在看《Lua程序设计(第二版)》的时候,这本书不是看了不止一遍了,每次看都有新发现。 今天看到这么一句话:Lua中的table可以像全局变量一样,将nil赋予table的某个元素来删除该元素。了解Lua的都知道Lua的table还有个table.remove方法来删除table中的制定元素,对于这两种删除table元素的方法,我每次总搞混删除后table究竟变成了什么样子,为了以后再忘记,今天就
2017-07-22 15:32:39
6861
原创 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
5203
转载 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
4700
原创 Lua 的require
在工作中碰到类似这样一种情况:local x = ...x变量不在函数中,这样的用法还是第一次见,所以自己敲了一个类似的例子,做个小标记。例子如下:--LuaTest.luaLuaTest = {}function LuaTest.DeclareFunc (moduleName) print("DeclareFunc output is ", moduleName)enddo l
2017-04-14 12:57:00
909
原创 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
4569
1
原创 unity-UGUI隐藏按钮
方法1:Button btn;btn.gameObject.setActive(false);方法2:Button btn;btn.transform.localScale = Vector3.zero;
2017-03-21 12:44:13
14710
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
11510
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
384
转载 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
5368
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
306
原创 JSP中application与全局变量的区别
书上常常会说JSP的内置对象application就起到“全局变量”的作用,那么application与全局变量有什么区别呢?主要就是生命周期的区别application在服务器启动后生成,服务器关闭后销毁; 全局变量则只对当前page有效。这也就是网站的计数器用到application而不用全局变量的原因。
2016-09-27 16:20:08
1068
原创 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
350
原创 文件的编码方式
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
1160
原创 自己写的一个扑克牌比较点数的小游戏
//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
2132
原创 利用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
803
转载 【转】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
350
原创 格式化操纵算子
详细内容看《C++编程思想》 按照书里面的代码敲得,这里只说明一点:T.setf(0, ios::floatfield);第一个参数为0,对于这句automatic的格式化,是精度域指整个有效数字的数目, 而ios::scientific和ios::fixed的精度域都是指小数点后面的数字数目,这点注意区分,当第一个参数为0,即automatic情况下,若精度域小于所给变量的精度,则会自动变成科学
2016-08-17 10:21:05
497
原创 使用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
945
原创 宏定义
宏定义不管在C还是C++中都经常用到,其用法是个比较神奇的东西,宏定义不表示任何类型,同样也表示任何类型,这也是宏定义的一个优点,宏函数类似C++的函数重载,可以用于任何类型,但不进行类型检查,宏定义实际代表的就是一个字符串,比如下面这段代码#include<iostream>using namespace std;#define M int main(M) { cout << "hello
2016-08-15 09:34:09
358
原创 非修改性序列之lexicographical_compare
lexicographical_compare函数是用来比较两个容器的大小,包括元素和个数,他的原则是这样的:1、一次比较两个容器中的元素,若遇到第一个不同的元素,则根据元素的大小决定容器的大小2、当两个容器元素都相同,个数不同时,若第一个容器个数小于第二个容器的元素个数,则第一个容器小于第二个容器3、元素个数与元素都相等时,两个容器相等,函数返回false只有当第一个容器小于第二个容器时,lexi
2016-08-14 19:59:30
835
原创 非修改性序列算法之mismatch
mismath是比较两个容器元素的不同的一个函数,会找到第一个不同的元素,函数形式有两种:第一种:template<class _InIt1, class _InIt2> inline pair<_InIt1, _InIt2> mismatch(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2)第二种:
2016-08-14 19:10:38
465
原创 非修改性序列算法之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
2452
原创 非修改性序列算法之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
495
原创 非修改性序列算法之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
354
原创 自动类型转换
我们都知道多数编程语言都有类型自动转换的功能,那到底那些类型之间可以自动转换呢,一般主要遵循两点: 1、目标类型与源类型兼容,比如double和int之间2、目标类型大于源类型,比如double占8字节,int占4字节,那么当把一个int类型赋给一个double类型的变量时,int可以自动转换成double类型在java中类型比C++更严格,java不能从double类型自动转换成int,但C++
2016-08-10 15:36:58
340
原创 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
642
原创 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
2503
原创 指针的引用遇到的内存释放问题
先来一段程序:#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
1889
原创 当函数重载遇上函数指针
#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
1166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人