自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 Unity 3D游戏开发 - U3D进阶 | 常用 API 之 Invoke 函数调用

金钱副本细节完善宝箱掉落 给宝箱预制体添加刚体组件即可。 实现按键宝箱批量掉落 将实例化生成宝箱的代码单独封装成一个函数; 使用 for 循环,批量生成宝箱。 宝箱自动掉落 现在我们是通过按键,程序调用 “生成宝箱” 的函数来实现功能。在游戏中,这个 “生成宝箱” 的函数,是需要由程序自动调用的。 使用 Invoke 函数实现。 Invoke 函数Invok...

2018-09-23 16:28:15 756

原创 Unity 3D游戏开发 - U3D进阶 | 常用 API 之实例化与销毁

实例化游戏物体游戏案例介绍 很多 MMORPG 游戏中都有类似 “金钱副本” 的副本关卡。在这类副本中通常是限定一个时间,在这个时间内玩家尽情破坏收集金钱。 分析游戏场景元素 场景中所有的坛子,应用相同模型,坛子是预制体。 坛子是从 “天上” 掉下来的,所以坛子模型身上有刚体组件。 玩家在一段时间内没有打碎坛子,这些坛子会消失。 案例场景制作 创建地面模型...

2018-09-23 13:53:38 520

原创 Unity 3D游戏开发 - U3D进阶 | 声音组件之 AudioSource

AudioClip 音频剪辑AudioClip 音频剪辑(音频片段)。 我们导入到 Unity 中的所有声音文件,在Unity 引擎中的资源类型都是 AudioClip 类型。 Unity 能使用的音频格式: .aif   .wav   .mp3   .ogg 在 Project 面板的 Assets 文件夹中创建一个 “Audios” 文件夹来存放和管理游戏中使用到的音频资源...

2018-09-23 11:41:26 6260

原创 Unity 3D游戏开发 - U3D进阶 | 特效组件之 LineRenderer

 LineRenderer 简介简介  LineRenderer,线渲染器,用于渲染显示 “线特效”。现实生活中比如玩具激光灯照射出来的线。 线特效在游戏中的运用 线特效在游戏中常用于渲染激光效果,或用于子弹瞄准。 创建线特效 新建一个空物体; 给这个空物体添加  LineRenderer 组件。Component --> Effects --> Line ...

2018-09-23 10:32:12 3017

原创 Unity 3D游戏开发 - U3D进阶 | 特效组件之TrailRenderer

TrailRenderer 简介简介 TrailRenderer,拖尾渲染器,用于渲染显示 “拖尾特效”。 拖尾:物体后面拖着的尾巴,现实中的比如拖尾流星。 拖尾在游戏中的运用 发射出去的炮弹、子弹、导弹等。高速运动的物体,为了体现他们的运动快,往往会加上一个拖尾特效。 拖尾的重要用途:体现物体的运动速度。 创建拖尾特效 新建一个空游戏物体 给这个空物体添加 T...

2018-09-22 11:34:42 3148

原创 Unity 3D游戏开发 - U3D进阶 | 旧版 UI 组件之GUITexture

GUITexture 组件GUITexture 简介 GUITexture 组件主要用于图片的显示。 创建 GUITexture  新建一个空物体。 给这个空物体添加 “GUITexture” 组件。 Component --> Rendering --> GUI Texture 这个游戏物体就可以用来负责显示图片了。 GUITexture 使用...

2018-09-22 10:12:02 1968

原创 Unity 3D游戏开发 - U3D进阶 | 旧版 UI 组件之GUIText

UI简介UI UI 就是用户操作界面。 在使用 Unity 开发游戏(MMORPG,MMOARPG)的客户端的时候,至少 50%的工作量是在写 UI 界面和 UI 界面的逻辑。 常用 UI 系统简介 NGUI UGUI GameObject --> UI 菜单下,是 UGUI 的相关 UI 对象。 Component --> UI 菜单下,是 UGUI...

2018-09-18 20:54:01 917

原创 Unity 3D游戏开发 - C#面向对象 | 预编译指令与对象初始化器

预编译指令预编译指令 也叫预处理指令,在程序正式编译之前执行。 这些指令不会转化为可执行代码中的命令,但会影响编译过程的各个方面。 区域指令 指令格式 #region Info......#endregion   作用 优化代码结构,进行代码折叠。 对象初始化器概念 在一个类中,我们通常用构造方法对属性赋值,完成对象的初始化。...

