08 2015 档案
摘要:Lua中table类似与C#种的字典,其实就是一个key-value键值对数据结构.来学习下table基本操作 Table的创建 myTable = {} --表名后面使用{}赋值,表示一个空的表 myTable = {name="盘子脸",age=18,isMan=true} --创建时候就...
阅读全文
摘要:假设我们需要在一个物体周围生成一些小装饰品, 比如以物体A半径5的圆圈线上生成一些宝箱等等,。 我们先看看如何计算物体x,y坐标的公式: //根据原点,角度,半径获取物体的位置. //x = 原点x + 半径 * 邻边除以斜边的比例, 邻边除以斜边的比例 = cos(弧度) , 弧度 = 角度 *3.14f / 180f; float x = centerPos.x +...
阅读全文
摘要:我们来谈谈Unity的UI, 通常会写一些UI页面,当A页面需要去操作B页面的时候. 至少要获取B页面的引用吧! 一般新人都会在组件的写一个public GameObject UIB页面的属性, 然后通过拖放的方式获取B页面的引用. 当你的UI多的时候拖的方式就很难找到的页面被那些引用了。 =.=有的时候你就是不想拖放方式获取B页面引用,反正看起来总觉得怪怪的. 我们来了解下UI管理中心. ...
阅读全文
摘要:实现一个按钮的上下漂浮效果,我们通常会想到animation 和 itween来实现. 这次我们来使用三角函数实现 如图: 代码实现: using UnityEngine; using System.Collections; public class Demo : MonoBehaviour { private float radian = 0; ...
阅读全文
摘要:UGUI官方实例中是使用Animation来控制UI的移动,放大缩小动画等等, Animation来控制UI的动画工作量实在是太多了, 所以我们一般使用itween,DoTween. 来控制动画, 这样工作量大大减少. 那今天我们来学习下UGUI + DoTween吧 UGUI进行简单的移动,放大,旋转 public class MyClass : MonoBehaviour { ...
阅读全文
摘要:DOTween是一个快速,高效,完全统一的类型安全的对象属性动画引擎,免费开源,大量的高级特性. DoTween兼容Unity4.5以上的版本,支持的平台: Win, Mac, Unity WebPlayer, WebGL, iOS, Android,Windows Phone 8, Windows Store, PS Vita (PSM), PS4,Xbox One平台, (下载之后放入P...
阅读全文
摘要:我们在游戏一些逃生游戏中很可能让主角不能在怪物前方的三角区域内, 如果存在里面玩家就会被发现. 这种判断的该如何实现呢? 请看下图: (此图是主角探索怪物) 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倍, 很显然玩家已经在敌人的体内了. 我们是通过...
阅读全文
摘要:我们制作3D动作游戏的时候,常常主人公是一对多人进行攻击,或者敌人在角色前方一定范围内进行攻击. 我们怎么实现这种效果呢? 1. 使用触发器(多体攻击) 方便调试,可视化(推荐) 2. 运用点乘和叉乘,判断敌人的角度和位置(单,多) 一般 3. 使用Physics的Physic...
阅读全文
摘要:我们常常在游戏中遇到这种问题. 比如敌人遇到了主角就会朝他旋转过去. 或者判断主角在左边还是右边等等 效果图: 向量A,B的叉乘获得一个垂直于他们的C向量,我们可以通过这上面的值来判断敌人四个区域的某一区 代码的实现: using UnityEngine; using System.Collections; public class Test : MonoB...
阅读全文
摘要:向量是有方向和大小的量,所谓单位化就是保持其方向不变,将其长度化为1 有一向量a(标箭头),其长度为绝对值a,单位化为(a/绝对值a) 公式: 向量a的坐标为(x,y),那么其长度(又称为模)为:√(x²+y²)。单位化后为(x,y)/√(x²+y²)或(x/√(x²+y²) , y/√(x²+y²)) 代码实现方式: public void normalized...
阅读全文
摘要:2维向量如何计算与某一个交点之间的夹角,假设A,B是向量,C是他们共同连接的一个点计算出A-C-B形成的角度 我们先了解几个简单的计算: 2D向量的乘积计算 (A.x * B.x + A.y * B.y) 2D向量的取摸 开平方(A.x * A.x + A.y * A.y) ...
阅读全文
摘要:今天我们就来学习如何创建一个编辑框,上面绘制一个折叠框里面有四种消息框. 代码如下: using UnityEngine; using System.Collections; using UnityEditor; public class Test : EditorWindow { private bool foldoutType; [MenuIte...
阅读全文
摘要:来一起复习下初中三角函数, 我记得当初我数学能考65分 勾股定理: 直角三角形两直角边a,b的平方等于斜边c的平方 三角函数: sinA = a / c cosA = b / c tanA = a / b cotA = b / a 已知两条边求角度: sinA = a /c. 那么我们知道a和c的长度要计算A的...
阅读全文
摘要:LitJSON是一个.NET平台下处理JSON格式数据的类库,小巧、快速。它的源代码使用C#编写,可以通过任何.Net平台上的语言进行调用,目前最新版本为LitJSON 0.9. 下载地址: http://lbv.github.io/litjson/ Unity基本上都使用这个dll来解析Json.下载dll放入Plugins文件夹,引用命名空间using LitJson就可以正常使用啦O(...
阅读全文
摘要:四种路径的权限: Application.dataPath 包含游戏数据文件夹的路径(只读) Application.persistentDataPath 包含一个持久数据目录的路径(可读可写) ...
阅读全文
浙公网安备 33010602011771号