08 2017 档案
摘要:真正的高手总是精益求精,不会放过任何一个能够优化的机会。 一. 首先是32位和64位系统的类型所占字节数。 除了指针与long随操作系统长变化而变化外,其他的都固定不变(32位和64位相比) 二. 然后就是内存对齐,具体规则是: 1.每个变量按照变量类型的整数倍进行对齐。 2.整个结构体按照结构体中
阅读全文
摘要:extern关键词有两个用途: 1. extern "C“ 表示修饰的函数是在C中定义的,告诉编译器编译时按照C的规则来编译。这是由于C++为了实现函数的重载,在编译时会将函数翻译为函数名加参数的形式,例如void foo( int x, int y );会被翻译成类似_foo_int_int的样子
阅读全文
摘要:其实脚本语言已经封装的很好了,用到的一切都可以说是对象了,单独学习一下lua的OOP只是为了将来看代码方便一点。 首先需要注意的: 1.lua不存在类的概念,没有明确的语法用来声明类 2.lua的OOP实际上是通过table来实现的,这也有道理,因为对象本质就是数据和操作封装在一起 一.对象 上面提
阅读全文
摘要:原文地址采访 Lua 发明人的一篇文章,不再转载,只谈感受。 最近在学习lua,偶然看到了这篇文章,本来觉得看一下可能对lua的学习会有帮助,但是发现这里面的思想不仅限于lua,有很多思想的闪光点。 首先谈一下编程语言本身: 1.编码风格 lua算是我学习的第三种脚本语言,前两种是python和C#
阅读全文
摘要:本以为看完C API lua就学的差不多了,没想到越陷越深啊。 首先说元表的概念,元表是一个特殊的表,作用是定义一个表的操作(metamethod元方法)。类似于C++中类的运算符重载。 使用元表需要注意的事项: 1.元表可以定义的metamethod有下面这些 1 __add(a, b) --加法
阅读全文
摘要:学习Lua的最终目的就是为了和C/C++互调,所以C API是承上启下的重头戏。 核心思想:Lua与C通过一个抽象的栈进行通信。你可以理解为Lua和C各司其职,只是通过栈进行沟通,类似操作系统的进程通讯一样。这样做至少有两点好处:1. 程序员不必关心另一个语言是如何工作的,只需要清楚有哪些值是自己需
阅读全文
摘要:1.函数声明语法: 首先说明一点,lua中函数是第一类值,和其他的类型(table,number,boolean等)一样,所以可以作为函数的参数,table的键和值。 2.函数调用 直接使用函数名称调用,参数按照形参表里面依次匹配,如果实参多于形参,则多余实参被丢弃;如果实参少于形参,那么剩下的形参
阅读全文
摘要:本来打算3天将lua学完,无奈lua语法实在有点难记,所以还是好记性不如烂笔头,记录一下学习内容。 首先介绍一下lua的table,这是一个key-value型映射,可以动态增长。功能十分强大,并且lua只提供这一种容器。这也是为啥经常忘记的原因,因为仔细学起来有很多东西需要思考。对于有C或者C++
阅读全文
摘要:最近在做一个小游戏,需要实现人物的跳跃效果。自己从简单到复杂,把目前比较好的方法都试了一遍,这里简单总结一下。 1.直接使用动画位移 这个其实是美术在做动画的时候已经做好的东西,跳跃的动画本身就含有位移,只需要在应用动画的时候勾选Apply Root Motion就可以了。但是简单也有问题,就是跳跃
阅读全文
摘要:最近在做一个小游戏,涉及到动画的过渡,但是由于不了解过渡设置导致出现十分奇怪的结果。下面在自己的实验基础上介绍一下这些参数的具体含义。如图,是一个从跑到滑行的过渡。假设这个过渡是从A到B。Has Exit Time:这个意思是A在什么时候过渡到B,即A在这个时刻发生过渡的动作,你可以把它理解为一个特...
阅读全文
摘要:最近在做一个小游戏开始的时候需要用到倒计时的效果,具体效果为每秒显示3,2,1,GO,然后字体由大到小,透明度由浅到深。下面介绍三种方法。1.最直接的方法,自己写倒计时的函数,开协程改变字体大小和透明度,这种方法较为简单,下面是我写的代码,其中state为需要改变的Text的text组件 pu...
阅读全文

浙公网安备 33010602011771号