2018-09-18 19:21:08 367

原创 Unity 3D游戏开发 - C#面向对象 | 装箱与拆箱

Object 类概念 在C#语言中,Object 类是所有类的父类,在C#中所有的类(内置的、我们自己创建的)都直接或间接继承自 Object 类。 Object 是类, object 是类型。 重写 ToString 方法 我们经常会在自己的类中重写 ToString 方法,将类中的信息打印输出,目的是辅助调试和开发。 装箱与拆箱概念 装箱:值类型 --> ...

2018-09-17 21:12:06 705

原创 Unity 3D游戏开发 - C#面向对象 | 嵌套类、匿名类与密封类

嵌套类概念 在C#中可以将一个类定义在另一个类的内部。 外面的类叫 “外部类”,内部的类叫 “嵌套类”。 嵌套类和普通类相似,只是声明的位置比较特殊。 //1.创建一个Person类. Person.cs class Person { public class Web { public stri...

2018-09-17 20:36:26 543

原创 Unity 3D游戏开发 - C#面向对象 | 静态之单例设计模式

设计模式在程序开发过程中经常会遇到一些典型问题,在对这些问题进行处理解决的过程中,逐渐整理出来一套系统的解决方案,这套方案称为 “设计模式”。单例设计模式单例 设计一个类时,需要保证整个程序在运行期间只存在一个实例对象。 解决这个问题就需要用到 “单例(模式)”。 注意事项 单例设计模式是用于非静态类中的,在静态类中写单例无意义。 单例代码步骤 声明一个静态且私有...

2018-09-17 20:14:28 211

原创 Unity 3D游戏开发 - C#面向对象 | 静态之方法与类

静态普通方法概念 被 static 修饰的方法,叫做静态方法。 直接使用 类名.静态方法名 进行访问。 注意事项 控制台程序的 Program 入口类中的 Main 函数就是一个静态方法。 在静态方法中不能调用非静态方法。 静态构造方法概念 静态构造方法的作用是用于初始化静态成员。 一个类只能有一个静态构造方法,该静态方法没有任何访问修饰符,也没有参数。 ...

2018-09-16 16:54:09 1239

原创 Unity 3D游戏开发 - C#面向对象 | 静态之字段与属性

static 关键字static 关键字,用于修饰类,字段,属性,方法,构造方法等。 被 static 修饰的类称为 “静态类” 。 被 static 修饰的成员称为 “静态成员”,被修饰过的成员分别称为:静态字段,静态属性,静态方法,静态构造方法。静态字段概念 被 static 关键字修饰的字段,叫做静态字段。 静态字段不属于任何对象,只属于类,必须要用 类名.静态字段名 ...

2018-09-16 16:39:50 894

原创 Unity 3D游戏开发 - C#面向对象 | 封装之五种访问修饰符

五种访问修饰符public [公开访问] 公开的访问权限。 当前类、子类、实例对象,都可以访问到。 private [私有访问] 私有的访问权限。 只能在当前类内部进行访问使用。子类、实例对象均访问不到。 protected [保护访问] 受保护的访问权限。 只能在当前类的内部,以及该类的子类中访问,实例对象访问不到。 internal [内部访问] 只...

2018-09-16 15:26:47 425

原创 Unity 3D游戏开发 - C#面向对象 | 多态之里氏转换原则案例

多态综合案例模拟电脑与外部移动设备的关系 创建三个类:电脑类,U 盘类,移动硬盘类。 模拟外部存储设备插入电脑后,电脑对二者的存取操作。 //1.创建一个接口IUSB,用于写入和读取数据. interface IUSB { /// <summary> /// 读取移动设备中的数据. /// &lt...

2018-09-16 15:07:56 211

原创 Unity 3D游戏开发 - C#面向对象 | 多态之虚方法、抽象类、接口对比

语法格式对比整理记忆。使用场景对比虚方法:父类中的个别方法用虚方法实现,允许子类在有需要的情况下重写这些虚方法。 抽象类:父类定义一系列的规范,子类实现这些规范。 接口:是一种功能的扩展,在原有的类的继承关系以外的新功能的扩展。...

2018-09-16 14:13:18 332

