摘要:
有本书叫做《代码阅读与方法实践》,看了一次,以C++语言来讲解的,前部分注重语法,然后讲了数据结构,然后讲了软件工程。说了这么多,其实就是在向读者补知识。迩要想看懂代码,代码基本功可必不可少。 然后第二部分开始讲LINUX的编码规范和各种类型的惯例,也就是说,知道了基本知识还不够,还要知道一些业行的行话。之后就给出一个例子教迩怎么阅读了,无非就是断点,修改代码,想看出结构?其实还是经验活,迩看此书之前读代码不能看出结构,读完后也别想着能看出代码结构。这个框架还是得看迩的经验。当然咯,人家代码说明书写得好迩就什么都不用猜了。总的来说, 看代码,要先学会这代码是怎么用的,用在什么地方,会用了,才开 阅读全文
摘要:
1、不能存在单独的点和面,重复的面和点,不能被玩家所看到的模型也不必制作。2、贴图要保证始终是2的倍数,但不必为正方形。3、移动平台,如IP4,应该每个模型一般不超过300-1500个面,同屏不应该超过7000个面,整个场景不应该超过20000个面。4、从3DS MAX导入的使用材质应该始终使用标准的材质,也包括了多维的标准材质。5、编辑好的3D模型导出之前最好坍塌先,这样可以起到优化多边面的目的。6、最好同一个人物要整个导出来,不要分几部分,这样可以节省面。7、导出建筑群时应该同类的建筑群放在一个文件时,切不可将不同类的放于一个模型中,不然想要其中某个模型的时候会引起重复的浪费。8、尽量以复 阅读全文
摘要:
一、XCODE5以后,file's owner取消,那么table view的数据源和委托应该指向哪里呢,答案是指向view control那里,当然了,view control必须与相应继承了数据源和委托的接口的类所对应。二、如果迩使用了属性,定义了一个Color的属性,那么这个时候迩想使用xcdoe自动生成get set方法可以 在implementation里写上@synthesize来实现,如果迩要自定义get set 方法,set方法固定名称为set加上属性名,这里就是setColor,然后返回值肯定就是void了,如果是自定义get方法,返回值看看迩这个是什么类型的变量,如 阅读全文
摘要:
U3D的自动寻路插件是不少,但是其实U3D的PRO版本就提供了相当实用的自动寻路组件了,以下教程分别讲解自动寻路的路径选择优先,上楼梯跳下的条件判断等等实用方法,教程分三编,但这个教程没有讲到Navmesh Obstacle这个组件,这个组件其实就是一个动态的障碍物,也就是说不需要烘培进网格之中的,所以效率来讲比较低下,但胜在有灵活性,这个组件用法十分简单,随便拉一个在任意一个gameObject就可以了,然后NavMesh Agent会自动避开或被挡掉当碰到Obstacle时。unity自带寻路Navmesh入门教程http://liweizhaolili.blog.163.com/blog 阅读全文
摘要:
内存优化:1、如果是开发2D游戏,尽可能的把图集做得不超过1024,最好是512,如果不断的把图集做成2048的话,会一直把内存撑爆,因为凡是加载其中一个图片,便会把整个2048的图集都加载进去了,除非这个是公共的图集,在哪个场景都会频繁用到,否则不应该把图集弄太太大。2、尽量不要一下子把所有的场景元素加载到场景中,凡是分开出现的应该从Resource.Load来进行加载,然后在不用的时候通过unLoad来进行清除资源。也就是说像太多对话框之类的不要一开始隐藏在场景中,而是要把它在固定的时候去加载它。减少运算压力而不减少内存大小:关于gameObject上挂载的脚本的激活状态区别,无论是激活状 阅读全文
摘要:
在操作LayerMask时常令一些初学者摸不着头脑下面简单说一下层的开关方法:1.首先引入'|'、'&'、'~'的概念与(交集):10000001 & 10000100 == 10000000或(并集):10000001 | 10000100 == 10000101非(反转):10000001 == ~011111102.int myLayerMask = 1 myLayerMask == 00001000这时层级中的第3层被开启,其余层处于关闭状态另外,需注意的是,层的序号是从0开始计算的因此,上面的操作相当于使用二进制方法进行 阅读全文
摘要:
1、工作是工作学习是学习,态度和方法是不一样的,工作中遇到了问题,如果短时间内解决不了,我们可以绕开它,毕竟不是什么智力竞赛,完成方法是多种的,成果才是最重要而非过程,有时候我们遇到的问题本来就可能是别人造成的,使用了这么多接口,API和类库,谁能保证能一一运行呢,所以这种方法不行,换另一种方法,绕开它,真的,非常非常简单有效的经验。2、调试的一个思路,当迩真是束手无策时,怎么办,问题在,最基本的就是把所有的功能都注释掉,只打开最基本的功能,然后一步步的反注释,由此来解决迷雾中的问题。 另一种问题是,原来能使用的功能,怎么都查不出问题在哪,怎么办?那么迩可以想想,是哪些因素使得功能正常的,一一 阅读全文
摘要:
开发中,迩可能会遇到在xcode里添加一些需要调用原生api的方法,可能是game center,可能是内购之类的,但是这些插件实在太多了,所以迩大可不必自己写这些插件,问题在于,国内的一些插件,像91平台的,PP助手等,之类的插件是没有的,这里还是需要自己去集成的,那么迩自动打包就是个问题了。总不可能每次把u3d项目打包成xcode项目时再配置一次,再把框架引入吧,真是效率低下。其实自动打包还真是不是三言两语能说得完的,这里原理就是主要使用unity3d编辑管线的API实现的,当调用了编译游戏后有个事件是当迩执行完编译时调用的,这里可以调用的种类是可以任意的,可以是python语言脚本,可以 阅读全文
摘要:
注意:unity3d与原生代码的调用需要pro版本,此点注意了。一、IOS平台,由于IOS平台的原生应该是objectC,所以通讯起来非常的简单,1、原生代码调用u3d代码:1.1、在Xcode项目上调用unity3d自带的dll框架,使用其中的发消息命令(UnitySendMessage)就可以向u3d的代码里发送事件消息了,这里第一个参数便是u3d约定的gameObject对象名和函数名,第三个参数是额外的消息参数。1.2、然后是接收端,也就是unity3d这里的代码 ,这里需要在unity3d那里定义一个对象,对象的名称是xcode那里发消息事件所约定好的,然后在gameObject上挂 阅读全文
摘要:
美术方面,也就是使用FLASH这里的用户,请注意以下几点,1、把相同的图案做成元件;2、凡是补间产生的动画物体,也要做成元件;以上便可以节省大量的空间,因为当迩把图案做成元件的话,UNISWF导入U3D时会把相同元件视为同一种图案而只在图集里显示一次。3、把整个动画做成一个元件,但除非必要,不可在主播放的动画元件中插入其它动画元件,因为这样一来便难以通过代码来控制具体的帧数,UNISWF会把所有被这个动画元件占据的帧数都为主动画元件的一帧。4、不能在FLASH中使用3D旋转或缩放,UNISWF现在暂时不支持此功能的导入。5、只支持在FLASH中导出元件,不支持按钮和影片的方式程序方面,在收到F 阅读全文