AssetBundle
前言这里是前言介绍。 正文AssetBundle 的定义和作用1,AssetBundle 是一个压缩包包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行的时候被加载;2,AssetBundle 自身保存着互相的依赖关系;3,压缩包可以使用 LZMA 和 LZ4 压缩算法,减少包大小,更快的进行网络传输;4,把一些可以下载内容放在 AssetBundle 里面,可以减少安装包的大小; 什么是 AssetBundle可以归为两点:1,它是一个存在于硬盘上的文件。可以称之为压缩包。这个压缩包可以认为是一个文件夹,里面包含了多个文件。这些文件可以分为两类:serialized file 和 resource files。(序列化文件和源文件)serialized file:资源被打碎放在一个对象中,最后统一被写进一个单独的文件(只有一个)resource files:某些二进制资源(图片、声音)被单独保存,方便快速加载 2,它是一个 AssetBundle 对象,我们可以通过代码从一个特定的压缩包加载出来的对象。这个对象包含了所有我们当初添加到这个压缩包里面的内容,我们可以通...
xLua 入门
前言xLua 为 Unity、 .Net、 Mono 等 C# 环境增加 Lua 脚本编程的能力,借助 xLua,这些 Lua 代码可以方便的和 C# 相互调用。 什么是热更新热:就是刚出炉简单来说就是当游戏某个功能出现 bug,或者修改了某个功能,或者增加了某个功能的时候,我们不需要重新下载安装安装包,就可以更新游戏内容。 热更新的好处:不用浪费流量重新下载,不用通过商店审核更加快速,不用重新安装玩家可以更快体验到更新的内容 目前比较受欢迎的热更新方案:uLua tolua xLua 热更新方案这些热更新方案都是基于 Lua 语言的,也可以叫做 lua 插件(可以运行 lua,并实现了 lua 和 C# 交互的插件)。所以本质上这些热更新方案就是一个 lua 插件,可以运行 lua,并实现了 lua 和 C# 交互的插件。 1,(luainterface cs2lua tolua)–>ulua(不再维护,转到主要维护 tolua)2,tolua(基于 tolua 开发了 luaframework)3,slua 代码质量好,性能比 tolua 低4,C#light、LS...
RESTful
前言 RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。本文总结 RESTful 的特点,以及如何设计和使用 RESTful 风格的 API。 RESTful 规范一种软件的架构风格,设计风格,而不是标准,为客户端和服务端的交互提供一组设计原则和约束条件。 正文面向资源编程每个 URL 代表一种资源,URL 中尽量不要用动词,要用名词,往往名词跟数据库表格相对应。 一般来说,数据库中的表都是同种记录的集合,所有 API 中的名词也应该使用复数。 举例来说,有一个 API 提供动物园(zoo)的信息,还包括各种动物和雇员的信息,则它的路径应该设计成下面这样。 123https://api.example.com/v1/zooshttps://api.example.com/v1/animalshttps://api.example.com/v1/employees HTTP 动词对于资源的具体操作类型,由 HTTP 动词表示。常用的 HTTP 动词有下面五个(括号里对应的 sql 命令)。 12345GET(SELECT):从服务器取出资源(一项或...
Lua 语言入门
正文123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201...
同步 - 异步 - 串行 - 并行
前言在实际开发过程中很多人会因为同步,异步,串行,并行等名词搞混,搞不清楚这些名称到底代表的是什么意思。其实这也是实际开发中必须掌握一些知识点。掌握和理解这些概念也有助于我们去更好的去开发。 正文同步 - 异步指的是能否开启新的线程。同步不能开启新的线程,异步可以。 同步:在程序中同步指的就是顺序执行,执行完一个再执行下一个,需要等待、协调运行(代码由上而下依次执行)。 异步:异步和同步是相对的,异步就是彼此独立,在等待某事件的过程中可以继续去做自己的事情,不需要等待这一事件完成后再工作。线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程继续干其它的事情。 异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。 异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。 实现异步可以采用多线程技术或则交给另外的进程来处理。 串行、并行:串行和并行指的是任务的执行方式。 串行:是指多个任务时,各个任务按照顺序执行,完成一个之后才能进行下一个。 并行:指的是多个任务可以同时执行。举个...
魔兽世界战斗系统
《魔兽世界》战斗系统数值分析:伤害公式与战斗机制 ** 一、属性概述:** **1. 基础属性 ** 生命值:最大生命值上限,受到耐力的加成 法力值:最大法力值上限,以前版本受智力加成,现在为按等级固定 力量:提高攻击强度 敏捷:提高物理暴击概率,某些职业(盗贼、猎人等)提供攻击强度 耐力:提高生命值 智力:提高法术强度和法术暴击率 精神:提高法力回复速度 **2. 物理输出进阶属性 ** 伤害:即 DPH,浮动值,表单次攻击伤害的高低 攻击强度:受力量、敏捷加成,可看作人物自身的攻击力 攻击速度:普通攻击的攻击速度 急速:影响攻击施法速度,急速越高攻击越快 命中率:增加命中率的百分比,抵消玩家的未命中率 暴击率:受敏捷加成,暴击可以造成 2 倍伤害 精准:精准可以降低对方躲闪招架你攻击的概率 **3. 法系输出进阶属性 ** 法术强度:决定法术伤害的高低,主要由智力提供 急速:影响施法速度,急速越高施法越快,DOT 型法术每条之间的时间越短 命中率:增加法术命中率,抵消玩家的法术未命中率 法力回...
Unity 自定义编辑器菜单
前言自定义编辑器菜单扩展。 正文添加菜单 12345[MenuItem("Tools/MyOption")]private static void MyOption(){ // 自定义菜单 Tools} 12345[MenuItem("Tools/Sub/MyOption")]private static void MyOption(){ // 子菜单} 添加系统菜单 (Window) 的菜单项 12345[MenuItem("Window/AAAOption")]private static void MyOption(){ // 添加系统菜单 (Window) 的菜单项} 添加菜单项的快捷键 % 代表 Ctrl 或 CMD# 代表 Shift& 代表 AltLEFT/RIGHT/UP/DOWN 代表方向键F1 … F2 代表功能键HOME, END, PGUP, PGDN 代表对应按键_[a-z] 代表 A-Z 字...
知乎卡片链接
正文模仿知乎的卡片式链接。改自 兰州小红鸡我为了每次少写一行 js 引用略作修改。 1234567891011121314151617181920function LinkCard(){ var LinkCards=document.querySelectorAll('.LinkCard'); if (LinkCards.length==0){ return; }else{ var LinkCard=LinkCards[0]; var title=LinkCard.innerText; var link=LinkCard.href; LinkCard.innerHTML="<style type='text/css'>.LinkCard,.LinkCard:hover{text-decoration:none;border:none!important;color:inherit!important}.LinkCard{positio...
Unity 宏定义
前言Unity 包含一个称为 Platform Dependent Compilation 的功能。这包含一些预处理器指令,可让您对脚本进行分区,以便为受支持的平台之一专门编译和执行一段代码。 你可以在 Unity 编辑器中运行这个代码,这样你就可以专门为你的目标平台编译代码并在编辑器中测试它! 正文宏123456789101112131415161718192021222324252627UNITY_EDITOR 编辑器调用 UNITY_STANDALONE_OSX 专门为 < span class="function">Mac OS( 包括 Universal,PPC 和 Intelarchitectures)平台的定义。UNITY_DASHBOARD_WIDGET Mac OS Dashboard widget (Mac OS 仪表板小部件 )。UNITY_STANDALONE_WIN Windows 操作系统UNITY_STANDALONE_LINUX Linux 操作系统UNITY_STANDALONE 独立的平台 (Mac,Windows 或 Linux)UNITY_...
暴雪战斗公式
前言想必一般玩过暴雪游戏的人,都会对暴雪游戏的平衡性赞不绝口。若是对其游戏数值有进一步研究的人,更会惊叹其战斗公式设计的如此精妙。暴雪的战斗公式已经成为一个流派,成为我们最广为熟知的一种除法型公式,影响着日后千千万万的游戏设计。 正文对于战斗公式采用除法公式这个体系,一般的游戏设计者都不会很陌生,甚至一些资深的 wower 都会理解一些该体系下的结论,但实际上未必多数人都能对除法公式的精髓有着深入的了解,比如让我们来看如下的这些问题,是否都有明确清晰的答案呢。 1. 除法公式下如何定义一个涵盖了角色所有属性量,并且可用来衡量其能力强弱的函数? 2. 为什么除法公式中伤害减免百分比要用这么复杂一串公式? 3. 除法公式通常的形式和一些变种的除法公式有什么关系? 4. 玩过 wow 的很多人认为,由于伤害减免曲线随着防御增加变化越来越平缓,所以防御这个属性的收益是逐渐递减的,这个说法是正确的么? 5. 攻击, 防御, 血量这些属性究竟如何影响了一个角色的能力,即不同属性提升时,角色能力如何提升?即每点属性的属性价值如何?各个属性之间的等价关系如何? 下...
