中企动力网站建设精品案例网店推广方式怎么写
Unity热更新
热更新(游戏流程)
应用商店下载游戏
点击图标,运行游戏
*游戏更新中
资源解压中,请不要关闭
更新下载中,更新解压中,更新成功
游戏界面
插件了解
DOTween:UI动画
NGUI:场景UI制作
PlayMaker:图形化编写游戏逻辑工具
查看dll内部代码
百度:C# dll 反编译
什么是编辑器开发
对编辑器实现功能扩展,一般会使用它开发项目工具或实现Unity插件
C#特性
[System.Serializable]
用于在C#运行时,传递程序中各种元素(类,结构体,变量,方法,枚举,组件)的行为信息的声明标签。一个声明标签是通过放置在它所在应用元素的前面的方括号“[]”中来描述。
特殊目录
回顾
Plugins:需要跨语言调用的代码逻辑代码存储目录,手机SDK接入
Resources:存储跟随游戏包的资源目录
StreamingAssets:只读,存储跟随游戏包的资源目录
编辑器目录:Editor
制作多目录合并
例:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class MultiResource : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){Object cube = Resources.Load("Cube");GameObject obj1=Instantiate(cube) as GameObject;Object sphere = Resources.Load("Sphere");GameObject obj2 = Instantiate(sphere) as GameObject;}
}
项目中建立的Editor目录,编辑器相关的逻辑和资源会放在其内部,相关内容,在打包生成时,不会一起生成到项目中,玩家也不会使用到编辑器相关的内容。Editor目录下的脚本,无法挂载在场景对象下。
命名空间
Unity代码逻辑命名空间:UnityEngine
Unity编辑器命名空间:UnityEditor,此命名空间,不要出现在游戏被发布的逻辑代码中,会导致项目打包失败!
常见检视面板设置:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;//对象如果不标记为可序列化,则Unity在存储的时候,会认为他不可被序列化,那么也就无法被显示
//Unity的内置Json工具运行原理与之类似
[System.Serializable]
public class Numerical
{public int Atk;public int Def;
}
public class SimpleInspector : MonoBehaviour
{//隐藏公共成员变量,防止Inspector的值影响到它//同时保证脚本中变量的可访问度[HideInInspector]public int ID = 99;//私有变量,检视面板可见//Unity会将对象进行序列化存储,所以即使是私有的,那么标记为可序列化后,//就会显示,公有默认可序列化[SerializeField]private string Name;//检视面板显示对象public Numerical Num;//把当前成员变量上方留50像素空白区域[Space(50)] //当前成员变量上方加入一个标题文字[Header("年龄")] //添加变量悬浮提示文字//一个成员变量可以添加多个特性[Tooltip("不要填写大于150岁的年龄")]//给数值设定范围(最小0,最大150)[Range(0,150)]public int age;//指定输入框,拥有5行[Multiline(5)]public string NickName;//默认显示5行,最多显示10行内容,再多用混动条控制显示区域[TextArea(5,10)]public string Description;public Texture Tex;public Color Flag;public List<string> Tags;
}
在Inspector面板的显示情况如图:
该系列专栏为网课课程笔记,仅用于学习参考。