当前位置: 首页 > wzjs >正文

网站定位有哪些网络规划设计师教程第2版pdf

网站定位有哪些,网络规划设计师教程第2版pdf,做响应式网站,自适应的网站模板在项目开发中我们可以对诸如Layer、Tag等编辑器数据进行常量生成,来代替在代码中通过输入字符串生成常量的形式以提高开发效率。 Layer的生成可以通过LayerMask.LayerToName获取层名称(也可以从TagManager.asset中获得 ),Tag的生成…

        在项目开发中我们可以对诸如Layer、Tag等编辑器数据进行常量生成,来代替在代码中通过输入字符串生成常量的形式以提高开发效率。

        Layer的生成可以通过LayerMask.LayerToName获取层名称(也可以从TagManager.asset中获得 ),Tag的生成可以手动将预制Tag标签写入常量列表,其他的自定义Tag可以从TagManager.asset中获得。

一、基本知识

1.unity预制Tag标签

        TagManager.asset文件如下方所示。unity预制的Tag标签(如Respawn、Finish、EditorOnly等6个Tag)并没有在TagManager.asset文件中。

%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!78 &1
TagManager:serializedVersion: 2tags:- Testlayers:- Default- TransparentFX- Ignore Raycast- - Water- UI- TestLayer- - - - - - - - - - - - - - - - - - - - - - - - - m_SortingLayers:- name: DefaultuniqueID: 0locked: 0

2.Layer层

        在Unity中,Layer机制是固定的,最多只能有32个Layer。这是由Unity的底层设计决定的,因为Layer是用一个32位的整型来表示的,每一位表示一个Layer。

二、工具

using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
using UnityEngine;public class LayerManager : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){var sb = new StringBuilder();                         //准备模板生成sb.AppendLine("public class _Const");sb.AppendLine("{");for (int i = 0; i < 32; i++)                         //遍历所有Layer{var name = LayerMask.LayerToName(i);     //通过Unity的接口拿到Layer名称name = name.Replace(" ", "_").Replace("&", "_").Replace("/", "_").Replace(".", "_").Replace(",", "_").Replace(";", "_").Replace("%", "_").Replace("-", "_");                              //对常见的特殊字符进行过滤Debug.Log(name);if (!string.IsNullOrEmpty(name))sb.AppendFormat("\tpublic const int LAYER_{0} = {1};\n", name.ToUpper(), i);}sb.AppendLine("\tpublic const string " + ("Tag_Untagged".ToUpper() + " = " + "\"Untagged\";"));sb.AppendLine("\tpublic const string " + ("Tag_Respawn".ToUpper() + " = " + "\"Respawn\";"));sb.AppendLine("\tpublic const string " + ("Tag_Finish".ToUpper() + " = " + "\"Finish\";"));sb.AppendLine("\tpublic const string " + ("Tag_EditorOnly".ToUpper() + " = " + "\"EditorOnly\";"));sb.AppendLine("\tpublic const string " + ("Tag_MainCamera".ToUpper() + " = " + "\"MainCamera\";"));sb.AppendLine("\tpublic const string " + ("Tag_Player".ToUpper() + " = " + "\"Player\";"));sb.AppendLine("\tpublic const string " + ("Tag_GameController".ToUpper() + " = " + "\"GameController\";"));                    //把一部分内置Tag先写死var asset = UnityEditor.AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/TagManager.asset");                                        //取得自定义Tagif ((asset != null) && (asset.Length > 0)){Debug.Log(asset.Length);for (int i = 0; i < asset.Length; i++){//创建序列化对象var so = new UnityEditor.SerializedObject(asset[i]);var tags = so.FindProperty("tags");          //读取具体字段for (int j = 0; j < tags.arraySize; ++j){var item = tags.GetArrayElementAtIndex(j).stringValue;sb.AppendFormat("\tpublic const string TAG_{0} = \"{1}\";\n", item.ToUpper(), item);}                                                       //添加到模板//获取Layer的方法二// var layers = so.FindProperty("layers");// for (int j = 0; j < layers.arraySize; ++j)// {//     var item = layers.GetArrayElementAtIndex(j).stringValue;//     if (!string.IsNullOrEmpty(item))//         sb.AppendFormat("\tpublic const int LAYER_{0} = {1};\n", item.ToUpper(), j);// }}}sb.AppendLine("}");File.WriteAllText("Assets/GeneratedConst.cs", sb.ToString());     //写入硬盘UnityEditor.AssetDatabase.Refresh();               //通知Unity刷新}}

三、生成的代码

public class _Const
{public const int LAYER_DEFAULT = 0;public const int LAYER_TRANSPARENTFX = 1;public const int LAYER_IGNORE_RAYCAST = 2;public const int LAYER_WATER = 4;public const int LAYER_UI = 5;public const int LAYER_TESTLAYER = 6;public const string TAG_UNTAGGED = "Untagged";public const string TAG_RESPAWN = "Respawn";public const string TAG_FINISH = "Finish";public const string TAG_EDITORONLY = "EditorOnly";public const string TAG_MAINCAMERA = "MainCamera";public const string TAG_PLAYER = "Player";public const string TAG_GAMECONTROLLER = "GameController";public const string TAG_TEST = "Test";
}

 

http://www.dtcms.com/wzjs/616463.html

相关文章:

  • 校园门户网站开发需求用vs2010做免费网站模板下载
  • 网站页面配色分析网页翻译成中文怎么设置
  • wdcp 防盗链 网站不能打开wordpress打开
  • 海安网站设计公司wordpress first post
  • 网站服务器类型查询一个网站需要服务器吗
  • 建设网站导航打不开wordpress的登陆界面
  • 做淘宝客优惠券网站必须是企业吗电商营销策略方案
  • 网上购物网站模板网页的分类
  • 网站建设 万网 域名免费文件外链网站
  • 面试网站建设问题网站专业优化
  • 网站后缀cc深圳卓越城蔚蓝铂樾府
  • 商丘企业做网站家装设计师工资高吗
  • 超炫的网站模板aspcms自适应网站
  • 如何创建网站 优帮云企业管理咨询合同
  • 太原便宜做网站的公司云服务器建设网站
  • 企业免费网站模板赣州网站建设-赣州做网站
  • 怎么样做网站赚钱网站必须做可信认证
  • 网站建设验收单庆阳市建设局门户网站
  • 网站服务器租用还是托管呢推广计划书范文
  • 网站开发税率是多少网站开发费用税
  • 中国十大上市装修公司中山 网站关键词优化
  • 佳匠网站建设肇庆网站建设
  • 网站建设数据库实训体会深圳建网站公司 哪家售后服务最好
  • 网站策划怎么样网页设计教育培训
  • 网站获取qq号码 原理画册设计是什么
  • 龙华网站建设服务南山区住房和建设局网站
  • 网站怎么备份公众平台官网登录入口
  • 车商城网站建设用帝国软件做网站的心得
  • 佛山网站设计实力乐云seo蚁百杭州网站seo优化
  • 消费全返的 微网站开发app软件制作