自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 随笔-Unity中用代码动态修改UGUI的锚点(Anchors)

问题:在我们使用UGUI时,我们修改锚点时,常常会按住Alt键选择不同类型的锚点来调整对应组件的大小及锚点位置如图:(图一为正常选择,图二为按住Alt键之后的样子)当我们选择图2(也就是按住Alt键)的右下角的锚点方式时,就会将组件铺满整个画布,而我现在想利用这个操作,在代码中动态修改应该怎么做呢?首先我们将所有锚点的操作建立一个枚举:(例如StretchAll就对应着铺满画布,我就不一一列举,大家可以复制出来自行修改试试)。是不是很简单,那我们对整个锚点修改操作封装一下,写到扩展方法里面方便我们使用。

2024-03-18 15:23:48 461

原创 随笔-Unity中的ScrollView如何跳转到指定的Item位置

我们可以通过计算列表中有多少个Item,再利用ScrollView中Content的长度来计算Item的具体位置,得到位置之后直接调整ScrollView中normalizedPosition的值做到跳转的目的。在我们平时开发滑动列表的UI时,虽然UGUI的ScrollView并不是很好用,但是有时一些非常简单的列表我们没有必要加入一些很复杂的列表插件,用简单的ScrollView就可以完成我们的需求。直接贴上代码:整个计算方式很简单,代码量也很少,计算方式就像上面说的一样。

2024-03-18 11:22:05 499

原创 随笔-Unity中Vector3的点乘、叉乘、投影等的几何意义及应用

Unity中Vector3的几何意义,包括点乘、叉乘、投影的集合意义及应用

2022-12-02 17:32:04 3967 1

原创 我的框架-Unity3d中的用户数据储存模块UserDB

Unity3D游戏开发的一个用户数据储存模块

2022-11-11 15:35:59 1212

原创 随笔-Unity中修改Spine材质

UnitySpine修改单独动画的材质属性

2022-09-21 16:13:41 3452

原创 随笔-自控概率的大转盘抽奖

游戏自控概率的大转盘抽奖功能

2022-09-20 11:59:03 2479

原创 随笔-在Unity中扩展方法(Dictionary.GetDicValue)

我们在使用Uinty开发时,有时候有函数提供的方法并不能直接满足我们的需求,可能需要多些很多行代码或者封装一个函数去处理我们的需求,这样会使我们的代码更加的臃肿,而且复用性还需要根据需求的不同去更改我们封装的函数。在实际开发过程中,我们可以根据项目需求 、自己的开发需求去一直增加我们的扩展类,如果遇到好的方便的扩展方法我也会继续更新本文。这时候如果我们去扩展一个自定义的方法来提高我们的工作效率记忆代码的复用率,我们将不用去可以的调用任何一个函数就可以达到我们想要的方法,可以直接在类里面实现。

2022-09-06 12:12:35 1772

原创 随笔-UGUI中LayoutGroup来自适应长度图片长度

文字外框自适应长度

2022-08-02 15:44:49 248

原创 随笔-Unity中一个简易的Spine动画控制器

UnitySpine动画控制器

2022-08-02 14:18:48 1621

原创 随笔-Unity中Spine层级拆分

UnitySpine的分层处理

2022-06-29 15:17:52 4472 1

原创 算法-简单的敌人AI《漫游算法》

本文将向大家介绍一套简单的敌人AI巡逻与追击的算法,简称漫游算法。主要就是利用协程来编写一个脚本,让敌人在地图上随机漫游。如果敌人发现玩家在附近,敌人会追击玩家,直到玩家逃跑出敌人的攻击范围。漫游算法可能听起来很复杂,但是当我们逐步分解它时,就会发现这一切都是非常容易实现的。下图就是蛮有算法的示意图。我们将分阶段实现每个部分,并在前进的过程中逐一解释,这样就不会感到不知所措。接下来,我将以简单的2D游戏来实现和说明这个算法。1.准备工作首先给我们“敌人”的预制上添加C...

2022-05-12 09:27:55 756

原创 随笔-Unity部分版本加载AB资源时崩溃问题

