![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity
小白白中之白
这个作者很懒,什么都没留下…
展开
-
Unity:Json实现数据持久化
代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO;using System;//序列化,方便后面存储到json文件中[System.Serializable]public class PlayerAttribute{ public float speed; public float jumpforce; public int原创 2022-04-24 11:38:18 · 2100 阅读 · 0 评论 -
Unity:序列化
什么是序列化序列化是一种用来处理对象流的机制,所谓对象流就是将对象内容进行流化,将数据分解成字节流,以便存储在文件中或在网络上传输。序列化的作用在Unity中序列化有以下3个作用:可以显示变量(类,结构等)在inspector(检视面板)上数据持久化网络传输序列化关键字Serializable: 用于 自定义的,非 abstract 的类. 结构体等 , 使这类型也能序列化SerializeField: 用于 非public 类型(如private), 使非public 类型也能序原创 2022-04-24 08:59:54 · 3527 阅读 · 0 评论 -
Unity:给角色和敌人加上血条
想法:1.创建一个画布,画布里面包含血条:HealthBar:空对象Fill:image(血条填充物)Border:image(血条框)Heart:image(心脏图标)2.为HealthBar对象添加HealthBar脚本和Slider组件:为角色对象添加HealthBar对象作为成员变量。在游戏开始时为角色设定maxHealth,currentHealth,并调用相应的HealthBar函数:SetMaxHealth,SetHealth。当受到伤害时,减少生命值并重新设定curre原创 2022-04-12 14:21:29 · 9056 阅读 · 1 评论 -
Unity:锚点详解
锚点时基于父对象让子对象定位用的。所以我们移动锚点时候的范围就是父对象的宽和高。锚点在一起时这四个三角形在一起时意味着锚点在一起当锚点在一起的时候,图片的大小不会随着父对象的大小改变而改变;图片的中心点,距离锚点的距离不会改变。实验:锚点分开的时候分以下几种情况:四个都分开这样,父对象大小会改变以让子对象的大小改变并且让子对象的四个点和这四个锚点的距离一致。实验:上下分开,左右不分开。父对象大小会改变以让子对象的高改变并且让子对象的四个点和这四个锚点(可看作两个)的距原创 2022-04-11 15:20:42 · 9693 阅读 · 3 评论 -
unity:List数据类型常用方法和属性
属性Capacity获取最大容量Count已用容量方法IndexOf(12)从前往后遍历12这个元素并返回LastIndexOf(12)从后往前遍历12这个元素并返回Contains(7)判断是否存在7这个元素,不报错只返回True或FalseInsert(2,12)在2号位后插入12这个元素...原创 2022-04-10 22:14:12 · 2539 阅读 · 0 评论 -
Unity背包系统-2:数据库存储方法ScriptableObject和显示背包物品InventoryManager
元素(item)代码:using System.Collections;using System.Collections.Generic;using UnityEngine;[CreateAssetMenu(fileName ="New Item",menuName ="Inventory/New Item")]public class Item : ScriptableObject{ public string itemName; public Sprite image;原创 2022-04-07 00:34:27 · 3287 阅读 · 0 评论 -
Unity背包系统-1:图形界面设置
画布内创建如下结构:各个对象的类型:Bag:imagetittle:imagetitleText:textcloseBtn:buttonGrid:imagebagitem:imageitemDescription:textuseBtn:buttonuseText:text为了使添加的每张图片和Grid的格子对齐,我需要给Grid添加GridLayoutGroup组件,然后将组件内的网格布局调整的和Grid的格子一样。在closeBtn中,由于其是button类型自带如下功能:即原创 2022-04-06 19:59:23 · 1561 阅读 · 0 评论 -
Unity:简单角色死亡以及更新场景
角色死亡思想:创建一个空物体,设置为触发器,当角色触碰的时候则重新进入场景代码: if (collision.tag == "DeadLine") { Invoke(nameof(ReStart),1f); } ````` private void ReStart() { SceneManager.LoadScene(SceneManager.GetActiveScene().name); }知原创 2022-03-31 23:00:35 · 4492 阅读 · 0 评论 -
unity:Enemy的简单移动
代码using System.Collections;using System.Collections.Generic;using UnityEngine;public class FrogController : MonoBehaviour{ private float speed; public Rigidbody2D rb; public Transform leftpoint, rightpoint; public float leftx; pub原创 2022-03-26 18:43:19 · 2097 阅读 · 0 评论 -
Unity:无限背景和视差滚动
视差滚动:通常相机和人物绑定以一定的速度向前,而背后的景物设置不同的速度这样就实现了视差效果获取主相机的transform,记录相机的初始位置记录相机的移动的位置,刷新背景的位置(因为保证不同速度所以要乘以一个系数),刷新相机初始位置(通过计算每帧的路程实现速度不一样)无限背景:获取sprite,再获取texture计算材质再unity中占几个单位(unity中的默认单位是:1单位100px)当摄像机位置减去背景的位置的绝对值(左右)大于材质宽度(unity单位)时刷新背景位置代码:原创 2022-03-26 14:12:00 · 2777 阅读 · 0 评论 -
Unity:如何使角色吸附物体
代码:void Update() { if (isMove) { Debug.Log(go); transform.position = Vector2.MoveTowards(transform.position, go.transform.position, Time.deltaTime*DrawSpeed); } }private void drawObject() {原创 2022-03-24 20:16:30 · 3077 阅读 · 0 评论 -
Unity:排序图层
越在下面越先显示原创 2022-03-23 16:31:26 · 3858 阅读 · 1 评论 -
Unity:像素画抖动的问题
如果采用自动切片,则容易导致像素画抖动的问题。X,Y是坐标,一般X要对齐,否则容易导致左右抖动W,H是宽高,一般W,H要一样大斗则容易导致像素画缩放原创 2022-03-23 01:29:33 · 845 阅读 · 0 评论 -
Unity:取消摄像机Y轴移动并实现跟随
安装完之后这里可以实现摄像机跟随:然后下图可以实现摄像机不超过背景范围(有点像碰撞),要注意添加是触发器,这样可以不触发物理效果如果设置的摄像头范围高度和背景图高度一样则可以实现y轴不动...原创 2022-03-23 00:21:06 · 1082 阅读 · 0 评论 -
Unity:像素风图片变模糊
原创 2022-03-20 23:20:15 · 2331 阅读 · 0 评论 -
Unity:人物跳跃动画的切换
Unity实现动画切换的原理:Entry所指的橘黄色状态为默认状态。记住, Entry在Animator组件被激活后 无条件 跳转到默认状态,并且每个Layer有且仅有一个默认状态在Animator中,我们可以给状态添加指定参数,当参数满足条件时便可实现动画的切换。代码:using System.Collections;using System.Collections.Generic;using UnityEngine;public class PlayerController : Mon原创 2022-03-19 16:13:19 · 5211 阅读 · 3 评论 -
Unity:addForce和velocity的区别
Rigidbody.velocity瞬间给物体一个恒定的速度,将物体提升至该速度Rigidbody.addForce瞬间给物体一个规定好的力,假设我们想要做一个2D的跳跃游戏,在这个游戏里我希望我按下跳跃键的时候,游戏物体的跳跃高度是恒定的。那么,如果此时我使用的是addForce显然不会满足我的效果,因为经过测试,每按一下跳跃键,它会被施加一个恒定的力,它跳跃的初始速度会越变越大,每次跳跃的高度和前一次相较变得越来越大(在连续跳跃的情况下),也就是可以理解成,我现在被施加了一个大小为50的力,在重转载 2022-03-18 21:59:55 · 4177 阅读 · 0 评论 -
Unity:GetAxis()和GetAxisRow()
相比于GetAxisRow(),GetAxis()具有平滑过渡功能GetAxis()只有三个值:-1,0,1GetAxisRow在按下某个键时值会由0逐渐变成1,松开某个键时值会由1逐渐变为0在玩家移动的脚本中,用GetAxis()具有更好的效果,玩家停止时速度也会慢慢减小,类似与刹车...原创 2022-03-18 21:53:19 · 1036 阅读 · 1 评论 -
Unity:常见组件和界面
的原创 2022-03-18 09:57:16 · 529 阅读 · 0 评论 -
Unity:Update和FixedUpdate的区别
FPS:每秒传输帧数Update()FixedUpdate()/*update跟当前平台的帧数有关,而FixedUpdate是真实时间,所以处理物理逻辑的时候要把代码放在FixedUpdate而不是Update.Update是在每次渲染新的一帧的时候才会调用,也就是说,这个函数的更新频率和设备的性能有关以及被渲染的物体(可以认为是三角形的数量)。在性能好的机器上可能fps 30,差的可能小些。这会导致同一个游戏在不同的机器上效果不一致,有的快有的慢。因为Update的执行间隔不一样了。而Fixed原创 2022-03-18 00:36:32 · 2417 阅读 · 0 评论 -
Unity:瓦片与单元格匹配
对于任何一个照片在右侧都能看到:每单位像素数:代表Unity的一个单位长度包含本图片多少个像素用图片的大小除以16*16就可以得到图片能够在unity中占据多少单位所以我们切片也最好用16*16,让瓦片充满单位...原创 2022-03-17 23:42:32 · 737 阅读 · 0 评论 -
Unity:横版游戏人物移动,转向和跳跃
代码1:using System.Collections;using System.Collections.Generic;using UnityEngine;public class PlayerController : MonoBehaviour{ public Rigidbody2D rb; public float speed; // Start is called before the first frame update void Start()原创 2022-03-17 23:25:30 · 1412 阅读 · 1 评论