原创 Unity 3D游戏开发 - C#面向对象 | 多态之接口案例

C#属性常规属性 先定义一个私有的字段,再为这个私有字段封装一个公开的属性,在属性中实现 get 和 set 两个方法,即为常规属性。 当我们使用常规属性时,可以在 get 和 set 方法中,编写逻辑代码对取值和赋值进行逻辑的校验。 自动属性 在某些情况下,属性的 get 和 set 只是完成字段的取值和赋值操作,而不包含任何附加的逻辑代码,这个时候可以使用自动属性。 例...

2018-09-16 14:01:37 380

原创 Unity 3D游戏开发 - C#面向对象 | 多态之接口语法

接口语法抽象类 -> 接口 当抽象类中所有方法都是抽象方法时,可以把这个抽象类用另外一种形式来表现,这种形式叫接口。 语法格式要求 接口使用 interface 关键字定义,没有 class 关键字,接口名一般使用 “IXxxx” 这种方式进行书写,在一堆脚本中通过名字判断,I 开头的都是接口。 接口中不能包含字段,但可以包含属性。 接口中定义的方法不能有方法体,全是...

2018-09-16 11:22:56 584 1

原创 Unity 3D游戏开发 - C#面向对象 | 多态之抽象类案例

抽象类编程案例使用抽象类结构实现 NPC 模块 在游戏中会出现很多种不同用途的 NPC,这些 NPC有各自的存在价值和作用,同时又具备一些共性的东西。在开发 NPC 系统时,往往需要提取共性,独立出一个父类,然后子类继承父类,实现不同作用的 NPC。 分析 任务 NPC,商贩 NPC,铁匠 NPC,三种 NPC 的种类。 共有属性:NPC 的名字,NPC 的类型。 共有...

2018-09-16 10:20:25 484

原创 Unity 3D游戏开发 - C#面向对象 | 多态之抽象类语法

抽象方法虚方法 -> 抽象方法 父类里面用 virtual 关键字修饰的方法叫做虚方法,子类可以使用 override 重写该虚方法,也可以不写。 虚方法是有方法体的,当父类中的这个方法已经虚到完全无法确定方法体时,就可以使用另外一种形式来表现,这种形式叫抽象方法。 抽象方法语法  抽象方法的返回值类型前用关键字 abstract 修饰,且无方法体。 public ...

2018-09-15 19:34:13 217

原创 Unity 3D游戏开发 - C#面向对象 | 多态之里氏转换原则

面向对象六大原则单一职责原则 开闭原则 里氏转换原则 依赖倒置原则 接口隔离原则 迪米特原则里氏转换原则里氏转换 子类对象可以直接赋值给父类变量。 //旧版方式.Cat c = new Cat();c.Cry();//新版方式. 两种方式实现效果一样.CatType ct = new Cat();ct.Cry();   子类对象可以调用父...

2018-09-15 18:02:09 316

原创 Unity 3D游戏开发 - C#面向对象 | 多态之虚方法语法

多态简介多态 在继承关系的前提下,实例化出不同的对象,这些对象调用相同的方法,却表现出不同的行为,即为多态。 C#语言中体现多态有三种方式:虚方法,抽象类,接口。 虚方法语法虚方法 在父类中使用 virtual 关键字修饰的方法,就是虚方法。 在子类中可以使用 override 关键字对该虚方法进行重写。 虚方法语法 父类:public virtual 返回...

2018-09-15 17:25:50 462

原创 Unity 3D游戏开发 - C#面向对象 | 继承之综合练习

如何抽象父类在使用继承的时候,我们需要针对一堆类,抽象出他们的父类。 抽象的前提:这一堆类必须是 “同一类事物”,有共性才能向上提取。 一个类只能有一个父类,一个父类可以有多个子类。继承练习动物继承关系 老虎,猫,老鹰,燕子四种动物建立继承(父子)关系。 这四种都属于动物类,可以建立继承关系。 老虎,猫属于一类,猫科类。 老鹰,燕子属于一类,鸟类。 使用...

2018-09-15 11:14:26 336

原创 Unity 3D游戏开发 - C#面向对象 | 继承之成员继承

子类继承父类哪些成员?继承效果 子类继承父类,则在子类中可以访问到父类中定义的成员(字段,属性,方法)。 字段 字段可以使用 private 和 public 进行修饰,但 80%情况下使用 private 修饰。 private 修饰的字段,在子类中访问不到。 public 修饰的字段,在子类中可以访问到,使用 base.字段名。 属性 属性可以使用 privat...

