- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 获取数组的最大最小值及对应的下标
数组(A)和List(B)之间的转换A->B: List<int> list = new int[] { 1, 2, 3}.ToList();B->A: int[] array = list.ToArray();获取数组中的最大值及对应的下标int index = list.IndexOf(list.Max());获取数组中的最小值机对应的下标int index2 =list.IndexOf(list.Min());...
2021-01-04 14:06:53
1396
原创 DOTween——笔记记录
(一)循环旋转 transform.DOLocalRotate(new Vector3(0,0,-180), 10).SetEase(Ease.Linear).SetLoops(-1, LoopType.Restart); DOLocalRotate:第一个参数是移动的量,第二个参数是期间耗时。 Ease:运动曲线的设置。 Loops:动画循环的设置。第一个参数是循环次数, -1代表无限循环 第...
2020-11-24 13:53:00
483
原创 C# list和数组的转换
1. list转到数组List<int> list = new List<int>();int[] array = list.ToArray();2.数组转到listList<int> list= new List<int>(array);
2020-10-12 17:57:59
4635
原创 C#——关于小数取整
向上取整(进一法):只要有小数都加1 Mathf.Ceil(float f); 或Mathf.CeilToInt(float f);//返回大于或等于f的最小整数。向下取整:直接舍弃小数 Mathf.Floor(float f); 或 Mathf.FloorToInt(float f);//返回大于或等于f的最小整数。四舍五入: Mathf.Round(...
2020-03-18 14:08:39
4413
原创 Unity3D——Transform类
世界坐标 position:transform.position,世界坐标中的位置,绝对坐标。 局部坐标 localPosition:transform.localPosition,相对于父对象的位置,相对坐标。如果一个物体没有父对象,二者等效。eulerAngles:世界坐标系中的旋转(欧拉角)。localEulerAngles:相对于父级的变换旋转角度。right:世界坐标系中的右...
2020-03-16 16:47:40
765
1
原创 Unity——动画Animator的方法调用
关于动画的播放、获取该对象的所有动画名、当前名及时间长度 private Animator animator; private AnimationClip[] animationClip; void Start() { animator = GetComponent<Animator>(); animationClip...
2020-03-05 14:58:49
5560
1
原创 Unity——API中Mathf的插值函数,关于对象的移动
1.Lerp从a点->b点->a点来回循环移动例:从(-1,0,0)到(1,0,0)using UnityEngine;public class Lerp : MonoBehaviour{ public float minimum = -1.0f; public float maximum = 1.0f; float t = 0.0f;...
2020-01-13 14:49:33
694
原创 Unity——写入和读取本地txt文件
using System.Collections.Generic;using System.IO;using UnityEngine;public class RecordData : MonoBehaviour{ StreamWriter writer; StreamReader reader; List<string> allData; ...
2020-01-08 14:37:19
4631
1
原创 Unity工程3D和2D开发模式切换
在开发游戏时,之前创建的2D或3D模式并不是我们想要的,此时可以选择“Edit > Project Settings > Editor > Mode”,将“Mode”改成所需的3D或2D,再重启下。 ...
2020-01-08 14:36:52
2075
原创 C#——圆外一点,求其切点
已知C点坐标、圆心坐标O及其半径r,求切点坐标。我只计算了其中一个坐标点。 float radius;//半径 Vector3 m_yuanxin;//圆心坐标 Vector3 m_qiedian;//切点坐标 /// <param name="m_pos[2]">C(圆外一点)</param> ...
2019-08-20 15:52:56
2150
原创 C#——已知两点及半径,求圆心坐标
已知A点和B点及半径,其中B点为所在圆的切点,求该圆心坐标 float radius;//半径 float angleO;//圆心角 Vector3 m_yuanxin;//圆心坐标 /// <summary> /// 计算圆心坐标 /// </summary> /// &...
2019-08-20 15:37:02
4491
2
原创 Unity——关于后台挂起和屏幕休眠(黑屏)
void Start() { Application.runInBackground = true;//用于后台挂起 Screen.sleepTimeout = SleepTimeout.NeverSleep;//用于禁止屏幕休眠 }
2019-08-16 16:59:49
3652
原创 Unity——读取Excel中的数据
当涉及的数据很多且没有规律时,用代码一一写入,不仅耗时还很low。此时较好的方法就是讲数据写入Excel,然后获取表中的数据,简单又快,但unity不能直接导入读取Excel,需要借助第三方的库进行解析(需下载Excel.dll,ICSharpCode.SharpZipLib.dll,System.Data.dll),下载链接https://download.youkuaiyun.com/dow...
2019-04-18 15:01:20
7361
5
原创 Unity3D——模型点击事件
有时需要对具有获取碰撞性质的对象获取点击事件,而Button只能在Canvas下使用,此时需要根据对象的Tag来获取,执行事件。方法如下,其中命名的对象的Tag为“fish”。void Update(){ //获取点击的鱼 if (Input.GetMouseButtonDown(0)) { RaycastHit hitInfo; ...
2019-03-28 14:30:36
3601
原创 Unity3D——窗口内容上下左右滚动、区域滑动
在制作UI过程中,通常需要我们创建一个小窗口来显示很多内容,如游戏说明、捕鱼达人中鱼的种类、电影票的选择等等。1.创建一个“Image”为窗口,命名“background”,添加“Scroll Rect”和“Mask”属性。如图其中“Mask”,蒙版控件,遮罩“background”以外的区域。 Show Mask Graphic:显示蒙版图像,预览蒙版图像的显示效果...
2018-12-06 16:05:57
6914
原创 Unity3D——旋转Rotate、rotation、eulerAngles
Rotate 欧拉角旋转1.Transform.Rotate(float xAngle, float yAngle, float zAngle);每一帧都绕自身坐标轴的X轴、Y轴、Z轴旋转x度、y度、z度。void Update (){ this.transform.Rotate(0f, 0f, 2f);//每一帧绕自身坐标轴Z轴旋转2度}2.Transform.Rot...
2018-12-04 16:14:36
6251
原创 Unity3D——2D、3D碰撞墙壁反弹
(一)Box Collider2D 碰撞检测如图依次给upwall、downwall、leftwall、rightwall设置“Tag”为“Wall”,并添加“Box Collider2D”,设置其“Size”,如下图点击“Wall”就有了图1的四面墙。设置“Image”的属性,以及创建一个脚本“BoxCollider”,如下图。代码如下: void Update...
2018-11-23 09:41:56
11799
4
原创 Unity3D——进度条Slider
在开发游戏过程中经常需要Slider来制作倒计时、积分之类的进度条。1.由2张图构成 命名为“baseImage”和“Image”。如图所示。选中“baseImage”对象,在“Inspector”中添加“Slider”属性,将“Image”拖入到“Fill Rect”中。如图所示。取消滑动条的可交互"Interactable“”,不然用户可以更改时间或经验值。2....
2018-11-12 14:41:13
5065
原创 Unity——Button相关响应事件,鼠标进入、退出、按下、抬起、长按等
话不多说。1.点击具有Button属性的对象,在Inspector中点击“Add Component”>"Event">"Event Trigger",或在搜索框中直接搜索。2.点击Event Trigger组件中的“Add New Event Type”>“PointerEnter”(鼠标进入)/“PointerExit”(鼠标滑出)/“PointerDown”(按下)...
2018-10-17 15:44:54
11140
原创 Unity——相机(屏幕)震动
在创建游戏过程中,有时需要添加屏幕抖动的效果,其实是相机抖动。创建脚本“CameraShake”,代码如下:using System.Collections.Generic;using UnityEngine;/// <summary>/// 打中Boss,相机震动/// </summary>public class CameraShake : Mono...
2018-09-26 15:16:28
1988
原创 Unity3D——优化
CPU方面的优化1.DrawCall CPU调用底层图形接口。 (1)使用Draw Call Batching,描绘调用批处理。Unity 3D在运行时可以将一些物体进行合并,从而用一个描绘调用他们。 (2)通过把纹理打包成图集尽量减少材质的使用。 (3)尽量少的使用反光、阴影之类的效果,因为那会使物体多次渲染。St...
2018-08-15 17:20:08
223
原创 Unity——对象池
在开发Unity游戏时常常需要使用同一个Prefab来创建多个的对象,如果创建的数量少时还好,不会影响效果,如果需要大量生成时,反复实例化和销毁,不停的消耗内存,出现卡顿甚至卡死现象。为了解决大量创建重复对象造成的内存损耗,采用对象池的方式来解决。在需要创建的时候拿出来,不用的时候放回去,避免反复申请和销毁,损耗内存。代码如下:using System.Collections;usin...
2018-08-06 17:12:23
3648
原创 Unity——点击按钮或屏幕响应事件
有时我们需要点击屏幕实时响应某事件A,但当需要点击某个按钮响应另一事件B时,也同样会带动A的响应,而我们不想A响应,此时就需要我们判断区分一下,那么就需要实时监听鼠标或手指点击的是按钮还是屏幕了。创建一个脚本“ButtonEventTrigger”,将其挂在“Canvas”上,如图所示:代码如下:using System.Collections;using System.Col...
2018-08-02 16:45:51
18102
原创 Unity2D——实时阴影
给2D动画添加实时阴影以呈现出3D效果,更加生动。在对象上添加一个Shadow属性,如图所示:其中Effect Color为影子的透明度;Effect Distance为影子到对象中心的距离,都可根据自己需要调整。最后呈现出的效果:...
2018-07-20 10:52:21
6165
2
原创 Unity2D——动态修改动画中的图片尺寸
在制作动画过程中,有时会遇到图片尺寸不统一,使得播放的动画怪怪的,这时就需要我们实时修改图片尺寸。代码如下:Image Image; void Update () { Image = this.transform.GetComponent<Image>(); this.transform.GetComponent<RectTransform...
2018-07-17 11:45:00
8304
原创 Unity2D——对象朝向鼠标点击方向
void Update () { if (Input.GetMouseButton(0)) { Vector3 ms = Input.mousePosition; ms = Camera.main.ScreenToWorldPoint(ms);//获取鼠标相对位置 //对象的位置 Vector3 gunPos...
2018-07-16 17:40:45
7830
6
原创 Unity2D——捕鱼,炮台锁定辅助线
无论是愤怒的小鸟还是泡泡堂,都需要一定的辅助线,捕鱼也不例外,在锁定鱼儿的时候,亦需要辅助线连接炮台与被锁定的鱼儿。如图所示,创建场景及对象其中“Image”是待生成泡泡的父体,调整其尺寸(50,1000),位置(0,500,0)创建一个脚本,优快云.cs,并添加到“Paotai”对象上,如图所示其中“paopao”是Resources中的预制体,代码...
2018-07-16 17:39:22
2531
原创 Unity——截屏并显示在界面中
定义空格键来执行截屏事件; void Update() { if (Input.GetKeyDown(KeyCode.Space)) { Debug.Log("截屏"); Camera camera = GameObject.Find("Main Camera").gameObject.GetCompon...
2018-06-07 16:18:34
3525
15
原创 C#——按键控制事件
有时需要定义某个键来执行某事件,如移动对象等。定义按键一般放在Update()函数中;如果放在OnGUI()函数中则需加入一个bool来判断,因为在控制脚本激活的状态下,它可以在每帧调用,按的越久调用输出次数越多,有兴趣的可以试试。一般定义某个键有两种方法:(1)if (Input.GetKeyDown(KeyCode.A)) { Debug.Log("定义...
2018-06-07 15:11:56
3516
原创 C#中保留小数点后指定位数
float fl=1.23456;string str=fl.ToString("0.00"); //保留小数点后,结果为1.23小数点后有几个0即保留几位小数。
2018-05-31 15:07:33
9837
3
原创 Unity2D-----动画沿AnimationCurve曲线移动、缩放、旋转
同一场景中,可能需要多个动画在运行时能够移动、缩放、旋转,要么手动在Animation窗口中给动画添加AnchoredPosition等属性,要么每个动画都要写一个脚本来控制变化,操作起来各种麻烦。花了一点时间简化了下,如果你有更简洁的,欢迎大家留言。在菜单工具栏中添加AboutMoveOrScaleOrRotate来移动、缩放或旋转需要改变的预制体。代码如下:using System.Colle...
2018-05-16 14:47:37
6243
原创 Unity2D-------在不使用SpriteRenderer情况下,根据图片自动生成动画
仿照 雨松MOMO 写了一个自动生成动画的脚本 原地址 http://www.xuanyusong.com/archives/3243添加菜单Tools/CreateAnimation,弹出窗口你需要设置动画名、是否循环及动画播放帧率,拖入一张待生成动画的图片。using System.Collections.Generic;using UnityEngine;using UnityEdito...
2018-05-10 15:47:12
2374
关于Unity读取Excel中数据所需的库。
2019-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人