游戏
MoonWinding
这个作者很懒,什么都没留下…
展开
-
动画播放器(自开发版)
图中的MainDirector 为播放器主驱动脚本,AnimatroMove 为移动的数据存储脚本。播放器Editor.cs。移动脚本数据储存逻辑。原创 2024-04-18 20:39:31 · 210 阅读 · 0 评论 -
【MVC界面框架搭建 三】
上面界面的代码除了一个登录界面的事件实现,其他代码逻辑都是自动生成,界面层的点击或者其他事件通过CtrlEvent 传递。前二章主要分享的框架层代码。登录界面的ctrl 和面板。原创 2023-04-21 10:53:07 · 158 阅读 · 0 评论 -
【MVC界面框架搭建 二】
打开界面策略:PolicyStack 栈式打开策略 同一时间只允许一个打开操作PolicySingle 打开单独界面 有界面的时候,不会再打开其他界面 比例系统级别的提示弹窗 ,加载界面等PolicyMul /// 同时可以打开多个界面当然可以根据项目需求自由扩展自己打开的扩展需求界面管理类 UIManager下面是View 层代码:View 层代码比较简单 ,主要是实现显示的功能和自动生成Ctrl 和View 层代码的逻辑ViewReference 界面的mono 物件挂载者界面原创 2023-04-21 10:34:39 · 162 阅读 · 0 评论 -
【MVC界面框架搭建 一】
b.PolicySingle 打开单独界面 有界面的时候,不会再打开其他界面 比例系统级别的提示弹窗 ,加载界面等。支持界面的Prefab 的摧毁和恢复,Ctrl 层的动态数据保存,可以用类恢复界面。总界面可以加载子界面, 总界面,子界面,单元界面都可以再次载入单元界面。c. 同时可以打开多个界面 比如tips 重复弹出之类的。a. 栈式打开策略 同一时间只允许一个打开操作。单元界面: ItemCtrl。1.界面的Ctrl 层基类。总界面:PanelCtrl。子界面 :SubCtrl。原创 2023-04-20 22:55:44 · 211 阅读 · 0 评论 -
UGUI 无限循环列表分享
设置原理,没有处于列表可视范围的元素将列表系统隐藏回收,用于可视范围的列表元素进行显示1.可视范围的判断:public static class RectTransformExtensions{ public static bool Overlaps(this RectTransform a, RectTransform b){ return a.WorldRect().Overlaps(b.WorldRect()); } public static bool O原创 2022-03-03 18:21:32 · 967 阅读 · 3 评论 -
Unity MlAgent 使用介绍
分享github 工程:https://github.com/IsaWinding/mlagent02.git1.本文介绍要一个战斗中,英雄Ai行为操作用MlAgent来训练操作图中为英雄训练的次数,生成的不同.onnx 文件。训练次数较少的时候,训练的英雄会随机在周围的墙边移动随着训练次数变多,训练的英雄会直接奔向敌方小兵的位置,进行攻击操作。英雄行为脚本:using System.Collections;using System.Collections.Generic;using U原创 2021-12-14 18:36:48 · 3369 阅读 · 0 评论 -
unity Addressable系统及其Xlua脚本热更新全过程详细解析(三)
最后添加一下Addressable资源服务器ip 地址的动态修改,以及xluahotFix 的使用:分享一下个人Demo工程:https://github.com/IsaWinding/AddressableXluaFramework.git希望大家多多点赞,谢谢有些包可能涉及到母包出很多渠道包,有些渠道可能会布置和维护自己的资源服务器,那么就必修动态修改自己的资源服务器地址了建议新的ip 地址通过其他信息后台获取后设置更改动态修改Addressable资源服务器地址: private bo原创 2021-12-07 10:34:38 · 952 阅读 · 1 评论 -
unity Addressable系统及其Xlua脚本热更新全过程详细解析(二)
分享Addressable 资源加载:using System.Collections;using System.Collections.Generic;using UnityEngine;public class AssetManager{ private static AssetManager instance; public static AssetManager Instance { get { if (instance == null) instance = new A原创 2021-12-03 16:19:43 · 746 阅读 · 0 评论 -
unity Addressable系统及其Xlua脚本热更新全过程详细解析(-)
1.本来关于Addressable 的文章已经写了2篇了,但对这个addressable系统有些地方还是不清楚怎么用,这次就用来记录一下结合xlua 实现资源和代码的全更新方案。列取一下一开始遇到的问题:1.xlua 开发的时候我们用的都是.lua 文件,这个是unity 无法识别的文件这个要怎么解决?2.xlua 读取文件的bytes 都是同步读取方式,最新的addressable 很多的同步读取方式都已经弃用。怎么解决这个同步读取问题?带着这些问题,下面介绍我提供的解决方案。分享一下个人Dem原创 2021-12-03 16:07:04 · 2193 阅读 · 0 评论 -
unity Mirror使用心得二(服务器端的怪物创建,及其怪物AI的行为)
1.怪物必须由服务器创建:创建代码:using Mirror;using System.Collections;using System.Collections.Generic;using UnityEngine;public class MonsterCreater : NetworkBehaviour{ public Vector3 Pos; public GameObject projectilePrefab; private NetworkIdentity i原创 2021-11-25 10:45:14 · 5198 阅读 · 1 评论 -
unity Mirror使用心得一(玩家角色创建,控制,及其攻击其他玩家的血量同步设置)
先分享下个人mirrordemo 的github :https://github.com/IsaWinding/MirrorDemo.gitmirror 的官方下载地址:https://assetstore.unity.com/packages/tools/network/mirror-1293211.添加NetworkManager2.添加NetworkMangerHud3.制作玩家角色预制体并添加mirror 相关组件networkTransform 和networkAnimator原创 2021-11-25 10:16:52 · 5980 阅读 · 0 评论 -
unity Addressable 使用心得
Addreseable 组的设置1.设置文件分组 [MenuItem("AddressableEditor/SetAllDirectorToAddress", priority = 2)] public static void SetAllDirectorToAddress() { var arr = Selection.GetFiltered(typeof(DefaultAsset), SelectionMode.Assets); string fold原创 2021-09-09 11:42:06 · 919 阅读 · 0 评论 -
时间轴上的定时行为
public class TimeActioner{ private float loadTime; private float delayTime; private float repeatTime; private int totalRepeatCount = 1;//如果为-1 就永不停止 private int curRepeatCount = 0; public int TimeAcId; private System.Action<原创 2021-08-18 17:49:58 · 136 阅读 · 0 评论 -
仿Dota2战斗属性系统
1.属性的类型:public enum AttributeType : byte{ Hp = 0,//血量 Mp = 1,//魔量 PhyAtk = 2,//物理攻击 PhyDef = 3,//物理抗性(护甲) MagicDef = 4,//魔抗 HpRecover = 5,//Hp 恢复 MpRecover = 6,//Mp 恢复 AtkSpeed = 7,//攻击速度 AtkCd = 8,//攻击间隔 AtkRange原创 2021-08-18 17:44:19 · 333 阅读 · 0 评论 -
UGUI游戏摇杆
using UnityEngine;using UnityEngine.EventSystems;/// <summary>/// UGUI游戏摇杆/// </summary>public class Joystick : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IDragHandler{ public static Joystick Instance = null; public T原创 2021-08-13 15:47:17 · 165 阅读 · 0 评论 -
PhotoServer使用心得(FPS战斗的创建及其流程运行,包括客户端和服务器代码共享)
服务器篇1.服务器windows10 64位启动路径:C:\PrivateSpace\PhotonServer\Photon-OnPremise-Server-SDK_v4-0-29-11263\deploy\bin_Win64\PhotonControl.exe2.服务器Ip配置,在统计目录的PhotonServer.config 中添加<!-- 0.0.0.0 opens listeners on all available IPs. Machines with multiple IPs原创 2021-07-23 18:04:56 · 757 阅读 · 0 评论 -
关于unity加密相关的分享
关于unity global-metadata.dat 机密问题。还有其他的加密破解问题可以看下面链接,对自己的项目进行安全构建。https://www.gameres.com/844907.html原创 2021-07-09 15:30:44 · 304 阅读 · 3 评论 -
unity 事件系统
事件的基类:using System;using System.Collections.Generic;public class EventSender<TKey,TValue> { private Dictionary<TKey, Action<TValue>> dic = new Dictionary<TKey, Action<TValue>>(); public void AddListener(TKey pKey,Acti原创 2021-02-27 18:12:55 · 296 阅读 · 0 评论 -
unity UIFrameWork
MVC 设计架构:C基类的创建:using UnityEngine;public class UICtrlBase{ protected virtual string Key { get { return "UICtrlBase"; } }//C 的key 数值 protected virtual string Path { get { return ""; } }//加载的资源路径 /// <summary> 打开流程 /// OnInit --> OnPost -原创 2021-02-27 17:37:05 · 1104 阅读 · 0 评论 -
Unity Addressable资源加载
下载安装设置方面的不讲了直接上使用的加载卸载代码using UnityEngine;using UnityEngine.AddressableAssets;using UnityEngine.ResourceManagement;public class ResLoader { private string path; private UnityEngine.Object asset_; private GameObject go_; private System原创 2021-02-27 17:11:07 · 797 阅读 · 0 评论 -
Unity WorkFlow
工作流设计简单的流步骤的创建。public class FlowStep { private int stepId; private System.Action<System.Action<bool>> action_; public FlowStep(int pStepId,System.Action<System.Action<bool>> pAction) { stepId = pStepId; action_ = pAction原创 2021-02-27 17:04:42 · 351 阅读 · 0 评论 -
Unity TimeLine 自定义脚本使用
Unity TimeLine 自定义脚本使用原创 2021-02-27 16:55:04 · 820 阅读 · 1 评论 -
unity 战斗系统之操作策略篇
战斗系统之操作策略篇1.战斗中的条件满足条件后会运行对应的操作策略。a.操作基础类:public class VOper { public float DelayTime; private int acId; public int TargetBodyId; public SVType Type = SVType.None; public float OpValue; public VOper(){ } public void SetTargetBodyId(int pBodyId)原创 2020-12-01 16:17:08 · 455 阅读 · 0 评论 -
unity 战斗系统设计(条件触发篇)
战斗系统设计之(条件触发篇)1.战斗里面的数值需要发生改变必须需要满足条件才会触发。这里就涉及到条件触发系统。a.通用数值条件判断using System;public enum RangeType{ Less = 0,//小于 LessOrEqual = 1,//小于等于 Equal = 2,//等于 Range = 3,//在范围内 Abs = 4, //绝对值 GreaterOrEqual = 5,//大于等于 Greater原创 2020-12-01 15:17:18 · 1727 阅读 · 1 评论 -
unity 战斗系统框架设计数值系统
战斗系统框架设计(一)1.战斗的基础数值系统战斗里面是由很多数值拼出的数值组组成,整个战斗运行就是改变这些数值。a .数值类型:public enum SVType{ None = 0, Hp = 1,//血量}b.数值的值:public float curValue;c.数值的时间轴性:public float curTime;d.数值的变化性:public float deltaValue;e.数值的范围性:private float min;//最小原创 2020-12-01 14:41:33 · 1807 阅读 · 0 评论 -
Unity 图片格式一键设置
Unity 图片格式一键设置项目常常要求工程里面的格式统一设置,研究一段时间,写了改文章,不多说直接上代码 //设置图片格式 private static void SetTextureFormat(TextureImporter textureImporter, Texture2D texture2d,string path, TextureImporterFormat androidAlpha, TextureImporterFormat androidNoAlpha, Te原创 2020-11-06 10:45:28 · 673 阅读 · 0 评论 -
Unity 5.0 AB 系统
Unity 5.0 AB 系统总体来说简单分为这几步(文章会给代码示例)工程资源ab命名Lua 文件特殊处理转为txt文件,并且为其ab命名打包所有ab资源真机测试本地ab资源加载,和网络端远程更新下载1.命名文件夹下面的资源 assetBundleName private static void RenameDirectorABName(string pFileDirect...原创 2020-01-03 14:53:55 · 228 阅读 · 0 评论