2018-09-15 10:33:25 494

原创 Unity 3D游戏开发 - C#面向对象 | 继承之构造方法

子类继承父类构造方法编写父类的构造方法 在 Hero 类中创建构造方法,用于初始化父类中的成员。 //Hero.cs public Hero() { } public Hero(string m_heroName, string m_heroInfo, int m_attack, int m_defense, int m_speed, ...

2018-09-15 09:57:12 434

原创 Unity 3D游戏开发 - C#面向对象 | 继承之原理分析

继承简介继承 面向对象开发有三大特性:封装,继承,多态。 继承:将一堆类中的一些共有 “成员” 单独抽取出来,作为一个父类,这一堆类继承这个父类,共享父类的资源。 优点 优化代码关系,让类与类之间产生关系。 提高代码复用性,便于阅读。 为 “多态” 提供前提。 继承语法格式英雄选择界面分析 编写不同英雄时,有大量重复代码是不必要的。可以通过继承,将四个英雄的...

2018-09-14 20:34:51 372

原创 Unity 3D游戏开发 - C#面向对象 | 面向对象基础之综合练习

面向对象编程练习使用类来描述游戏中的角色 字段:角色名字、简介、昵称、攻击力、防御力和速度。 方法:每个角色有三个不同的攻击技能。 //角色一:埃洛克的基本信息. AiLuoKe.cs. class AiLuoKe { private string heroName; private string heroInfo; ...

2018-09-14 20:05:35 316

原创 Unity 3D游戏开发 - C#面向对象 | 面向对象基础之堆栈关系

对象赋值演示使用 Person 类创建一个 p1 对象,将 p1 对象赋值给 p2。 //在 Person.cs 中创建一个打招呼的方法. public void Hello() { Console.WriteLine("我的名字是{0},年龄是{1},性别是{2},地址是{3}。", Name, Age, Gend...

2018-09-12 11:10:50 285

原创 Unity 3D游戏开发 - C#面向对象 | 面向对象基础之三种方法

普通方法方法 在面向对象编程的类中,将函数称为方法。 普通方法 即普通函数。在类中的作用是对对象的 “行为” 进行描述。 行为:这个对象能干什么。 普通方法语法 访问修饰符 返回值 方法名 ( 参数列表 ){ 方法的具体功能代码;} 练习 定义一个 Person 类,来描述人。 字段包括:姓名,年龄,性别,地址。并对字段进行属性封装。 普通...

2018-09-12 10:32:45 860

原创 Unity 3D游戏开发 - C#面向对象 | 面向对象基础之字段属性

访问修饰符访问修饰符(权限修饰符) 目前我们的类中只有字段,通过这个类实例化出来的对象,是可以直接访问到相应字段的,因为字段的访问权限是 public。 public 与 private public:公开的。通过对象名.xxx的形式可以直接访问到。 private:私有的。通过上述形式访问不到。 练习:定义一个 Person 类,描述人的基本信息。字段包含:姓名,年龄,...

2018-09-12 09:41:51 646

原创 Unity 3D游戏开发 - C#面向对象 | 面向对象基础之类与对象

类定义 描述某个具体物体的特征,就是类(class)。 类的语法 [访问修饰符] class 类名{ 类的描述信息;}   访问修饰符:用于描述这个类的访问权限,可写可不写,有默认值。 class:关键字,用于声明一个类。和之前枚举的 enum,结构体的 struct 作用相同。 类描述的信息:描述这类事物的特征(字段,属性,方法)。 类的创建 ...

2018-09-10 20:27:18 552

原创 Unity 3D游戏开发 - C#面向对象 | 结构体类型

结构体简介结构体 结构体:struct。结构体是一种值类型,通常用于封装一些小型变量数据。 可以把结构体当成一个迷你版的对象来使用。 Unity3D 中的结构体 Unity3D 中提供了很多结构体类型的数据。如:Vector3(三维向量),Color(颜色),Quaternion(四元数),Ray(射线)等等。 练习:保存一个人的基本信息:姓名、年龄、性别、地址。 ...

2018-09-09 16:52:59 520

原创 Unity 3D游戏开发 - C#面向对象 | 枚举类型

