这里列举出手游开发中用到了所有特殊文件夹。 Unity3D研究院之手游开发中所有特殊的文件夹雨松MOMO程序研究院 1.Editor Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx/xxx/Editor和/Editor是一样的,无论多少个叫Editor的文件夹都可以。Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在编辑时使用。一般呢会把一些工具类的脚本放在这里,或者是一些编辑时用的DLL。比如我们现在要做类似技能编辑器,那么编辑器的代码放在这里是再好不过了,因为实际运行时我们只需要编辑器生成的文件,而不需要...

  JtoKu4tUG9ir   2023年11月02日   93   0   0 实用技能Unity

两个类相互include就会引发bug交叉引用。这样声明的时候就会显示找不到。 这种情况下在头文件上不要include,在类定义前引用一下ClassB. 这样就可以解决 如: classWingman; classFighter:publicGameObject {

  JtoKu4tUG9ir   2023年11月02日   74   0   0 摩杜云

单色shader Shader"ChrisShader/OneColorShader" { Properties { _Color("color",Color)=(0,0,0,0) } SubShader { Pass { Color[_Color] } } } 纹理shader Properties{ _MainTex("Base(RGB)",2D)="white"{} } SubShader{ Pass { SetTexture[_MainTex]{combinetexture} } } FallBack"Diffuse" }

  JtoKu4tUG9ir   2023年11月02日   59   0   0 摩杜云

之前已经有几篇文章写打包AssetBundle,但毕竟没有实际在项目中写过都写的比较浅。 刚好最近项目更新Unity5.5.2就顺便由我来更新ui打包流程 这里就把这次的经验写一下 这里还是稍微解释一下打包的基本目的: 打包ui就是把你做的界面打包出来成assetbundle包,讲道理你就把每个界面打成bundle包在游戏中你就可以直接加载来用,但是这样子的话你的每个bundle包就会非常的大,为什么呢,是因为这样子每个界面的bundle包里都包含这个界面用到的字体,贴图atlas,texture,shader还可以有你自己使用的动态组件。 这样子你的同一份资源都复制了很多份出来。 当然不能这...

  JtoKu4tUG9ir   2023年11月02日   119   0   0 摩杜云

想搞个全屏Sprite,获取Screen.Width什么的都不对。 因为这个跟你的Camera的aspect有关。 所以有个很简单的方法 首先一般你的项目都会限度是以宽还是高做基准来拉伸 我们是横版游戏,所以是宽做基准 我们的宽定的标准值为1334. 所以是这样 publicintGetScreenHeight(GameObjectgo) { Cameracamera=NGUITools.FindInParents<Camera>(go); intheight=Mathf.CeilToInt(1334/camera.aspect); returnheight; }

  JtoKu4tUG9ir   2023年11月02日   65   0   0 摩杜云

最近在移植u3d的游戏到WindowsPhone8上,WindowsPhone有多蛋疼就不说,移植的过程中还各种问题,稍稍总结一下 1.WindowsPhone账号在电脑上注册不要在手机上。手机上我就没注册成功过 2。unity版本一定要最新。untiy最近才开始适配WindowsPhone的游戏,越新版本你需要解决的问题就越少。(我是用4.5.3) 3.图片格式需要选择WindowsPhone平台能接受的格式(我是选择了DXT5) 4.图片的shader如果选择了NGUI的Unlit/TransparentColored.需要把里面的 CullOff LightingOff ZWriteOf...

  JtoKu4tUG9ir   2023年11月02日   83   0   0 摩杜云

在比较旧版本的ngui中(NGUI3.0前),使用动态字体(dynamicfont)一直是有碎片化的问题,网上有各种方法解决,用得最多的应该是在游戏一开始把动态字体的贴图导入很多字使贴图撑大。 这种方法是因为在游戏过程中,如果锁屏或被其他应用中断等各种问题使游戏退到后台,动态字体贴图资源被释放,回来后的贴图与原来的贴图对不上,使获取的动态字体不对。而撑大图片使得动态字体贴图的最小大小扩大,使得截取时没有问题这种方法实行起来很简单: 在游戏一开始运行的脚本上的Start()函数中加上 [SerializeField]FontuseFonts; usedFonts.RequestCharacter...

  JtoKu4tUG9ir   2023年11月02日   118   0   0 摩杜云

1.在wp8的sdk中,sdk可以在vs中生成的.dll文件,放在unity的plugins文件夹里面,unity的脚本就可以随意调用sdk中的函数,这样就已经可以做到unity传数据到手机上。 但很多时候为了耦合性低一点,会在sdk上在封装一层(或者说在sdk的基础上),在unity打包出来的vs工程上的MainPage.xaml.cs文件上写调用函数。然后在unity上写event事件,以发送信息的形式让vs工程捕捉。这样的话dll文件就不用放在unity工程上,在vs工程再添加引用事例:unity端:一个包含调用函数的脚本xxxwp8.cs。一个包含回调的脚本xxxwp8Controll...

  JtoKu4tUG9ir   2023年11月02日   84   0   0 摩杜云

用UIAnchor一直不能做到随心所欲。最近找到个方法能完美适配。 先设一个父节点上面就挂上一个UIAnchor 在这父节点下设子节点挂什么都可以。 一般情况下,这样子设的锚点会以子节点下的中心为中心,这样只能显示到四分之一的图形。 这时候可以把子节点下的position拖动到可以完全显示的时候,这样就可以完美显示。 记得不能拖动父节点。 也必须是父节点上挂UIAnchor,子节点下挂图形。

  JtoKu4tUG9ir   2023年11月02日   62   0   0 摩杜云

