- 博客(13)
- 收藏
- 关注
原创 Unity中的Time.deltaTime 变量的运用
是一个非常重要的变量,它表示从上一帧到当前帧所经过的时间(以秒为单位)。这个值通常用于确保游戏逻辑的更新与帧率无关,从而实现平滑且一致的游戏体验。可以避免因为不同设备的性能差异而导致的游戏逻辑速度不一致的问题,确保游戏在不同设备上都有相同的体验。则确保了无论帧率如何,物体都会以每秒1个单位的速度移动。如果帧率高(即每秒渲染的帧数多),那么。会很大,但物体的总移动量仍然会接近1个单位,从而保持速度的一致性。都会自动调整,以确保游戏逻辑按照预期的速度执行。会很小,所以物体的移动量会很小;但无论帧率如何变化,
2024-04-09 19:08:40 311 1
原创 Unity 2D 在代码中取消游戏物体的父子集关系
在游戏开发中,会出现游戏物体过多,所以我们使用了父子集关系来使物体看起来整齐,但是在实际运用中可能会出现问题,可以使用代码来取消父子集关系。
2024-03-20 22:19:00 296 1
原创 Unity2D 使用协程来(Coroutine)实现一个对象的重生功能
协程是一种特殊的函数,允许你在Unity的游戏逻辑中执行非阻塞操作,即你可以让函数在某个时间后继续执行,而不是立即完成。这个代码片段通常用于实现如对象的重生、计时器等场景,使对象在一段时间后重新出现或执行某个操作。是一个变量,它应该是一个浮点数,表示你想要协程暂停的秒数。是Unity提供的一个特殊的类,当它被用作。的返回值时,它会让协程暂停执行指定的秒数。的值为2,那么协程将在此处暂停2秒。以上为文心一言生成,仅供参考学习。
2024-03-17 19:22:34 368 1
原创 Unity2D error CS0122: ‘CheckPoint.ResetCheckpoint()‘ is inaccessible due to its protection (解决问题)
一般来说,在 Unity 或其他 C# 编程环境中,出现错误 CS0122 意味着你尝试调用的方法(例如 ResetCheckpoint) 在其定义中是不可访问的。在编写函数时,出现了error CS0122: 'CheckPoint.ResetCheckpoint()' is inaccessible due to its protection le的问题,排查后发现时ResetCheckpoint()函数设置的是私有变量改为public即可。
2024-03-17 18:13:08 526 1
原创 Unity2D 角色生命系统及UI控制脚本编写之四(学习自用)
这里需要注意的是,如果不设置角色的移动为0,那么角色在碰到尖刺后持续的往前走,因为当计时器大于0后,角色会因为惯性往前走,所以必须要设定玩家放弃按钮后,角色的x轴速度为0,y轴往上被击飞。声明三个变量,跟之前一样,一个是击飞计时器,一个是击飞长度,还有一个是击飞力度,当然击飞计时器是私有变量,因为它是会变化的。编写击飞函数,当碰到尖刺时,赋予击飞计时器击飞长度,角色的移动的y轴为向上移动,x轴不动,同时给角色击飞动画。这里要设置if函数,如果计时器小于0时,角色由玩家控制,大于0时会被击飞。
2024-03-16 18:29:59 536 1
原创 Unity2D 角色生命系统及UI控制脚本编写之三(学习自用)
编写函数,把无敌长度赋予给计时器,当计时器小于0时,如果角色的生命值减一,那么角色的无敌计时器等于1。再设置一个限定条件,如果无敌计时器不等于0的时候,那么角色的生命值不会减一。在update中,如果角色的无敌计时器小于0,那么角色一定是不透明的。在PlayerHealthController脚本种设置变量。已经设置完角色的ui界面后,要对角色设置进入无敌模式。当角色触碰到尖刺时,无敌时间开始从1慢慢变到0。这是一个私有变量,所以在脚本先对变量获取。之后给角色颜色设置透明度。在脚本种设置变量为1。
2024-03-16 16:27:36 530 1
原创 Unity2D 角色生命系统及UI控制脚本编写之二(学习自用)
在脚本中调用PlayerHealthController中的变量currentHealth的值,当这个值为6时是满血,5是两个满血加半血,4是两个满血加空血......以此类推。首先,编写脚本UIController(UI控制),把脚本给到创造的canvas,之后把自动创建的EventSystem移到canvas的下面,把角色的生命值放到界面的左上方。现在编写脚本,声明公共变量放置图片和图片变换,意思是heart1可以变换full,half,empty三种形态。
2024-03-15 21:54:34 434
原创 Unity2D 角色生命系统及UI控制脚本编写之一(学习自用)
创建角色生命系统脚本命名为PlayerHealthController,声明公共变量玩家当前生命值currentHealth和完整生命值maxHealth,需要注意公共变量在unity的脚本面板中赋值。当角色碰到尖刺后currentHealth减一,currentHealth为0时,角色消失。第三步,角色碰到尖刺后身体变透明,出现无敌状态,无敌状态持续时间为半秒;第一步,角色碰到尖刺后生命值会下降,当生命值为0时,角色消失;第二部,设置UI界面,当碰到一次尖刺时,角色生命值减一;
2024-03-13 23:43:44 766
原创 Unity2D 实现角色被伤害动画(学习自用)
在animation窗口中找到create new clip,创建新动画,在右侧中把角色的关键帧拖过去。在右侧出现的窗口中将fixed duration取消,所有的延迟改为0,并且在最下面添加变量,也就是刚刚创建的变量hurt。可以看到角色已经发生动画了,接下来对动画进行编辑,在Animator中创建Trigger类型为“hurt”。这里实现角色被尖刺攻击后出现的被打击动画,首先需要准备角色被打击动画。按照下方操作设置,设置连接角色静止和被打击之间的动画。创建好角色动画后,在观察角色动画,点击。
2024-03-13 23:06:19 576
原创 Unity2D 如何实现游戏背景画面具有层次的移动(学习自用)
对于天空的移动,这里是在原有的基础之上加上了摄影机移动的位置;对于灌木丛的移动,这里是在原有的基础之上加上了摄影机移动的一半的位置。
2024-03-09 18:38:43 686
原创 Unity 2D 如何实现摄影机跟随角色的x轴移动(学习自用)
需要让摄影机的x轴移动,但是y轴和z轴不变,这里创建一个脚本CameraController,并且给摄像机。声明公共变量target,在unity的脚本中把角色的变量赋予过去即可。
2024-03-08 18:40:53 580 1
原创 Unity2D The name ‘SceneManager‘ does not exist in the current context 解决问题(学习自用)
但出现问题The name 'SceneManager' does not exist in the current context。使用的是unity2022.3.8,创建脚本后输入加载场景等代码如下。经过检查问题后发现是因为在头文件没有定义。
2024-03-02 22:12:05 698
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人