Unity3D技术游戏开发之卡牌和技能详解.docx
-
资源ID:70326647
资源大小:148.77KB
全文页数:3页
- 资源格式: DOCX
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
Unity3D技术游戏开发之卡牌和技能详解.docx
Unity3D技术游戏开发之卡牌和技能详解 经过前面几次的尝试,我们对炉石的代码已经不陌生了。除了网络机制还没有了解以外,本机的逻辑已经比较熟悉了。 接下来继续向暴雪最NB的技能系统进发,我们的目标是:· 分析技能的静态数据描述;· 分析技能的运行时数据、逻辑组织; 这篇笔记主要记录对其分析静态数据。静态数据组织卡牌数据· 卡牌的基本数据对于的AssetFamily为:AssetFamily.CardXML;· 数据对于的资源包为“cardxml0.unity3d”;· 资源包中的资源类型为:TextAsset;· 资源加载使用的接口为:AssetLoaderoadCardXml();· 运行时对应的数据类型为:EntityDef;· xml文件中保存有多个Entity对象数据,具体数据例如: 卡牌实体· 卡牌实体对象对应的AssetFamily为:AssetFamily.CardPrefab;· 数据对应的资源包为“cards?.unity3d”,目前共有4个;· 资源包中的资源类型为:Prefab;· 资源加载对应的接口为:AssetLoaderadCardPrefab();· 卡牌资源使用CardID进行索引,例如“闪金镇步兵”对应“CardID=”CS1_042”;· Prefab中的GameObject主要包含:Transform、Material、CardDef,这三个Component;· CardDef有很多CustomEditField,主要分为以下几类:· EditType.SOUND_PREFAB;· Material,主要是Portrait头像;· EditType.SPELL,其实是string类型,保存的是Spell对象的资源路径;技能对象· 技能对象对应的AssetFamily为:AssetFamily.Spell;· 数据对应的资源包为“spells?.unity3d”,目前共有3个;· 资源包中的资源类型为:Prefab;· 资源加载对应的接口为:AssetLoaderoadSpell();· 卡牌通过CardDef中指定相关技能资源的路径;· Prefab中的GameObject主要包含:AudioClip、AudioSource、Material、ParticleSystem、ParticleSystemRenderer、Transform等组件;· 涉及到的脚本主要有:PlayerMaker相关的类,Spell及其派生类、SoundDef;我们看到Spell有很多的派生类,这里用到了一个小技巧:GetComponent()是可以把基类作为参数来获得子类对象的。例如,一个对象绑定了ArmorSpell对象,而ArmorSpell是Spell的派生类,那么gameObject.GetComponent()是可以获得这个ArmorSpell对象的。总结一下:卡牌和技能相关的数据主要包括以上三种,其中EntityDef是使用“策划填表”或者类似的方式,而且卡牌和技能资源,则使用Unity编辑成Pefab。技能对象中用到了PlayerMaker插件。本次分析涉及到的类,请详见下图。文章出处【狗刨学习网】