ui加载有几种方法,一个是直接挂在scean里面,一个通过代码instance如: GameObjectgo=GameObject.Instantiate(Resources.Load(“prefabName”))asGameObject; 两种方法都可以 但是如果是要讨论加载时间的话,要看预制如果制作。 由于主要影响加载时间的就是预制数量、预制里控件数量、预制上挂的脚本的Awake()、onEnable()函数里的代码的操作。所有主要考虑这些方面。 最直接的办法是直接把ui整个做到一个预制里,预制里所有控件全部打开勾上。然后再在代码里的Awake()初始化。再把不用关闭。 这样就一次把所有...

  JtoKu4tUG9ir   2023年11月02日   69   0   0 摩杜云

1.在button上挂BoxCollider,勾上IsTrigger.添加UIButtonMessage,设置Target和FunctionName。 2,.在button上挂BoxCollider,用在GameObject上挂UIEventListener,再写个脚本获取并处理事件如: usingUnityEngine; usingSystem.Collections; publicclassPlayerRotateEventHandler:MonoBehaviour{ privateGameObjectpc_raymond_01; privateboolisPressed=false;...

  JtoKu4tUG9ir   2023年11月02日   73   0   0 摩杜云

暂停一下,在下一帧继续。可控制场景到同一时间渲染

  JtoKu4tUG9ir   2023年11月02日   68   0   0 摩杜云

计时器管理类 usingUnityEngine; usingSystem.Collections; usingSystem; publicclassTimerManager:MonoBehaviour { privatestaticTimerManagerm_instance=null; publicstaticTimerManagerInstance{get{returnm_instance;}} voidAwake() { m_instance=this; } //Usethisforinitialization voidStart(){ } //Updateiscalledon...

  JtoKu4tUG9ir   2023年11月02日   69   0   0 摩杜云

虽然这几个可以用作简单的延时,但是有时用处可大了。比如一些动画需要在同一时间播放等等。。 yieldreturnWaitForFixedUpdate();//等到固定的帧刷新(和帧率无关,固定时间刷新) yieldreturnWaitForEndOfFrame();//等到帧对最后 yieldreturnWaitForSeconds(1.0f);//等一秒 yieldreturnnull;//等到下一帧 第一二个可以参照下面的周期图: 比如游戏有卡顿时,有时动画播放会出现问题,这时候用yieldreturnnull等到下一帧会有神奇的作用

  JtoKu4tUG9ir   2023年11月02日   104   0   0 摩杜云

这里先声明转自http://www.jianshu.com/p/b37ee8cea04c 1.资源类型GameObject,Transform,Mesh,Texture,Material,Shader,Script和各种其他Assets。 2.资源创建方式静态引用,在脚本中加一个publicGameObject变量,在Inspector面板中拖一个prefab到该变量上,然后在需要引用的地方Instantiate;Resource.Load,资源需要放在Assets/Resources目录下;AssetBundle.Load,Load之后Instantiate。3.资源销毁方式GameObje...

  JtoKu4tUG9ir   2023年11月02日   125   0   0

一、预备知识—程序的内存分配一个由C/C编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。4、文字常量区—常量字符串就是放在这里的。程序结束后由系统释放5、程...

  JtoKu4tUG9ir   2023年11月02日   71   0   0

转自:http://blog.jobbole.com/85435/ 在开发.NET程序过程中,由于CLR中的垃圾回收(garbagecollection)机制会管理已分配的对象,所以程序员就可以不用关注对象什么时候释放内存空间了。但是,了解垃圾回收机制还是很有必要的,下面我们就看看.NET垃圾回收机制的相关内容。 创建对象在C中,我们可以通过new关键字创建一个引用类型的对象,比如下面一条语句。New关键字创建了一个Student类型的对象,这个新建的对象会被存放在托管堆中,而这个对象的引用会存放在调用栈中。(对于引用类型可以查看,C中值类型和引用类型)Students1=newStudent...

  JtoKu4tUG9ir   2023年11月02日   91   0   0

转自:http://blog.theknightsofunity.com/profiling-unity-application-profiler-samples/ TheUnityProfilerSamplesissomethingthatmostofUnityusersareunawareof.Yetitcanbeextremelyhelpfulifyouwanttofindoutwhatamountofresourcesyourcodetakesduringtheexecution. Ifyou’realreadyfamiliarwithbuilt-inprofilerthenyoumi...

  JtoKu4tUG9ir   2023年11月02日   67   0   0

转自:http://www.tracefact.net/CSharp-Programming/Generics-In-CSharp.aspx 术语表generics:泛型type-safe:类型安全collection:集合compiler:编译器runtime:程序运行时object:对象.NETlibrary:.Net类库valuetype:值类型box:装箱unbox:拆箱implicity:隐式explicity:显式linkedlist:线性链表node:结点indexer:索引器 简介VisualC2.0的一个最受期待的(或许也是最让人畏惧)的一个特性就是对于泛型的支持。这篇文章将...

  JtoKu4tUG9ir   2023年11月02日   51   0   0

NGUI的Scrollview当要重置的时候那几个reposition阿,ResetPosition,repositionNow什么的非常烦。 现在稍稍总结一下 首先。分清两个概念。一个是UIScrollview,一个是UIGrid。 UIScrollview是负责显示用的,UIGrid会在UIScrollview下。移动啊,置顶啊,其实都是UIScrollview控制的。 Scrollview.ResetPosition()就是让这个表格回到顶端(默认顶端,可以自己设置) UIGrid是负责把所有数据放到UIGrid这个框框里的。操作只跟自己框框内的有关,所有这个UIScrollView的移...

  JtoKu4tUG9ir   2023年11月02日   86   0   0 摩杜云
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~