
随笔
魂牵丶梦萦
这个作者很懒,什么都没留下…
展开
-
随笔-Unity中用代码动态修改UGUI的锚点(Anchors)
问题:在我们使用UGUI时,我们修改锚点时,常常会按住Alt键选择不同类型的锚点来调整对应组件的大小及锚点位置如图:(图一为正常选择,图二为按住Alt键之后的样子)当我们选择图2(也就是按住Alt键)的右下角的锚点方式时,就会将组件铺满整个画布,而我现在想利用这个操作,在代码中动态修改应该怎么做呢?首先我们将所有锚点的操作建立一个枚举:(例如StretchAll就对应着铺满画布,我就不一一列举,大家可以复制出来自行修改试试)。是不是很简单,那我们对整个锚点修改操作封装一下,写到扩展方法里面方便我们使用。原创 2024-03-18 15:23:48 · 1389 阅读 · 0 评论 -
随笔-Unity中的ScrollView如何跳转到指定的Item位置
我们可以通过计算列表中有多少个Item,再利用ScrollView中Content的长度来计算Item的具体位置,得到位置之后直接调整ScrollView中normalizedPosition的值做到跳转的目的。在我们平时开发滑动列表的UI时,虽然UGUI的ScrollView并不是很好用,但是有时一些非常简单的列表我们没有必要加入一些很复杂的列表插件,用简单的ScrollView就可以完成我们的需求。直接贴上代码:整个计算方式很简单,代码量也很少,计算方式就像上面说的一样。原创 2024-03-18 11:22:05 · 1144 阅读 · 0 评论 -
随笔-Unity中Vector3的点乘、叉乘、投影等的几何意义及应用
Unity中Vector3的几何意义,包括点乘、叉乘、投影的集合意义及应用原创 2022-12-02 17:32:04 · 5536 阅读 · 1 评论 -
随笔-Unity中修改Spine材质
UnitySpine修改单独动画的材质属性原创 2022-09-21 16:13:41 · 4802 阅读 · 0 评论 -
随笔-自控概率的大转盘抽奖
游戏自控概率的大转盘抽奖功能原创 2022-09-20 11:59:03 · 3237 阅读 · 0 评论 -
随笔-在Unity中扩展方法(Dictionary.GetDicValue)
我们在使用Uinty开发时,有时候有函数提供的方法并不能直接满足我们的需求,可能需要多些很多行代码或者封装一个函数去处理我们的需求,这样会使我们的代码更加的臃肿,而且复用性还需要根据需求的不同去更改我们封装的函数。在实际开发过程中,我们可以根据项目需求 、自己的开发需求去一直增加我们的扩展类,如果遇到好的方便的扩展方法我也会继续更新本文。这时候如果我们去扩展一个自定义的方法来提高我们的工作效率记忆代码的复用率,我们将不用去可以的调用任何一个函数就可以达到我们想要的方法,可以直接在类里面实现。原创 2022-09-06 12:12:35 · 2015 阅读 · 0 评论 -
随笔-UGUI中LayoutGroup来自适应长度图片长度
文字外框自适应长度原创 2022-08-02 15:44:49 · 320 阅读 · 0 评论 -
随笔-Unity中一个简易的Spine动画控制器
UnitySpine动画控制器原创 2022-08-02 14:18:48 · 1880 阅读 · 0 评论 -
随笔-Unity中Spine层级拆分
UnitySpine的分层处理原创 2022-06-29 15:17:52 · 6471 阅读 · 1 评论 -
随笔-Unity部分版本加载AB资源时崩溃问题
首先描述一下崩溃的现象:因为之前使用的版本一直都是Unity2020.3.0(LTS),是一个相对稳定的版本,后来因为想尝试一下新版本的一些新特性,就讲Unity升级到了2021.2.7,但在后面的使用过程,发现新版的Unity总是在导出资源之后(生成AB包)的第一次运行后崩溃,再次运行依旧崩溃,只有重新导出一次资源再运行之后就不会出现崩溃问题。虽然打出的apk包之后真机运行并没有什么问题。但是这种总崩溃的现象总是让人觉得很难受,所以我开始排查这个奔溃出现的原因。(下图为...原创 2022-03-17 11:12:55 · 5411 阅读 · 0 评论 -
随笔-利用协程及属性来效率的实现物体移动
我们在做moba类游戏或者其他类型的游戏需要鼠标点击某处位置然后将人物移动到该点的需求。大体思路就是通过监听鼠标的点击事件,通过射线检测碰撞点(3D游戏)或者监听鼠标点击位置的屏幕坐标(2D)来得到移动目标点的position(坐标)。public class ClicPosition : MonoBehaviour{ void OnMouseDown () { Ray ray = Camera.main.ScreenPointToRay(Input.mouseP原创 2021-11-29 16:52:07 · 3324 阅读 · 0 评论 -
随笔-UGUI中按钮长按功能
在我们开发Unity项目时,可能会遇到某些按钮需要长按才能触发,比如在购买某个商品时,长按按钮就会持续增加数量这种。UGUI并没有直接可以实现这个功能的事件,需要我们自己编写一部分功能代码。首先因为UGUI的Button只有onClick的事件,我们首先需要扩展一下Button的点击事件,其中主要是按下、抬起、点击三种,直接上代码:using UnityEngine;using System.Collections;using UnityEngine.EventSystems;public原创 2021-08-31 10:19:22 · 659 阅读 · 0 评论 -
随笔-Unity对于不同平台的字符串处理(判断长度、截取字符串)
之前因为要在游戏项目中添加IM系统,当需要有字符限制的时候。(在客户端判断长度)第一时间想要运用NGUI的Input中Character Limit组件,但是发现它判断的字符长度并没有全角半角之分。后来运用System.Text.Encoding.BigEndianUnicode等方法来判断时发现Unity在不同平台所判断出的字符长度并不相同。然后想到了运用一下这种方法来判断字符长度/// <summary> /// 判断字符长度 /// </summar原创 2021-08-04 16:52:09 · 1451 阅读 · 0 评论 -
随笔-Unity关于利用AssetBundle打包资源与加载资源
最近在做项目的时候想给工程里加一个读取外部资源包的功能,因为是个展示类的项目,如果要增加新的产品只需要将资源打包,通过加载资源包就可以做到不用重新build就可以更新。这也是热更新中的一个环节。1)首先在Asset根目录下创建Editor和StreamingAssets文件夹 创建C#脚本取名为CreateAssetBundle,此为打包脚本,在Editor下执行即可,贴上代码。public class AutoCreateAssetBundle : Editor{ c...原创 2021-08-04 16:47:10 · 495 阅读 · 0 评论 -
随笔-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 · 1526 阅读 · 0 评论 -
随笔-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 · 685 阅读 · 0 评论 -
随笔-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 · 2620 阅读 · 0 评论 -
随笔-在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 · 3232 阅读 · 2 评论