IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> UNITY实战进阶-最最朴实无华的前言-1 -> 正文阅读

[游戏开发]UNITY实战进阶-最最朴实无华的前言-1

  • 前言

? ? ? ? 去年和今年是一个命途多舛的两年, 从去年年底和2位小伙伴创业一直到今年年中, 在吭哧吭哧的边做打工人边创业, 生活真的真的很充实, 根本没有时间让你去做其他事,?在损失了大量的经济、时间和精力后, 只添加了少许的阅历以及适中的经历, 在接触到当老板和当管理者的不同之处时, 也见识到了各类不同性格的人的嘴脸, 当然也有很多朋友给予过我帮助, 真的很感谢TA们。
? ? ? ? 我在没有任何准备去做这件事的时候, 依然坚持去做了,这个冲动不是一时半会就发生的, 是在我深深的不知道到了30+以后该何去何从时, 幻想披荆斩棘能杀出一条路来, 可笑的是被现实刮得遍体鳞伤。
? ? ? ? 今年3月份的时候, 我得知我老婆怀了孕, 第一时间听到这个消息后很激动, 随后而来的是面对选择继续砸钱创业还是选择家庭, 在这方面我和两位小伙伴也发生了分歧, 但是我还是说服了他们, 随后而来的我也更加感受到了肩膀上沉重的压力, 同时也希望我的宝宝能健健康康的落地。

????????此教程也算是我快到中年的答谢礼吧! 也希望同行之人能少走点弯路。

? ? ? ? 号外! 号外!?史上最低价!史上最低价!!
? ? ? 本人出售各类激光雷达, 包括但不限于<思岚A2/A3/S系列><YDLidar-G4><星秒TOF><北洋UST-10LX>, 请备注你需要的型号, 我看到会直接报价的
也承接各类雷达互动游戏外包项目可直接添加微信和我沟通。


  • 内容简介

? ? ?本次实战进阶, 会制作出一个伪网易云音乐出来,包含:
? ? ? ??(1) 各框架的基础介绍和使用
? ? ? ??(2) 使用Game Framework?打包工具生成资源
? ? ? ? (3) 使用ILRuntime进行代码热跟新
? ? ? ? (4) 几种常用的设计模式介绍
? ? ? ? (5) TexturePacker?图集的使用
????????(6) 无限滚动组件
? ? ? ? (7) <Unkown>
? ? ?需要各位自己手动去创建项目工程, 自行集成各类框架, 细节不会呈现的太多, 需要自己去理解编写, 伸手党一律不理

这是正版的网抑云

? ? ?Unity版本: 2020.1.0f1

? ? ?Vusual Studio版本: Community 2019

? ? ?框架上分为三步, 分别结合了三种目前网络上常见的框架:

  1. Game Framework
    Game Framework框架是一个基于 Unity 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。
    框架共分为两层, 底层GameFramework逻辑, 上层UnityGameFramework结合mono的逻辑
    框架地址??https://github.com/EllanJiang/GameFramework/
  2. ILRuntime
    ILRuntime项目为基于C#的平台提供了一个纯C#实现快速方便可靠的IL运行时,使得能够在不支持JIT的硬件环境(如iOS)能够实现代码的热更新。
    框架地址??https://github.com/Ourpalm/ILRuntime
  3. ETServer
    ET是一个开源的游戏客户端(基于unity3d)服务端双端框架,服务端是使用C# .net core开发的分布式游戏服务端,其特点是开发效率高,性能强,双端共享逻辑代码,客户端服务端热更机制完善,同时支持可靠udp tcp websocket协议,支持服务端3D recast寻路等等。
    框架地址??https://github.com/egametang/ET

? ? ?首先需要大家优先会使用Game Framework框架, 这部分有博客写的很详细了, 依葫芦画瓢就能理解的。还需要有设计模式的思维。

? ? ? ? 插件:

AVProVideo本地/网络视频播放下载地址? ?提取码:cdz4
uAudio Mp3 PlayerStreamer本地/网络音频播放下载地址? ?提取码:ey3d
DOTween动画插件??下载地址
Spine骨骼动画?下载地址
TexturePacker?Importer图集下载地址

  • 代码风格

此处仅为个人习惯, 不代表所有人观点。

(1) 代码命名格式

类成员变量命名m_MyVariable
静态变量命名s_MyVariable
函数命名

根据功能命名, 例:

获取变量类型:GetVariableType()

设置变量类型:SetVariableType()
改变类型回调: OnChangedVariableTypeCallBack()

(2)关于Unity中Inspector视图显示

//使用此特性可以将 私有的/受保护的 显示在面板上, 同时通过类去调用的时候不会显示此变量
[SerializeField]
private Text m_AppName = null;

//对于需要通过类去调用私有变量的时候, 封装一个属性变量去传递
public Text AppName
{
    get { return m_AppName; }
}

//外部既可以调用也可以设置
public Text AppNameExample1
{
    get { return m_AppName; }
    set { m_AppName = value; }
}

//外部仅能调用, 仅类的内部设置值
public Text AppNameExample2
{
    get;
    private set;
}

这样难道不觉得代码看起来很清爽吗? 虽然代码量增加上来了, 但是看代码毕竟悦己也悦别人。

(3)注释

如果函数命名的足够好的前提下是可以不用打注释的,例如:

private void SearchMusic()
{
}

private void DownloadMusic(int id, string songName, string singer)
{
}

private void PlayMusic(int id, int duration)
{
}

你觉得这样的代码需要打注释吗?

public static Texture2D BeautySkinWhiteningDermabrasion(this Texture2D texture2D)
{
}

如果是这样的, 我建议还是打个注释比较好点, 当然如果你想动点小心思的话, 也可以不用打注释, 但是不提倡这种行为, 还望诸君且行且珍惜。

(4)设置一个全局静态数据类 GlobalData.cs

(5)灵活使用using, 例: UnityEngine.Object和System.Object冲突了, 可以使用
? ? ? ? using?SysObject =?System.Object;来处理。

(6) 还有编写了各种让人虎躯一阵的代码, 请勿模仿。

try
{
    //TODO:
}
catch(Exception e)
{
    Application.OpenURL("http://stackoverflow.com/search?q="+e.message,"_blank");
}
pause_state = pause_state == false ? true : false;
[SerializeField]
private InputField m_SearchMusicInput = null;

m_SearchMusicInput.onValueChanged.AddListener(OnSearchMusicValueChanged);

private void OnSearchMusicValueChanged(string content)
{
    m_SearchMusicInput.text = content;
}

想起来还有什么好玩的再添加....


接下来就开启制作篇章!
由于是边制作边写博客, 进度会偏慢!
周末一般没时间写!
有兴趣的小伙伴可以关注一波

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 11:11:09  更:2021-09-10 11:11:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 17:03:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码