
Unity的自我学习
我是赵某人
不求甚解,格物致知
展开
-
Unity简单资源加载框架(八):使用AssetLoader类加载使用AssetLoader加载非prefab资源与自动卸载策略
1.AssetLoader/**************************************************** 文件:AssetLoader.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/9 10:39:33 功能:资源加载器*****************************************************/using System;using System.Collections;u原创 2022-05-09 17:34:35 · 1246 阅读 · 3 评论 -
Unity简单资源加载框架(七):使用AssetLoader类加载游戏对象
修改AssetLoader/**************************************************** 文件:AssetLoader.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/9 10:39:33 功能:资源加载器*****************************************************/using System;using System.Collections;u原创 2022-05-09 17:13:12 · 698 阅读 · 0 评论 -
Unity简单资源加载框架(五):使用async-await代替协程和回调
1.AssetLoader修改/**************************************************** 文件:AssetLoader.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/9 10:39:33 功能:资源加载器*****************************************************/using System;using System.Threading.Ta原创 2022-05-09 14:04:15 · 1386 阅读 · 1 评论 -
Unity简单资源加载框架(一):框架流程实现
一:目录结构二.代码的实现1.单例模板Singleton的实现/**************************************************** 文件:Singleton.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/9 10:41:23 功能:单例模板*****************************************************/using UnityEngine;pub原创 2022-05-09 11:33:20 · 806 阅读 · 0 评论 -
Unity简单资源加载框架(四):打包AB包三(生成AB包配置文件)
一目录结构增加两个类二代码:AssetUtility/**************************************************** 文件:AssetUtility.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/7 18:24:12 功能:资源管理相关的工具函数*****************************************************/using System.Coll原创 2022-05-07 18:54:47 · 762 阅读 · 0 评论 -
Unity简单资源加载框架(三):打包AB包二(记录依赖文件)
/**************************************************** 文件:ABEditor.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/7 15:54:51 功能:AB包编辑器*****************************************************/using UnityEngine;using UnityEditor;using System.IO;us原创 2022-05-07 18:11:20 · 469 阅读 · 0 评论 -
Unity简单资源加载框架(二):打包AB包一(开始打包AB包)
一:目录结构:二:打包代码:/**************************************************** 文件:ABEditor.cs 作者:赵深圳 邮箱: 1329346609@qq.com 日期:2022/5/7 15:54:51 功能:AB包编辑器*****************************************************/using UnityEngine;using UnityEdito.原创 2022-05-07 17:56:34 · 1417 阅读 · 0 评论 -
Unity常用旋转方法
获取Unity中Inspecttor面板上的Rotation的值:transform.eulerAngles获取两个物体之间的夹角:1.Vector3.Angle(transform.forward,target.pos-tramsform.pos)2.Mathf.Acos(Vector3.Dot((transform.forward,target.pos-tramsform.pos).normalized,transform.forward))*Mathf.Rad2Deg四元数转为欧拉角:..原创 2022-03-31 14:08:36 · 5064 阅读 · 0 评论 -
使用Unity访问网址下载apk
前言:最近有个功能需求,在Unity里点击下载游戏按钮,访问网址,实现一个通过移动/PC的默认浏览器下载游戏APK实现方法:通过Unity中的Application.Openurl(“需要访问网址的字符串”)注意:字符串需要带http并且该网址要进行设置,点击当前网址就是下载apk提示,比如下图:点击网址以后就会出现的效果:...原创 2021-02-02 17:51:54 · 375 阅读 · 0 评论 -
Zjh游戏(二十三)自身弃牌、比牌以及加注的处理
自身玩家弃牌三个玩家都有弃牌的操作,可以提取到基类中弃牌操作多了些操作,只需要重写即可在比牌失败以及弃牌按钮的点击事件中调用这个方法BaseManager/// <summary> /// 弃牌 /// </summary> protected virtual void GiveUpCard() { isGive...原创 2019-12-25 10:13:24 · 321 阅读 · 0 评论 -
Zjh游戏(十八)可以下注的处理
可以下注发牌结束可以下注庄家的下一位玩家下注如果当前的玩家没有弃牌交给玩家各自处理自己下注ZjhManager_Stand//变量 /// <summary> /// 下一位玩家是否可以下注 /// </summary> private bool m_IsCanNextPlayerStakes = true; ///...原创 2019-12-19 10:25:35 · 341 阅读 · 0 评论 -
底层加载资源框架学习(三):Asset序列化
1.使用Asset序列化需要继承ScriptableObject,当继承以后,脚本中的元素不需要添加任何标签2.创建一个实例并保存为.asset文件。using System.Collections;using System.Collections.Generic;using UnityEngine;[CreateAssetMenu(fileName ="AssetSerilize",...原创 2020-04-01 16:15:25 · 340 阅读 · 0 评论 -
底层加载资源框架学习(二):二进制序列化
1.需要序列化的类using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Xml.Serialization;/// <summary>/// 需要序列化的类/// </summary>[System.Serializable]pub...原创 2020-04-01 12:34:03 · 195 阅读 · 0 评论 -
底层加载资源框架学习(一):XML序列化
1.需要的序列化内容// <summary>/// 需要序列化的类/// </summary>[System.Serializable]public class TestSerilize{ //序列化的元素 [XmlAttribute("Id")] public int ID { get; set; } [XmlAttribute...原创 2020-03-31 17:19:51 · 179 阅读 · 0 评论 -
Unity中的AssetBundle(简单了解)
1.加载AB包的流程指定资源的Asset Bundle属性构建Asset Bundle包上传AB包加载AB包和包里的资源2.指定资源的AssetBundle属性3.构建Asset Bundle包4. 加载AB包和包里的资源(加载本地的AB包)5.AB包分组策略6.解压方式7.依赖包8.加载AB包的几种方式从内存中异步加载AB包(LoadFro...原创 2020-03-30 21:59:37 · 499 阅读 · 0 评论 -
Zjh游戏(二十二)单机玩家比牌
单机玩家比牌在单机玩家的脚本中下注的方法中,会根据牌型,来进行决定是比牌、跟注、弃牌的操作在左右玩家的脚本基类中,创建一个比牌抽象类,在左右两个玩家中实现在下注方法中的比牌操作中,调用比牌的方法修改:在第二十骗博客中,写道,在左右玩家的脚本基类中的FixeUpdate中,调用下注的方法后,就把是否下注设置为false并且隐藏了倒计时,这里应该判断是否在比牌,如果不在比牌,则把下注设置为f...原创 2019-12-20 17:49:34 · 294 阅读 · 0 评论 -
Zjh游戏(二十一)精简代码
精简三个玩家的代码,三个玩家的基类BaseMangaer_Standusing DG.Tweening;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class BaseManager_Stand : MonoBehavi...原创 2019-12-19 17:50:46 · 191 阅读 · 1 评论 -
Zjh游戏(二十)单机左右玩家下注
单机玩家的下注根据牌型确定玩家的下注次数如果是顺子,金花,顺金则下注次数为当前牌型*6单张随机比牌、弃牌、跟注对子随机比牌、跟注豹子、235则一直跟注//变量 /// <summary> /// 下注的等待时间 /// </summary> private float m_RandomWaitStakesTime = 0; ...原创 2019-12-19 15:07:09 · 228 阅读 · 0 评论 -
Zjh游戏(十九)跟注的处理
玩家跟注的处理ZjhManager实现下注的方法玩家自身处理跟注按钮的点击ZhjManager_Stand /// <summary> /// 上一个玩家的下注数 /// </summary> private int m_LastPlayerStakesCount = 0; /// <summary> /// 下...原创 2019-12-19 14:58:45 · 229 阅读 · 0 评论 -
Zjh游戏(十七)发牌的处理
发牌的制作准备按钮点击后。开始选择庄家开始发牌初始化牌洗牌发牌发牌结束,获取牌型,自身玩家点击看牌,显示牌值准备按钮点击后。开始选择庄家自身玩家点击准备按钮后调用ZjhManager_Stand选择庄家,并通知左右两家开始选择庄家。庄家先得到牌,庄家的下一为玩家先下注,使用int随机值,0为自身玩家,1为左边玩家,2为右边玩家。然后调用各个玩家对应成为玩家的方法。ZjhMa...原创 2019-12-12 16:04:15 · 304 阅读 · 0 评论 -
Zjh游戏(十六)搭建房间选择界面
UI图:选择房间脚本using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;using UnityEngine.UI;using DG.Tweening;/// <summary>/// 游戏类型 单...原创 2019-12-11 18:18:44 · 386 阅读 · 0 评论 -
Zjh游戏(十五)充值功能的实现
充值功能的UI搭建Unity搭建充值界面创建界面的脚本获取相关UI向Server端发请求充值的请求RechargePanel :Unity充值UI脚本using DG.Tweening;using Protocol.Code;using System.Collections;using System.Collections.Generic;using UnityEngine...原创 2019-12-11 15:44:42 · 1629 阅读 · 1 评论 -
Zjh游戏(十四)用户头像的加载以及排行榜的实现
用户头像的加载创建使用Resources加载图片的脚本,用来加载头像在得到用户信息时,已经把用户信息存储到GameMdeol中,用户名、金币数、头像从GameModel中直接加载ResourcesManagerusing System.Collections;using System.Collections.Generic;using UnityEngine;public cl...原创 2019-12-05 14:57:30 · 438 阅读 · 0 评论 -
Zjh游戏(十三)获取用户信息
添加获取用户信息的子操作码using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Protocol.Code{ /// <summary> /// 账号模块下的操作码 /// </summary> pu...原创 2019-12-04 14:05:05 · 338 阅读 · 0 评论 -
Zjh游戏(十二)登陆功能的实现
制作单线程在所有涉及到数据库的操作,全部使用单线程防止多个线程同时访问,从而造成数据错乱using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;namespace ...原创 2019-12-03 18:58:10 · 266 阅读 · 0 评论 -
Zjh游戏(十一)注册功能的实现
注册功能的实现实例化数据模型在注册按钮的点击事件中调用发送消息的方法 /// <summary> /// 注册按钮的点击事件 /// </summary> private void OnRegisterButtonClick() { if (input_UserName.text==null||input_UserN...原创 2019-12-03 16:33:26 · 261 阅读 · 0 评论 -
Zjh游戏(十)注册功能的实现以及数据库的连接
注册功能的实现创建账号模块下的注册登陆的子操作码创建注册登陆的数据模型注册登陆的子操作码using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Protocol.Code{ /// <summary> /// 账号模块下...原创 2019-12-03 16:20:48 · 378 阅读 · 0 评论 -
Zjh游戏(九)登陆注册面板的开发
登陆面板注册面板LoginPanel脚本using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class LoginPanel : MonoBehaviour{ #region 字段 private Input...原创 2019-12-03 10:24:34 · 214 阅读 · 0 评论 -
Zjh游戏(八)客户端登陆注册的前期准备广播事件的制作,避免耦合性
回调类型public delegate void CallBack();public delegate void CallBack<T>(T arg);public delegate void CallBack<T, X>(T arg1, X arg2);public delegate void CallBack<T, X, Y>(T arg1, X a...原创 2019-12-03 10:13:50 · 272 阅读 · 0 评论 -
Zjh游戏(七)客户端网络消息处理中心的完善
完善NetMsgCenter创建每个模块对应模块类取出消息队列中的消息分发到各个模块进行处理封装Client中发送消息的方法制作单例模式,在发送数据时以后直接调用NetMsgCenterusing Protocol.Code;using System.Collections;using System.Collections.Generic;using UnityEngine;...原创 2019-12-03 10:09:02 · 186 阅读 · 0 评论 -
Zjh游戏(六)客户端接收发送消息以及连接测试
前期准备创建工程和场景把Server端的EncodeTools和NetMsg拖到Unity中创建ClientPeer脚本,封装客户端的接收消息和发送消息创建空物体NetMsgCenter用来挂载NetMsgCenter脚本,用来做消息处理中心using System;using System.Collections;using System.Collections.Generic...原创 2019-11-30 18:48:21 · 190 阅读 · 0 评论 -
Zjh游戏(五)模块类的实现
完善网络消息的处理中心作用:分发到各自对应的模块去处理在GameServer中创建一个文件夹Logo创建一个所有的模块类继承的接口,IHandler,一个断开方法,一个接收消息的方法创建操作码对应的模块类在网络消息的处理中心分发到每个模块类中Server项目图IHandler的实现namespace GameServer.Logic{ /// ...原创 2019-11-29 16:56:24 · 204 阅读 · 0 评论 -
Zjh游戏(四)应用层的实现
创建应用层接口namespace MyServer{ public interface IApplication { void Disconnected(ClientPeer client); void Receive(ClientPeer client, NetMsg msg); }}Socket设置定义一个应用层定义一个...原创 2019-11-28 18:49:02 · 207 阅读 · 0 评论 -
Zhj游戏(三)完善服务器发送接收消息
完善ClientPeer接收消息:定义List<>集合,类型为byte,数据缓冲区使用解析包解析出来转换成NetMessage网络消息类回调给Server端 public SocketAsyncEventArgs ReceiveArgs { get; set; } /// <summary> /// 接收到消息的数据缓冲区...原创 2019-11-28 18:00:03 · 220 阅读 · 0 评论 -
Zjh游戏(二)网络消息类NetMessage的处理
NetMessage的创建作用:每次发送消息,都发送这个类,接收到消息后,转换成这个类自己理解:加上模块号,保证收发消息的准确性,方便接收处理,在脚本中有两个操作码,操作码对应游戏中某个模块,子操作码就对应游戏模块中的子模块。比如:登陆模块中的注册模块。using System;using System.Collections.Generic;using System.Linq;usi...原创 2019-11-27 18:26:37 · 486 阅读 · 0 评论 -
萌熊跑酷(六)编辑器摆放障碍物
摆放方案using System.Collections;using System.Collections.Generic;using UnityEngine;using System;public class PatternManager : MonoSingleton<PatternManager>{ public List<Pattern> pat...原创 2019-11-26 17:54:24 · 583 阅读 · 0 评论 -
萌熊跑道(五)主角的移动控制
手势识别控制判断手势滑动的长度的x的绝对值和y的绝对值键盘识别省略using System.Collections;using System.Collections.Generic;using System.Net.Sockets;using UnityEngine;public class PlayMove : View{ #region 字段 //水平移...原创 2019-11-26 17:49:20 · 271 阅读 · 0 评论 -
萌熊跑酷(四)无尽跑道的实现
思路:每个道路末尾(主角跑过,看不到前道路处)添加一个触发器主角进入触发,跑过的跑道进行回收使用两个指向,一个是当前跑道执行 now 一个是下一个跑道next,进入触发以后,next赋值给now,next重新生成,设置next的位置,next的位置为:row的位置加上跑道的长度using System.Collections;using System.Collections.Gene...原创 2019-11-26 17:31:18 · 961 阅读 · 0 评论 -
萌熊跑酷(三)MVC的搭建
MVC图解:Model:using System.Collections;using System.Collections.Generic;using UnityEngine;public abstract class Model { /// <summary> /// 名字标识,根据名字来查找Model /// 每个Model有不同的名字 ...原创 2019-11-22 18:23:14 · 324 阅读 · 0 评论 -
Zjh游戏(一)服务器连接、接收消息
使用VS2017创建一个类库。服务器端using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;using System.Threading.Ta...原创 2019-11-22 18:09:58 · 267 阅读 · 0 评论