Unity
努力长头发的程序猿
一枚来自保定的程序员,对我的博客感兴趣的可以直接call我,不用客气
展开
-
Unity完美的上色并检测完成度工具
Unity完美上色工具原创 2022-10-27 23:08:23 · 1199 阅读 · 1 评论 -
UnityShader 一个能透视到背景的shader
Shader"Timor/MaskShader"{ SubShader{ Tags{"Queue" = "Geometry-10"} Lighting off ZTest LEqual ZWrite On ColorMask 0 Pass{} }}原创 2022-02-24 19:36:32 · 410 阅读 · 0 评论 -
Unity完美的UI绘画工具
直接将代码放在RawImage上(不能放在Image上面)包含了撤销和清除功能,两个功能也可以联动需要注意revocations变量不能等于1或者0,否则会进入死循环using System;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class PaintingGraffiti : MonoBehaviou原创 2022-02-22 15:47:55 · 3758 阅读 · 10 评论 -
Unity在滚动视图下实现水平翻页
滚动视图的MovementType属性设置为Clamped,然后去除Inertia的勾选其中用到UnitManager代码在:Unity:利用UnitManager类实现一些复杂的功能(长期更新)_努力长头发的程序猿的博客-CSDN博客using System;using UnityEngine;using UnityEngine.UI;using UnityEngine.EventSystems;public class ScrollPage : MonoBehaviour , IPo原创 2022-01-19 17:55:52 · 3315 阅读 · 0 评论 -
Unity 屏幕中需要拖动的UI及其回调:MainDrag
using System;using UnityEngine;using UnityEngine.EventSystems;public class MainDrag : MonoBehaviour, IPointerDownHandler, IPointerUpHandler{ private bool isEnd; private bool isSelect; public bool closeDrag { get; set; } private Vector.原创 2021-12-09 19:06:16 · 192 阅读 · 0 评论 -
Untiy GetTag 赋予物体额外的可读取的属性
给物体挂在可以以字典格式读取的额外属性using System;using System.Collections.Generic;using System.Linq;using UnityEngine;public class GetTag : MonoBehaviour{ [Serializable] public struct MainTag { public string key; public string value;原创 2021-11-11 15:24:32 · 186 阅读 · 0 评论 -
Unity 赛车控制器
脚本挂载在车子上车子需要具有Rigidbody2D组件其中子物体:wheelFront:车子前轮,有CircleCollider,WheelJoint2D和Rigidbody2D组件wheelBack:车子后轮,有CircleCollider,WheelJoint2D和Rigidbody2D组件wheelFrontTrigger车子前轮下方的检测器,需要勾选Trigger的BoxCollider和属性为Kinematic的Rigidbody2D组件,以及一个简单的GetWheelTrigge原创 2021-11-03 14:30:40 · 2295 阅读 · 0 评论 -
Unity2d相机跟随效果
脚本挂在相机上,Target设置为跟随的物体using UnityEngine;public class HomeCamera : MonoBehaviour{ private void FixedUpdate() { if (this.targetTrans != null) { float num = Vector2.Distance(transform.position, this.targetTrans.positi原创 2021-11-01 17:57:42 · 190 阅读 · 0 评论 -
Unity:切换场景过度
创建一个Canvas挂载以下代码,代码下有一个带射线碰撞的透明Image名字叫"stopSelectAll"和一个不带射线碰撞的加载页面图片的Image名字叫"mage"using System;using DG.Tweening;using UnityEngine;using UnityEngine.SceneManagement;using UnityEngine.UI;public class SceneChangeManager : MonoBehaviour{ priv原创 2021-04-07 15:50:06 · 1106 阅读 · 0 评论 -
C#获取当前时间的各种返回格式(常用的)
此乃转载文章,原链接:https://blog.csdn.net/q393364227/article/details/53783631在开发项目中碰到的需要的格式,下面总结一些常用的格式1.//获取日期+时间(2016-12-21 13:20:10)(sql server 的 datetime时间格式)DateTime.Now.ToString();DateTime.Now.ToLocalTime().ToString();2.//获取日期(2016年12月21日 or 2016-12-2转载 2021-03-25 16:28:22 · 1434 阅读 · 0 评论 -
Unity2d:通过单双指移动放大图片
和移动相机比较类似,更改的值换为了image的RectTransformusing System.Collections;using System.Collections.Generic;using UnityEngine;public class ShowMove : MonoBehaviour{ private RectTransform rect; public float scale; private Vector3 lastclickpos, lastmap原创 2021-03-25 10:04:57 · 1203 阅读 · 5 评论 -
Unity通过菜单实现批量修改文件名称
using UnityEngine;using UnityEditor;using System.IO;using LitJson;public class MenuEditor : MonoBehaviour{ [MenuItem("菜单/批量更换文件名")] public static void Temporary() { string path = @"直接从我的电脑复制路径地址"; path = path + @"\"; .原创 2021-02-25 11:12:20 · 1007 阅读 · 0 评论 -
Unity按键方法管理系统
管理手机返回键功能的系统,在跳转页面的时候注册返回事件为关关闭自身,自身关闭或回调生效时注销事件,还包括左右滑动事件using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class GetMobileKeyManager : MonoBehaviour{ private float clickTime; public stati原创 2021-02-10 11:53:46 · 458 阅读 · 0 评论 -
Unity EventSystemManager 简易事件管理系统
简单的时间管理系统,根据名字注册和调用时间,也可以根据名字删除using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class EventSystemManager{ private static EventSystemManager main; private OnDesEvent desEvent; public s原创 2021-02-10 11:45:56 · 659 阅读 · 1 评论 -
Untiy:使用GameTeach来为游戏添加新手教程
在Canvas上挂载脚本,把Canvas设定在最高层,在Canvas中根据顺序创建多个子物体当作每一步显示切换的提示框,在不同的提示框下创建名为btn的Button作为传递的点击事件,然后脚本中的Canvas公开拖拽此场景中其他需要传递点击事件的Canvas,auidoLenge为声音的个数,教程没有声音就赋值0using System;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public原创 2020-11-20 17:40:44 · 177 阅读 · 0 评论 -
Unity:使用AppBuyManager来进行付费购买以及如何使用Firebase
谷歌app内购代码using System.Collections.Generic;using UnityEngine;using UnityEngine.Purchasing;public class AppBuyManager : MonoBehaviour, IStoreListener{ private static AppBuyManager main; public static AppBuyManager Main { get { r.原创 2020-11-20 16:48:17 · 706 阅读 · 0 评论 -
Unity2d:根据手指拖动和拉伸移动位置或改变大小
适用于2d相机的拖动移动和缩放拉伸,其中有位置和大小的最大最小限制文中用到的GameManager在这篇文章:https://blog.csdn.net/qq_39332021/article/details/106625199using System.Collections;using System.Collections.Generic;using UnityEngine;public class MapMove : MonoBehaviour{ private Camera原创 2020-10-29 17:21:10 · 849 阅读 · 0 评论 -
Unity:利用UnitManager类实现一些复杂的功能
UnitManager类为Unity单例类,需要在一开始加载到场景中,里面有5个公开的方法Wait(float time, Action action):等待参数一的时间后执行参数二的回调Wait(Action action):在下一帧执行参数一的回调Domove(RectTransform rect, Vector3 movepos, float time) 类似与DoTween中对于UI的移动,但是Dotween的DolocalMove无法适配UI布局的问题,这个功能解决了那个问题原创 2020-08-21 17:25:12 · 771 阅读 · 1 评论 -
Unity:使用TextureManager在安卓读取本地图片或截屏存入本地
首先介绍下Application.persistentDataPath,这个是返回Andrio客户端专门为APP保存素材的文件夹,在PC会保存到C盘文件夹下,PC可以使用Application.dataPath保存到根目录C#单例类,不需要挂载到场景,一共有三个方法Texture ReadTexture(string path) 读取素材文件夹下的参数一的图片文件转换成Texture类型返回值(RawImage使用)PrintCameraAndSave(Camera camera,stri原创 2020-08-21 17:11:26 · 1077 阅读 · 0 评论 -
Unity:通过JsonManager类将Excel文件解析为字符串二维数组(适用于安卓和PC)
上一篇文章讲了如何用ExcelManager解析Excel文件,本篇需要与上一篇链接内容结合使用,链接https://blog.csdn.net/qq_39332021/article/details/108150209ExcelManager解析数据在PC上可以用,但是安卓上时行不通的,所以需要吧Excel转换成Json文件在对Json文件进行读取操作首先是利用继承了UnityEditor类的JosnEditor类生成菜单,然后在Assets目录下创建Resources文件夹里面创建Json.原创 2020-08-21 16:54:47 · 457 阅读 · 1 评论 -
Unity:通过ExcelManager类将Excel中的内容解析为字符串二维数组(适用于Windows)
C#单例类,通过第一个方法读取根目录下Excel文件夹下名为参数一的文件,读取完毕后执行传入的回调函数,读取Excel表的方式只适用于Windows也就是PC不适用与安卓,想要导出安卓并解析Excel数据的请参考:下一篇文章using System;using UnityEngine;using System.IO;using OfficeOpenXml;public class ExcelManager{ private static ExcelManager main; .原创 2020-08-21 16:39:15 · 325 阅读 · 1 评论 -
Unity:实现手游中的根据时间获得体力
首先是用来保存体力数据的GameManager类,里面定义包含数据的变量,直接访问或修改这些变量就能实现想要的功能Vim:现在拥有的体力值 (会改变,不需要初始值)vimmax:拥有体力的上限是多少 (不会改变,需要初始值)addvimtime:还剩多长时间获得下一次体力 (会改变,不需要初始值)addvimwaittime:每隔多长时间获得一次体力 (不会改变,需要初始值)timeunit:本地记录的上一次的时间数据 (会改变,不需要初始值)原创 2020-08-21 16:29:59 · 1312 阅读 · 0 评论 -
Unity:求好评控制器
using System;using System.Runtime.InteropServices;using UnityEngine;public class AndroidClick : AndroidJavaProxy{ private Action<int> action; public AndroidClick(Action<int> action) : base("com.cwgtech.unity.MyPlugin$AlertViewCal.原创 2020-07-24 16:15:31 · 127 阅读 · 0 评论 -
Unity:使用AudioManager控制场景当中各种声音的播放
导入项目挂在物体上,用法在最后using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public enum AudioMode{ now, always, loop}public class AudioManager : MonoBehaviour{ private List<AudioSource> audio.原创 2020-07-24 16:12:57 · 1853 阅读 · 0 评论 -
Unity 使用AdsManager控制各种广告
设置完Google广告之后导入项目调用方式:AdsManager.Main.ShowBanner(); //显示横屏广告AdsManager.Main.ShowInterstitial(); //显示插屏广告using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using GoogleMobileAds.Api;public class AdsMan...原创 2020-07-24 16:06:11 · 417 阅读 · 0 评论 -
Unity APP添加广告
导入GoogleMobileAds资源包using GoogleMobileAds.Api;代码引用GoogleMobileAds包private BannerView bannerView;保存屏幕边缘广告的变量private InterstitialAd interstitial;保存游戏过程中出现的插屏广告的变量private RewardBasedVideoAd rewardBasedVideo;保存激励视频广告的变量bannerView = new .原创 2020-06-29 16:57:09 · 795 阅读 · 0 评论 -
Unity 手机App内购
添加引用using UnityEngine.Purchasing;通过代码继承IStoreListener接口实现接口功能完成App内购功能private static IStoreController m_StoreController;定义商品信息变量,这个变量控制购买商品储存着商品信息以及作为后面方法的参数传递private static IExtensionProvider m_StoreExtensionProvider;定义商品信息扩展变量,这个变量里储存着各个原创 2020-06-29 11:27:38 · 1207 阅读 · 0 评论 -
为Unity用手机操作UGUI制作一套操作方法
市面上最常见的就是EasyTouch,不过现在下不到了而且也没学会,所以自己研究出来一套方式来应对手机端操作UGUI,应该和EasyTouch类似(没怎么用过EasyTouch)实现了点击事件,拖拽功能,松开事件,放在固定点的事件,四个最常用的功能应用这篇文章里的内容用上了前面获取手机端操作的代码:https://blog.csdn.net/qq_39332021/article/details/106625199首先是大脚本TakeEventusing System;using Sys原创 2020-06-08 18:26:10 · 509 阅读 · 0 评论 -
Unity学习笔记:在GameManager里记录手游操作框架
Unity的UGUI有自带的缩放功能,但是用了这个功能之后,想要获取鼠原创 2020-06-08 17:57:00 · 2059 阅读 · 0 评论 -
Unity平台游戏二段跳
using System.Collections;using System.Collections.Generic;using UnityEngine;public class DoubleJump : MonoBehaviour{ private Vector2 nextmove; private Rigidbody2D r2; private int canjump = 2; // Start is called before the first fram.原创 2020-05-11 15:21:17 · 322 阅读 · 0 评论 -
Unity学习笔记:利用集合委托完成步骤流程执行
适用于有严格步骤流程规定,任何带有第一步第二步的情况,例如新手教学。using System.Collections;using System.Collections.Generic;using UnityEngine;delegate bool Listen();delegate void Doing();public class Talker : MonoBehavio...原创 2020-05-06 17:05:47 · 309 阅读 · 0 评论 -
Unity学习笔记:ScreenAudoChange UGUI分辨率自适应
将画布Canvas的UIScaleMode属性调成ScaleWithScreenSize,然后再Canvas上挂上以下代码using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class ScreenAudoChange : Mo...原创 2020-05-06 15:02:25 · 359 阅读 · 2 评论 -
Unity学习笔记:DoTween插件的应用
在Asset Store 中 搜索DoTween并下载代码调用前先引入命名空间:using DG.Tweening;代码应用:通用方法:DOTween.PlayAll();让所有暂停的DoTween动画播放DOTween.RestartAll();让所有DoTween动画重置.SetAutoKill(false)加在DoTween方法后面,让这个动...原创 2020-04-30 17:12:10 · 1790 阅读 · 0 评论 -
我自己对设计模式的理解
单例模式:用可以在第一次访问的时候创建之后访问为第一次创建出来的的静态变量保存自己的非静态类。原型模式:在VS中多用于用clone()浅克隆Object对象,Unity中GameObject.Instantiate();方法创建场景物体克隆或预设物都属于原型模式。工厂方法:创建不同属性的同种种类的物品时调用一个类中的方法,根据参数不同得到不同属性的装备的方式就属于工厂方法。...原创 2020-04-30 17:14:44 · 161 阅读 · 0 评论 -
Unity学习笔记:自制的简单对象池
自己做游戏的时候临时遇到需要对象池的情况,简单的做了一个,利用了名字后面加编号的功能,无法适应对象创建出来需要改名字的场景public class Main{public GameObject GameObjectInstance(GameObject instance){ for (int i = 0; i < objs.Count; i++) {...原创 2020-04-21 15:51:48 · 115 阅读 · 0 评论 -
Unity学习笔记:编辑器相机
using System.Collections;using System.Collections.Generic;using UnityEngine;public class CameraMove : MonoBehaviour{ public float speed = 4.0f; public float shiftSpeed = 16.0f; privat...原创 2020-01-16 17:44:42 · 301 阅读 · 0 评论 -
Unity学习笔记:UIEvent
引用命名空间:using UnityEngine.EventSystems;在引用命名空间后可以在脚本上附加接口,然后将脚本附加到UGUI上,触发不同条件会调用继承接口实现的方法例:public class UI: MonoBehaviour , IPointerClickHandler{public void OnPointerClick(Pointe...原创 2020-01-06 15:57:34 · 234 阅读 · 0 评论 -
Unity学习笔记:自动寻路
Window菜单栏中的Navigation调出自动寻路菜单需要计算寻路的物体(地面和障碍物,角色不需要)需要在Static中勾选Navigation Static选项参与计算。Navigation 可移动,不可移动,跳跃GenerateOffMeshLinks 设置当前物体可以被跳跃过来在全部设定好后Back页面点Back对地面进行烘焙Agent Radius设定边框大小,边框...原创 2019-12-09 16:20:29 · 419 阅读 · 0 评论 -
Unity学习笔记:相机属性
clera Flag清除标记skybox 具备天空盒,清除前面绘制的图形。solid Color 具备背景图效果,清除前面绘制的图形。Depth only没有背景和天空盒,不清除前面绘制的图形,清除图像的深度。(图像覆盖)Dont Clear没有背景和天空盒,不清除前面绘制的图形,也不清除图形深度。清除标记,deepth,剔除遮挡 三个因素共同影响最后摄像机的成像。优先渲染方法...原创 2019-12-09 16:20:41 · 383 阅读 · 0 评论 -
Unity学习笔记:Unity调用网络协议
TCP协议 安全有效的协议方式 客户端连接主机会在后台进行三次握手。using System.Nett.Sockets引用数据库Socket socket = new Socket(AddressFamily.InterNetwork,SockeType.Stream,ProtocolType.TCP);创建一个套接字,套接字相当于在TCP协议中创建一个并未指定是客户端还是服务器的端口,...原创 2019-12-09 16:20:49 · 602 阅读 · 0 评论