枚举简介枚举 enum,是一个用于存储数据的数据类型。 枚举和 int,float,double......一样,只是 int 等类型是系统定义好的,我们可以直接使用。而枚举类型需要我们根据实际开发需要自行定义。 什么时候需要用到枚举 定义枚举的目的,是规范一些数据的值。 比如在案例中,我们需要重复使用 “星期一” 到 “星期日” 这些特定字符串,我们就可以定义一个叫做 “...

2018-09-09 16:12:20 362

原创 Unity 3D游戏开发 - C#面向对象 | 字符串操作之 StringBuilder

StringBuilder 简介字符串的缺点 对一个字符串变量重复赋值时,在内存中会产生大量的垃圾数据信息。 当重复赋值频率很高时,执行效率会降低。 StringBuilder 简介 String:字符串;Builder:构建器。     “字符串构建器”。 StringBuilder 是一个类,其类型的变量是引用类型。 StringBuilder 类型的 “字符串变量...

2018-09-09 11:11:31 758

原创 Unity 3D游戏开发 - C#面向对象 | 字符串操作之常用方法

字符串常用方法ToUpper() 将字符转换成大写形式,仅对字母有效,返回值是转换后的字符串。 使用:字符串变量.方法名();   如:name.ToUpper(); string name = "Shane"; Console.WriteLine("ToUpper:" + name.ToUpper()); //ToUpper:S...

2018-09-08 20:30:46 496

原创 Unity 3D游戏开发 - U3D入门 | PC 端游戏打包与发布

游戏打包发布简介简介 现在的项目文件必须在 Unity 引擎中才能运行,通过 “打包发布” 可以将工程文件转换成独立的 “游戏文件”,即可脱离 Unity 引擎直接在电脑上运行。 打包好的 “游戏文件” 就可以到处发布传播了。 Unity 发布 PC 端游戏Build Settings [生成设置] File --> Build Settings 弹出项目生成设置面板...

2018-08-31 21:36:33 2858

原创 Unity 3D游戏开发 - U3D入门 | 疯狂教室案例开发(下)

通过 Tag 标签查找物体 Tag 简介 Tag:标签。标签可以起到标识、区分的作用,同一类模型,我们可以根据需要给它们设置成统一的标签。 给模型添加 Tag 标签 选中一个模型,在其 Inspector 面板顶部,设置 Tag 选项为一个具体标签。 通过 Tag 标签查找 N 个物体 GameObject.FindGameObj...

2018-08-31 15:24:52 1329

原创 Unity 3D游戏开发 - U3D入门 | 疯狂教室案例开发(上)

模型旋转实现开门效果模型中心点 模型身上坐标轴的中心点,即为模型的中心点。 模型的位置、旋转、缩放都是相对于模型的中心点来进行变化的。 改变模型中心点 创建一个空物体,创建父子关系,通过父物体控制子物体,也就间接改变了模型的中心点。 中心点工具 Center:当选中两个模型,设置为 “Center”,模型组的中心点就在两个模型的中间中心位置。 Pivot:当选中两个...

2018-08-31 12:26:54 1531

原创 Unity 3D游戏开发 - U3D入门 | 网格组件之网格过滤器和渲染器

网格过滤器组件简介 网格过滤器:Mesh Filter 该组件只有一个 “Mesh” 属性,用于设置当前游戏物体使用哪个模型进行展示。 网格渲染器组件简介 网格渲染器:Mesh Renderer 该组件用于 “渲染” 显示模型。如果没有该组件,模型就不会显示。 属性 Cast Shadows [投射阴影] On:开启阴影显示 Off:关闭阴影显示 ...

2018-08-31 11:23:36 544

原创 Unity 3D游戏开发 - U3D入门 | 刚体触发事件监测与处理

触发事件简介触发器 将碰撞体组件属性面板上的 “Is Trigger” 选项选中,当前游戏物体的碰撞体就变成了触发器。 移动的刚体物体会穿透碰撞体勾选了 “Is Trigger” 的物体。 触发事件 当一个用刚体控制的物体进入到另一个物体的触发器范围内,就是触发事件。 触发用途:不与目标物体发生直接碰撞,只要进入到其触发范围,就鞥执行某些特定操作。(感应门) 触发事件监...

2018-08-28 15:01:26 476

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除