• (转)Unity延时功能的几种实现

    Posted by : 袁艳平 on 2017年9月7日

    在Unity3D中,新建的脚本会默认继承MonoBehaviour,其中Update函数会被引擎自动调度,如在我的电脑上,Update函数被调用的周期为0.012s。 那么Unity3D中,仅有通过Update函数来实现延时功能吗? 还有无其他的实现呢? 怎么才能让一个界面只显示1秒之后 然后再执行其他的操作~ 比如 游戏的胜利界面 只让他显示一秒 然后执行其他操作 答案是有的,下面就用过的几种延时功能(定时器)一一列出来: 延时功能 是否继承MonoBe

    阅读全文...

  • Unity3D插件开发教程(四):获取地址组件

    Posted by : 袁艳平 on 2017年9月7日

    前几天做导出安装包插件时,遇到了个问题,我需要获取地址,可是每次都要手动填入(复制粘贴)地址是个很费时不讨好的事,所以我就写了一个获取地址的小组件。 样子就是这样的: 一个文本和一个按钮,文本显示选择的路径(路径为空时显示提示语,并且无法选择),点击按钮打开面板选择文件夹。 声明 欢迎分享本文 本文未经允许不能以任何形式转载。 知识要点 组合GUI组件 EditorGUI.BeginDisabledGroup()/EndDisabledGroup() Ed

    阅读全文...

  • Unity3D插件开发教程(三):制作拾色器ColorPicker

    Posted by : 袁艳平 on 2017年9月7日

    Unity有一个自带的Color拾色器面板,只有16进制(例如D5B1B1FF)显示,而32位显示(213, 177, 177, 255)的颜色值是分开四个输入框的,复制起来很不方便。可是我们项目开发时,使用的Color和Color32类却不能使用16进制,所以有时候拾取的颜色值要用到代码里需要大费周章。 所以今天要做一个颜色拾取器,用于同时显示16进制,归一化颜色值,32位颜色值 知识要点: EditorWindow EditorGUILayout.Te

    阅读全文...

  • Unity3D插件开发教程(二):制作批处理工具

    Posted by : 袁艳平 on 2017年9月7日

    俗语说:工欲善其事,必先利其器。 一个好的工具能让你的工作进度加快不少。 在制作关卡时,很多时候会遇到同一个物体可能需要复制多份,然后分布在不同地方。如果 一个个复制太浪费时间了,而美术和策划又不会使用代码批量复制。这时候,就需要做一个批量工具来加快制作的效率了。 首先来看一下我们今天要做的批量工具面板,并且可以根据输入的变量,批量的变更每个的位移,旋转和缩放: 知识要点: EditorWindow GUI/GUILayout/EditorGUI/Edit

    阅读全文...

  • Unity3D插件开发教程(一):自定义锚点组件

    Posted by : 袁艳平 on 2017年9月7日

    在制作游戏(应用)时,很多时候不能把所有对象堆放到场景里,因为这样,场景的加载和实例化会非常慢,会有明显的卡顿感觉。在这种情况下就需要有顺序的初始化场景的对象,例如地面会在一开始初始化,小草石头等小物件放后面,场景上粒子特效(小草上冒起的光点等)放到最后。 那小草和特效应该放置在哪个位置呢、应该旋转多少度、缩放多少呢,这个时候我们可能需要定制一个组件:锚点。 这里所说的锚点(Anchor)相对于网页制作中的锚点只有记录坐标、旋转、缩放和层级(parent是

    阅读全文...

  • 优雅的QSignleton (四) 通过属性器实现MonoSingleton

    Posted by : 袁艳平 on 2017年8月30日

    接下来介绍通过属性器实现MonoSingleton。 代码如下: MonoSingletonProperty.cs namespace QFramework.Example { using System.Collections; using UnityEngine; class Class2MonoSingletonProperty : MonoBehaviour,ISingleton { public static Class2MonoSingleton

    阅读全文...

  • 优雅的QSignleton (三) 通过属性器实现Singleton

    Posted by : 袁艳平 on 2017年8月30日

    不通过继承的方式实现单例模式方法 代码如下: MonoSingletonProperty.cs namespace QFramework.Example { using UnityEngine; class Class2SignetonProperty : ISingleton { public static Class2SignetonProperty Instance { get { return QSingletonProperty<Class

    阅读全文...

  • 优雅的QSignleton (二) MonoSingleton单例实现

    Posted by : 袁艳平 on 2017年8月30日

    如何用QSingleton实现继承自MonoBehaviour的单例。 代码如下: MonoSingleton.cs namespace QFramework.Example { using System.Collections; using UnityEngine; class Class2MonoSingleton : QMonoSingleton<Class2MonoSingleton> { public override void On

    阅读全文...

  • 优雅的QSignleton (一) Singleton单例实现

    Posted by : 袁艳平 on 2017年8月30日

    如何用QSingleton实现一个简单的单例。 代码如下。 Singleton.cs namespace QFramework.Example { using UnityEngine; class Class2Singleton :QSingleton<Class2Singleton> { private static int mIndex = 0; private Class2Singleton() {} public override vo

    阅读全文...

  • Unity 游戏框架搭建 (十四) 优雅的QSignleton(零) Quick…

    Posted by : 袁艳平 on 2017年8月30日

    QSingleton: 之前有几篇文章介绍过单例模板在Unity中的几种实现。之后又参考了其他的单例库的实现,借鉴(chao)了它们的优点,借鉴了哪里有声明原作者。 快速开始: 实现一个继承MonoBehaviour的单例类 namespace QFramework.Example { [QMonoSingletonPath("[Audio]/AudioManager")] public class AudioManager : ManagerBase,I

    阅读全文...

  • 1(current)
  • 2
  • 3