随笔分类 - Unity
摘要:using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestPhyCollider : MonoBehaviour { public Col
阅读全文
摘要:最近在做新项目跟同事讨论UI制作方案, 这里就说下根据节点来生成UI代码, 这个工具可以根据预设生成一个分布类。目前组件还不是很完善, 自己使用需要修改部分代码 组件功能如下: 1. 自动设置引用 2. 生成Find代码, 注册 函数 3. Atl+3 快速命令节点为#开头 如图 生成代码: public partial class CanvasObject { ...
阅读全文
摘要:需求如何: 用户名字长度为2-12之间, 如果错误在界面上弹出一个消息框 写烂一点 public void PostRename(string name) { if (string.IsNullOrEmpty(name)) return; if (name.Length > 2 && name.Length 2 && name...
阅读全文
摘要:Unity Animator 自带也支持过渡条件, 我看了下PlayMaker没有这个概念. 最近研究下PlayMaker,图形化编程的确很爽. 但是PlayMaker 始于与给一些策划进行流程设置. 用它来全程做游戏我感觉会疯的. 在Playmaker上自己封装的条件类 using HutongGames.PlayMaker; using System.Collections; usi...
阅读全文
摘要:通过声明的变量名称,主动关联引用. 使用这个关联引用两种方式1. 给你组件继承 MonoAutoQuote 点击组件inspector 按钮执行2. 给你组件类添加[AAutoQuote] 特性 通过Plateface/SetSelectGameRef 执行 [AAutoQuote] public class MonoAutoQuote : MonoBehaviour ,IAutoQ...
阅读全文
摘要:因为背包有很多道具,用户要根据不同需要搜索出不同的道具. 道具的属性有非常居多,游戏快开发完毕的时候,突然发现ItemManager类里面几乎每一个搜索方法都有一个foreach循环, 循环里面因为一点点不同的搜索条件就会导致重新写一个搜索方法出来.最后发现有10多种搜索方法. 后来打算优化下这个问题, 参考了下Itween传入参数进行移动的方式. 代码如下: using System...
阅读全文
摘要:需求: 勾上界面上多选框筛选出符合的道具 思路: 1. 使用组合数字让一个数字包含多这个搜索条件,比如2代表搜索衣服和武器, 数字按照2的n次幂的值递增,通过|,&,^运算符实现一个数字包含多个条件的情况 运算符的介绍: http://www.cnblogs.com/plateFace/p/4192351.html. 2. 拼接一长串字符代表搜索条件比...
阅读全文
摘要:项目进入上线阶段了, 有一些地方需要总结和优化. 我发现UI一改变,我就要拖很久的UI。 UI结构发生改变我还必须给一些变量设置好引用,后来我去看别人预设的时候组件拖放的变量至少10个以上, 它们一旦丢失了引用了, 作为一个外人就很难把他们关联起来. 预设就定义了m_xxx名字必须和GameObject名字一样, 这样就方便其他人帮你修复预设的引用啦. 今天就突然想起写一个辅助用具, 一键把...
阅读全文
摘要:在公司也有大半年的日子了, 0.0没想到游戏行业人流量巨大,我已经是客户端部门里面最老的程序员了. -.- 想着我第一次进公司正式写业务逻辑非常紧张, 以前都是帮其他公司打打杂,接入一下支付的SDK. 经过了半年的业务逻辑编写,学习到主程教我的CRUD(增删改查业务逻辑). 今天来分享下我制作背包过程中的问题. 单元格的需求 我想你的背包应该是一个个单元格组成的如下图: ...
阅读全文
摘要:using UnityEngine; using System.Collections; using System.Diagnostics; using System; public class PerformanceTest { public static PerformanceData Execute(Action action, int runCount) { ...
阅读全文
摘要:代码测试的由来 上几个星期上面分配给我一个装备系统,我经过了几个星期的战斗写完90%的代码. 后来策划告诉我需求有一定的改动,我就随着策划的意思修改了代码. 但是测试(Xu)告诉我装备系统很多功能都用不上了. Xu: 我有300多项测试用例,现在有很多项都无法运行了. 你修改了部分代码我又要全部跑一边, 我只能告诉你,我只能大概看一遍了. 之后我就买了本单元测试的书籍,向项目中引用代码测试的概念...
阅读全文
摘要:在软件开发中单元测试是非常重要的一个环节, =。=盘子脸去了几家公司都没有单元测试这个概念. 我们的系统虽然从代码看上是分离的, 在多数情况下都需要依赖于其他模块来运行.(单元测试部分内容教我解决这个问题.) 虽然学习了单元测试,但我相信实际过程中使用不到了. 接下来我稍微介绍下Unity如何进行单元测试.(推荐书籍”单元测试的艺术第二版”) 为什么要使用单元测试: 1. 我们可以...
阅读全文
摘要:盘子脸在制作单机游戏的时候,先以为没有好多数据需要保存本地. 就没有使用json等格式自己进行保存. 使用PlayerPrefs类,但是后面字段越来越多的时候. PlayerPrefs保存就发现要手动写很多代码. 于是是否可以写一个辅助方法自动帮我保存一个对象,取出一个对象呢? 代码如何下: public static class PlayerPrefsExtend { pu...
阅读全文
摘要:有一个道具是否过期的需求, 界面上实时改变时钟的状态. 1. 绿色没有过期 2. 红色已经过期 客户端时间: 2016-1-15-17:50; 服务器时间: 2016-1-15-17:51; 一旦道具时间已经过期了.我们就需要把时钟状态改成红色. 解决方案: 1. 使用客户端时间,判断道具是否过期. 忽略这个时间戳 2. 每次判断的时候,获取服务...
阅读全文
摘要:大家都知道一谈起热更新的话首选是Ulua这个插件, 其实Unity可以使用dll热更新的,如果你实在不想用Lua来编写逻辑,0.0请下看Dll+AssetBundle如何实现热更新的.让你看完这个文章之后只是认识DLL热更新的方式和概念,掌握热更新的实战框架还需要你自己=。= 我们通常的做法是编译成的DLL打成AssetBundle文件, Unity通过WWW下载AB文件获取里面DLL.通...
阅读全文
摘要:通常情况下,Unity可以通过双击桌面上的图标启动,也可以通过输入命令行启动(例如,MacOS终端或者Windows的CMD窗口),通过这种方式在启动时会接受命令和信息.我们可以制作一些小工具跟Unity通信或者调用Unity里面的方法(比如一键打包APK,通过第三方工具把资源打包成package包). 你可以在圣典里面查询到全部的命令行参数: http://game.ceeger.com/M...
阅读全文
摘要:我们来谈谈Unity的UI, 通常会写一些UI页面,当A页面需要去操作B页面的时候. 至少要获取B页面的引用吧! 一般新人都会在组件的写一个public GameObject UIB页面的属性, 然后通过拖放的方式获取B页面的引用. 当你的UI多的时候拖的方式就很难找到的页面被那些引用了。 =.=有的时候你就是不想拖放方式获取B页面引用,反正看起来总觉得怪怪的. 我们来了解下UI管理中心. ...
阅读全文
摘要:我们在游戏一些逃生游戏中很可能让主角不能在怪物前方的三角区域内, 如果存在里面玩家就会被发现. 这种判断的该如何实现呢? 请看下图: (此图是主角探索怪物) using UnityEngine; using System.Collections; using UnityEditor; using System; public class Test : MonoBehav...
阅读全文
摘要:使用Physics.OverlapSphere来检测不方便调试, 其他都可以. 核心代码: //检测敌人 public void CheckEnemy() { Collider[] cols = Physics.OverlapSphere(this.transform.position, attackRange); ...
阅读全文
摘要:建议阅读: 判断敌人在玩家的某一个区域: http://www.cnblogs.com/plateFace/p/4716799.html 我们可以根据玩家和敌人的坐标, 进行叉乘来获取一个向量可以用它来判断敌人的位置, 敌人是否在攻击范围内. 下面我简单实现下对单体敌人是否攻击做判定 这种方式有一种重大的BUG, 假设我把敌人大小增加100倍, 很显然玩家已经在敌人的体内了. 我们是通过...
阅读全文
浙公网安备 33010602011771号