- 博客(106)
- 收藏
- 关注
原创 Unity单例模式更新金币数据
单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取该实例。在游戏开发中,单例模式非常适合用于管理全局唯一的数据,比如玩家的金币数量。通过使用单例模式,我们可以确保金币数据在整个游戏中只有一份实例,任何地方对金币的修改都会同步更新,从而避免数据不一致的问题。本文将介绍如何在 Unity 中使用单例模式来管理和更新金币数据,确保游戏的逻辑清晰且易于维护。运行游戏按下A和S就能看到金币的数量更新了。
2025-03-10 21:20:32
575
原创 Unity利用观察者模式更新金币数据
观察者设计模式是一种行为设计模式,它定义了对象之间的一对多依赖关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都会自动收到通知并更新。这种模式非常适合用于处理事件驱动的系统,比如游戏中的UI更新。在游戏中,玩家的金币和钻石数量可能会因为各种事件(如完成任务、购买道具等)而发生变化。通过使用观察者模式,我们可以将金币和钻石的UI元素注册为观察者,当这些资源数量发生变化时,UI元素会自动更新,而不需要手动去触发更新逻辑。这不仅简化了代码结构,还提高了系统的可维护性和扩展性。
2025-03-10 20:43:43
486
原创 打乱一个数组的顺序
方法2:直接根据数组的长度生成随机数,每次生成的随机数用来当做交换数据的加标,比如第一次生成随机数5,就把下标1和下标5的数据交换顺序即可,这样就能打乱数组的顺序了。方法1:创建一个新的数组,每次从原本数组中随机取一个数放到新数组中,每次取出过后就移除原本数组中的元素,数组长度有多少就执行长度-1次。
2025-02-25 17:48:10
234
原创 在Unity中用简单工厂模式模拟原神中的元素反应
本篇文章提供了元素反应的具体思路,当然具体效果还需要在游戏中进行处理。希望这篇文章对你有帮助。然后依次按下空格,A,S。就看到具体的反应被打印出来了。不同的反应继承Ireaction接口并实现反应方法。
2025-02-19 10:17:00
503
2
原创 Unity中实现伤害跳字效果(简单好抄)
第一步骤安装并导入Dotween插件(也可以不用导入之后直接下载我的安装包)官网DOTween-下载第二步:制作跳字预制体建议把最佳适应打开,这样就不怕数字太大显示不全了。第三步:创建一个空对象并编写脚本JumpNumber,并将脚本拖到空对象上,将跳字预制体也拖上去。这个脚本会接受3个参数,位置(世界坐标),伤害多少,是否暴击三个参数。然后在屏幕上生成伤害跳字。第4步:创建一个2D对象,并编写测试脚本加到这个2D对象上这个测试脚本会在1——100生成随机数,并且大于50的时候将会是暴击
2025-01-19 22:36:23
1025
原创 Unity解决滑动条的value值的滑动条消失问题
在这里我们看到原本的value的滑动条消失了 解决办法把编辑器的边框往外面拉一下就可以了(之前遇到这个问题还重启了几次unity没想到居然是这个问题)
2025-01-15 22:56:23
337
原创 Unity中实现倒计时结束后干一些事情
结构问题描述:如果我们想实现在一个倒计时结束后可以执行某个方法,比如挑战成功或者挑战失败,或者其他什么的比如生成boss之类的功能,而且你又不想每次都把代码复制一遍,那么就可以用下面这种方法。结构。
2025-01-15 22:36:37
723
原创 Unity中对象池的使用(用一个简单粗暴的例子)
这是用的对象池是用队列来存储回收的对象的,在实际开发中并不一定要使用队列,只要能存储多个对象的数据结构不管是泛型还是数组都可以当做对象池。
2025-01-12 23:16:54
588
原创 C#解决浮点数精度丢失的问题(参考方案)
用这种方法就可以打印出一个数的小数部分了而且是以整数的形式打印的。但是这里精度丢失了,这里我试了很多办法最终想到了下面的解决办法。既然浮点数有问题那么直接把它转成整数不就行了。按照正常来说这里因该打印的结果是0.1。这时候我们需要用逆转的思路来解决问题。
2025-01-12 10:08:35
358
原创 Unity2D无限地图的实现(简单好抄)
运行游戏拖动Player就会发现地图自动创建成功了,为了避免地图过多你需要自己管理地图的数量,比如玩家离开过远后删除一些地图。将脚本附加到玩家身上并且将刚刚创建的管理点位的空对象拖到对应位置。同样给玩家添加刚体和碰撞体组件,同样重力质量设为0,设置为触发器。位置要和之前创建的地图的边张一致(不然不能做到无缝拼接)如果你有更好的生成无限地图的方式欢迎评论区讨论哦。将脚本附加到所有的点位上并将地图预制体拖到这里。先将地图拖到文件夹中做成预制体。
2025-01-01 15:29:52
618
原创 仿《公主连结》首页场景的制作(附资源包)
预备知识(单例模式,携程, Resources.Load加载资源的方式)基本信息代码里面都写了注释,资源包链接。资源准备(底部按钮7个图标,最后得到这样一张效果图。
2024-12-15 16:10:25
388
原创 Unity世界坐标转屏幕坐标报错解决办法。
问题描述,如果你在脚本中尝试使用Camera.转换世界坐标的时候发现点不出来,可以点到你的Camera这个方法看能否跳转,如果能够跳转,并且这个脚本是你自己写的,那么恭喜你,下面就是解决办法,直接将Camera这个方法改个名字就能解决了,因为Camera原本是Unity自带的脚本,如果你自己写了一个这个方法,那么就会默认调用你自己的方法,所以转换的时候会报错(靠,之前找了大半天才解决这个问题)。
2024-12-01 22:29:57
311
原创 Unity读取Excel表格简单好抄(附资源包)
去下载直接导入游戏就能使用的资源包(插件已经添加进去了真的下载即用),自己多玩几遍就会了。如果看到这里还是觉得麻烦可以直接到链接(
2024-12-01 00:25:37
936
2
原创 UNity将脚本中的文本提示显示在编辑器中
注意:当参数少的时候确实没必要这样做,但是当你一个脚本关联的对象过多的时候,添加提示还是有必要的,还有就是[Header("")]下面的第一个属性必须是public不然会报错。正常情况下我们创建了一个脚本然后挂载到一个对象上只能看到这样的一个面板。如果我们想在编辑器里面添加一段提示就可以这样做。[Header("玩家的基本信息")]然后就能在编辑器窗口中看到添加的提示了。
2024-11-24 19:50:28
650
1
原创 如何给文件夹里面的文件批量添加前缀和编号(利用C#写的小工具)
下载过后启动这个程序即可(这个程序灵感来源是上次给美术资源分类和编号的时候给我干吐了,所以写了这个工具)如果对你有帮助别忘了去点一下星星哦。将上面的文件编号效果。
2024-09-23 09:50:59
497
1
原创 Unity不用脚本实现点击按钮让另外一个物体隐藏
总结:如果按钮的功能单一,可以使用这种方法,用这种方法可以避免创建过多的脚本。但是如果你的按钮功能复杂比如同一个按钮负责开关,而且还要做其他的判断的话,还是建议用脚本来控制。1.首先在场景中创建一个按钮和一个其他随便什么东西。5.运行游戏并点击按钮,就会发现拖进来的物体消失了。4.然后依次点击下面这些给按钮绑定事件。3.然后将刚刚你创建的物体拖到这里来。2.点击按钮中的这个加号。
2024-07-15 21:17:33
472
原创 Unity分享一个简单的3D角色漫游脚本
9.优化(如果运行时发现屏幕有点抖或者玩家容易翻身,就把玩家的旋转全部冻结就没问题了)6.将摄像机拖到玩家的子对象中并重置摄像机的位置,并调整摄像机的位置。5.给玩家添加刚体组件,并将玩家拖到player body这里。2.给场景中的地面添加一个Ground标签。1.新建一个场景,并创建一脚本。3.给刚刚新建的脚本编写代码。8.运行游戏就可以实现漫游了。4.将脚本添加到玩家身上。7.将摄像机拖到脚本中。
2024-06-30 08:47:45
800
原创 Unity制作一个简单抽卡系统(简单好抄)
第二步:在面板中添加10个原始图像,并修改面板中刚刚添加组件的属性(可以稍微修改一下,让他和你的抽卡结果的卡片适配,可以自己拖一张进去看看效果),这里如果遇到新建的原始图像没显示在面板中,不要慌,当你修改Grid Layout Group组件的值的时候他会自动帮你调好位置(我遇到的时候是这样的)。4.制作抽卡面板(展示面板),新建两个原始图像,将抽卡背景拖到纹理这里,同样的方法将展示用的图片也拖到另一个原始图像中(调整连个原始图像的大小),然后添加2个按钮。5.制作抽卡结果的画布(以10连为例)
2024-06-29 09:53:16
2863
1
原创 Unity动态添加聊天文本
7.给发送按钮绑定事件(第一步点击按钮的加号添加事件,然后将刚刚加脚本的空对象拖进来,然后找到点击方法方法)5.创建一个文本预制体(新版),将文本直接拖到工程文件夹里面就创好了,创好后可以删除原本的文本。8.运行游戏输入一些测试文本就能实现下面的效果了 (文本框是动态添加的,其他设置可以自己改)6.绑定游戏对象(滚动视图,文本预制体,输入框)2.调整滚动视图的位置并删掉这个。4.将这个脚本加到一个空对象上。3.创建一个输入框和一个按钮。4创建一个脚本并编写下面代码。1.创建一个滚动视图。
2024-06-15 15:08:09
728
原创 Unity制作背包的格子
4.多复制几个并改变 Grid Layout Group的参数就可以实现下面的效果了。3.点击UI创建一个原始图像,这样我们就会发现图像出现在了面板的左上角。2.点击面板并添加这个组件。
2024-06-15 14:35:55
532
2
原创 Unity2D计算两个物体的距离
5.运行游戏就可以打印出两个物体之间的距离了,同样这种方法可以用来设置怪物的追击范围,或者玩家靠近敌人,敌人攻击玩家等。3.创建一个空对象并将脚本拖入到空对象中。4.将场景中的两个物体拖入到对应位置。1.首先新建一个场景并添加2个物体。2.创建一个脚本并编写代码。
2024-06-15 14:23:05
886
原创 n的阶乘表示为:n!=1*2*3*.*n;输入一个正整数n,求n的阶乘末尾有多少个0?
【代码】n的阶乘表示为:n!=1*2*3*.*n;输入一个正整数n,求n的阶乘末尾有多少个0?
2024-05-07 11:22:31
506
1
原创 输入一个正整数n;求6^1+6^2+...+6^n的和除以7的余数是多少? 其中6^1表示6的一次方
【代码】输入一个正整数n;求6^1+6^2+...+6^n的和除以7的余数是多少?其中6^1表示6的一次方。
2024-05-07 10:36:42
169
原创 求一个9位数,该数的每一位均是1-9之间的数,但是每位上的数字各不相同.最后使得这个9位数从高位开始,前一位能被1整除,前两位能被2整除,前三位能被3整除,前四位能被4整除……一直到整个9
【代码】求一个9位数,该数的每一位均是1-9之间的数,但是每位上的数字各不相同.最后使得这个9位数从高位开始,前一位能被1整除,前两位能被2整除,前三位能被3整除,前四位能被4整除……一直到整个9。
2024-05-07 10:13:00
222
原创 用滑动条改变字体的大小(简单好抄)
1.首先在屏幕中添加一个滑动条和你要改变字体大小的文本(用新版的)4.将脚本拖到场景中的一个空对象上(如果没有就新建一个)2.点击滑动条设置value的最大值和最小值。6.运行游戏拖动滑动条字体就可以变大变小了。5,将滑动条和字体拖到对应的位置。
2024-05-07 10:06:09
417
原创 visual studio python输出中文乱码问题
这是因为我们这里高级保存选项没有用UTF-8编码,把它改为 带有UTF-8的格式就可以了。2可能最开始用编辑器的时候你们没有这个高级保存选项下面是添加方法。之前在网上搜了一大堆教程花费了我半天时间,发现都没解决我的问题。1.首先先看问题我们这里输出“你好世界会直接出现乱码问题”点击确定后可以用上移和下移来改变高级保存选项的位置。第三步在添加命令下面选择文件并找到高级保存选项。第二步在自定义下面选择文件再选择添加命令。最终问了好几次gtp才解决了问题。然后就能正常输出了(还没完)这样就能找到高级保存选项了。
2024-04-25 08:16:28
781
2
原创 一对兔子从出生后第三个月开始,每月生一对兔子。小兔子到第三个月又开始生下一代兔子。假如兔子只生不死,一月份抱来一对刚出生的小兔子,问一年中每个月各有多少只兔子。
【代码】一对兔子从出生后第三个月开始,每月生一对兔子。小兔子到第三个月又开始生下一代兔子。假如兔子只生不死,一月份抱来一对刚出生的小兔子,问一年中每个月各有多少只兔子。
2024-04-19 10:34:04
216
原创 学校买水杯,已知每只水杯3元,大洋商场打八八折,百汇商厦“买七送一“,输入学校买水杯的数量,请您当参谋,到哪家买较合算,输出商家名称。
【代码】学校买水杯,已知每只水杯3元,大洋商场打八八折,百汇商厦“买七送一“,输入学校买水杯的数量,请您当参谋,到哪家买较合算,输出商家名称。
2024-04-18 09:36:45
418
原创 称能够表示成1+2+3+…+k的形式的自然数为三角数。有一个四位数N它既是三角数,又是完全平方数,则N的最小值是多少?
【代码】称能够表示成1+2+3+…+k的形式的自然数为三角数。有一个四位数N它既是三角数,又是完全平方数,则N的最小值是多少?
2024-04-18 09:07:43
254
原创 C#Socket通信实现多人联机和群发消息
2.客户端代码 (客户端运用了多线程可以发送消息和接收消息可以同时进行,之前的版本只能在发送消息后才能接收消息)1.服务器代码(这个服务器每次接受消息后就会遍历连接的客户端,将消息发给其他所有的客户端)3.先运行服务器然后再开2个客户端就能实现群发消息了。
2024-04-13 08:35:59
513
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人