首先描述一下崩溃的现象:因为之前使用的版本一直都是Unity2020.3.0(LTS),是一个相对稳定的版本,后来因为想尝试一下新版本的一些新特性,就讲Unity升级到了2021.2.7,但在后面的使用过程,发现新版的Unity总是在导出资源之后(生成AB包)的第一次运行后崩溃,再次运行依旧崩溃,只有重新导出一次资源再运行之后就不会出现崩溃问题。虽然打出的apk包之后真机运行并没有什么问题。但是这种总崩溃的现象总是让人觉得很难受,所以我开始排查这个奔溃出现的原因。(下图为...

2022-03-17 11:12:55 5140

原创 随笔-利用协程及属性来效率的实现物体移动

我们在做moba类游戏或者其他类型的游戏需要鼠标点击某处位置然后将人物移动到该点的需求。大体思路就是通过监听鼠标的点击事件,通过射线检测碰撞点(3D游戏)或者监听鼠标点击位置的屏幕坐标(2D)来得到移动目标点的position(坐标)。public class ClicPosition : MonoBehaviour{ void OnMouseDown () { Ray ray = Camera.main.ScreenPointToRay(Input.mouseP

2021-11-29 16:52:07 3051

原创 随笔-UGUI中按钮长按功能

在我们开发Unity项目时,可能会遇到某些按钮需要长按才能触发,比如在购买某个商品时,长按按钮就会持续增加数量这种。UGUI并没有直接可以实现这个功能的事件,需要我们自己编写一部分功能代码。首先因为UGUI的Button只有onClick的事件,我们首先需要扩展一下Button的点击事件,其中主要是按下、抬起、点击三种,直接上代码:using UnityEngine;using System.Collections;using UnityEngine.EventSystems;public

2021-08-31 10:19:22 555

原创 随笔-Unity对于不同平台的字符串处理(判断长度、截取字符串)

之前因为要在游戏项目中添加IM系统,当需要有字符限制的时候。(在客户端判断长度)第一时间想要运用NGUI的Input中Character Limit组件,但是发现它判断的字符长度并没有全角半角之分。后来运用System.Text.Encoding.BigEndianUnicode等方法来判断时发现Unity在不同平台所判断出的字符长度并不相同。然后想到了运用一下这种方法来判断字符长度/// <summary> /// 判断字符长度 /// </summar

2021-08-04 16:52:09 1332

原创 随笔-Unity关于利用AssetBundle打包资源与加载资源

最近在做项目的时候想给工程里加一个读取外部资源包的功能,因为是个展示类的项目,如果要增加新的产品只需要将资源打包,通过加载资源包就可以做到不用重新build就可以更新。这也是热更新中的一个环节。1)首先在Asset根目录下创建Editor和StreamingAssets文件夹 创建C#脚本取名为CreateAssetBundle,此为打包脚本,在Editor下执行即可,贴上代码。public class AutoCreateAssetBundle : Editor{ c...

2021-08-04 16:47:10 304

原创 随笔-Unity中如果物体在相机可视范围内显示某物体否则隐藏

如果某个物体离开相机可视范围则隐藏,如果在范围内则显示。代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;public class ARGameUI : MonoBehaviour{ private GameObject heigetSlide_Button; private GameObject searchCueBall; public GameO

2021-08-04 15:40:45 1337

原创 我的框架-Unity3d的单例模板

第一个using UnityEngine;public class Singleton<T> : MonoBehaviour where T : MonoBehaviour{ private static T _instance; private static object _lock = new object (); public static T Instance { get { if (applica

2021-07-02 11:39:39 156 2

原创 我的框架-Unity3d中创建一些常用的文件夹

自己在无聊的时候想着每次写新工程的时候都要挨个建文件夹很累,刚好最近在做Editor下的开发,所以随手写了一个一键创建常用文件夹的方法。using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO;#if UNITY_EDITORusing UnityEditor;#endifpublic class CreateFolder : MonoBehaviour{

2021-07-02 11:31:07 295

原创 随笔-Unity3D删除外部文件夹

[DllImport("user32.dll", EntryPoint = "keybd_event")] static extern void keybd_event( byte bVk, //虚拟键值 对应按键的ascll码十进制值 byte bScan, //0 int

2021-07-02 11:18:19 435

原创 随笔-在Unity3d中模拟键盘按键

[DllImport("user32.dll", EntryPoint = "keybd_event")] static extern void keybd_event( byte bVk, //虚拟键值 对应按键的ascll码十进制值 byte bScan, //0 int

2021-07-02 11:11:51 2909 2

原创 随笔-Unity在编辑器下运行Update

using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;using System.Reflection;[InitializeOnLoad]public class Easy2DeditorUpdate { sta

2021-07-02 11:03:20 2240

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除