随笔分类 - Unity
摘要:我们制作3D动作游戏的时候,常常主人公是一对多人进行攻击,或者敌人在角色前方一定范围内进行攻击. 我们怎么实现这种效果呢? 1. 使用触发器(多体攻击) 方便调试,可视化(推荐) 2. 运用点乘和叉乘,判断敌人的角度和位置(单,多) 一般 3. 使用Physics的Physic...
阅读全文
摘要:四种路径的权限: Application.dataPath 包含游戏数据文件夹的路径(只读) Application.persistentDataPath 包含一个持久数据目录的路径(可读可写) ...
阅读全文
摘要:之前我使用SimpleMove来控制角色的移动, 后来又想实现人物的跳跃, 看见圣典里面是使用Move来实现的. =.= 然后我都把他们改成move来实现了 代码实现: using UnityEngine; using System.Collections; public class PlayerMove : MonoBehaviour { private Chara...
阅读全文
摘要:屏幕适配是可以通过代码实现的,相信给你时间就一定能写出来. 我们公司貌似没有分辨率适配框架通常对应小屏幕的苹果4要额外设置下等等就完了! 屏幕适配框架实现思路: 通过代码获取当前的分辨率 –> 选择不同图片显示 –> 游戏场景对分辨的相应变化 屏幕简单适配的小脚本: using UnityEngine;
using System.Collections; public cl...
阅读全文
摘要:最近自己开发小游戏,突然又被Game视图中设置分辨率被诱惑了, 我到底该怎么设置分辨率设置的图片才能让电脑和手机尺寸显示的大小一模一样呢? 然后又被手机尺寸和分辨率迷惑了! =。= 越搞越混 分辨率是什么: 打开电视你仔细对着屏幕看,电视屏幕是由一个个密密麻麻的小格子组成 行多少 = 分辨率宽度 列多少 = 分辨率高度...
阅读全文
摘要:今天小伙伴问我如何自己写一段代码检测 单击 双击 和 拖放.于是就写了这段代码O(∩_∩)O~ 代码如下: using UnityEngine;
using System.Collections; public class Test2 : MonoBehaviour { public float oneTime; //检测双击的有效时间 privat...
阅读全文
摘要:我们今天研究下SendMessage方法, 如果我们需要执行某一个组件的方法时候可以使用SendMessagegameObject.SendMessage("A");即可通知当前物体下某组件的A方法gameObject.SendMessageUpwards("A");通知父物体某组件的A方法,直到查...
阅读全文
摘要:作者写游戏完成的时候,还需要从新想下如何把游戏设置重新开始,角色如何复活. 一般大多数都会采用这种方式来代替游戏重新开始 Application.LoadLevel("xxx场景") . 但是角色复活就必须完全靠自己写代码把组件换到特定的状态呀 重新游戏: Application.LoadLevel("xxx场景") = 重新开始游戏 ...
阅读全文
摘要:游戏有大多数配置文件,比如玩家等级,游戏商店信息等等.通常情况下把这些放入excel中来读取第一种解决方案:xlsx –> csv –> 改变成UTF-8 或者Unicode编码 –> 修改后缀名成.txt -> 通过Resources.Load读取转换成TextAsset –> 通过,方式开区分开...
阅读全文
摘要:PlateFace Unity开发规范(1.0) 1.项目都采用英文名命名,图片,音频,资源都不能采用中文. 2.方法名: 帕斯卡命名(所有单词首字母大写) 3.字段: 在Unity中组件字段名第一个字母小写,其他字母大写(骆驼命名法) 4.注释: 所有公开的字段, 属性,方法, 采用文档注释, 只有私有字段,方法,可以选择注释 /// /// 文档注释 /// //普通注释 ...
阅读全文
摘要:为什么需要跟你的组件添加公共方法呢? 留一条后路嘛,万一你那天想起要给全部的组件添加一个方法. 此时我只能告诉你慢慢修改吧累死你子组件:A ,父组件:B继承方式: A -> B –> MonoBehaviour. 此时你在B中写入方法(简单吧)using UnityEngine;using Syst...
阅读全文
摘要:之前在写代码的时候,就很疑惑为什么创建类的时候.没有命名空间呢? 后来自己的类终于和别人写的类名字有冲突。。。。 如何修改Unity创建类的模板呢? 找到下面这个文件 然后修改 保存文件在Unity中创建一个新的类(你就会发现创建出来的新类截然不同了)
阅读全文
摘要:故事的由来: 正在开发打飞机的游戏,遇到这样的数据结构,游戏有很多关卡-> 每个关卡有几波怪物->每一波里面有怪物和数量 [] 关卡 { []波{ {怪物,数量},{怪物,数量},{怪物,数量},{怪物,数量} },[]波,[]波,[]波 } 问题就来: Unity组件上如何显示这样的结构呢? 解决方法: 1. 扩展组件Editor显示 2. 在实体类中加[Seria...
阅读全文
摘要:我们经常在代码里面写Debug.Log()调试代码,游戏后门代码.这些代码在发布时无意义的,我们就需要慢慢的删除掉它们(很痛苦),有什么办法让它们在编译的时候并不加入编译代码中呢? 预处理命令..比如游戏准备发布电脑和安卓分别控制角色鼠标移动,双手控制移动并不需要复制两份项目分别开发,可以使用预处理...
阅读全文
摘要:原文翻译: Execution Order of Event Functions 事件函数的执行顺序 Editor编辑器 Reset: Reset is called to initialize the script’s properties when it is first attached t...
阅读全文
摘要:学习Unity的可能多数是C#转过来的, 一进来的时候你会发现Unity编写代码,在一些视频或文章中.基本都没有用过get/set使用, 多数是public string name;这样写的公开字段,可能在设计的时候视图上设置字段无法与get/set联动起来(只是一种猜测) [SerializeF...
阅读全文
摘要:1. position是根据世界原点为中心 2. localPosition是根据父节点为中心,如果没有父节点,localpositon和position是没有区别的 3.选中一个物体左上角Global和Local切换看物体世界坐标轴和本地坐标轴 代码: using UnityEngine;
using System.Collections; public class TestPost...
阅读全文
摘要:效果图如下:今天一直在纠结如何加载场景,中间有加载画面和加载完毕的效果动画!A 场景到 B , 看见网上的做法都是 A –> C –> B。 C场景主要用于异步加载B 和 播放一些加载场景的动画AsyncOperation op = Application.LoadLevelAsync("C"); ...
阅读全文
浙公网安备 33010602011771号