- 博客(30)
- 收藏
- 关注
原创 C++基本数据类型的范围
我发现我能搜到的相关文章都只讲了这些数据类型的范围是这样的,不说实际的存储情况,当你了解了类型实际是如何存储的,再去记忆这些范围就简单了,所以就有了这篇文章。
2025-09-11 18:24:57
718
1
原创 Games101作业四
这次是实现 de Casteljau 算法,以及绘制 Bezier 曲线,比上次简单核心思想就是递归,原理忘了就去看第十一节课,从15:00开始的GAMES101-现代计算机图形学入门-闫令琪。
2025-05-13 23:00:10
352
原创 麦田物语学习笔记:保存和加载场景中的物品
现在在切换场景后,场景中的物品即使被拾取了,也还是会被重新加载出来,所以本篇文章的任务是在切换场景前后能保留当前场景的数据。
2025-01-21 22:02:42
839
原创 麦田物语学习笔记:制作[SceneName]Attribute特性
因为在现有的项目中,像开始场景的切换或者Telepot组件都需要手动输入场景名,有时还可能键入出错,而该特性能用选择的方式去解决这一问题。
2025-01-20 23:17:18
284
原创 麦田物语学习笔记:构建游戏的时间系统
(1)新建一个TimeManager.cs(2)创建枚举变量来表示四季,在TimeManager里需要的变量有: 游戏内的秒,分钟,小时,天,月,年;游戏内的季节;控制一个季节有多少个月;控制时间的暂停;计时器tikTime(3)在Settings里添加计时器的阈值,以及各个时间的进位(4)初始化各个时间单位以及实现更新游戏时间的逻辑。
2025-01-15 23:34:34
852
原创 麦田物语学习笔记:实现选中物品触发举起动画
(1)新建AnimatorOverride.cs,来控制切换玩家的动画,比如举起和未举起的动画,通过Animator Override Controller(2)所以该脚本需要拿到玩家的所有部位的Animator,同时还要拿到HoldItem里的spriteRenderer其更改图片(3)当点击可被举起(can Carried)的物品时, 如果可以,就找到身体的各个部分,对应切换到想要的OverrideController。
2025-01-14 16:41:17
494
原创 麦田物语学习笔记:实现根据物品详情显示
(1)新建ItemTooltip.cs用于控制ItemTooltip(这个是在Hierarchy里的)中的文本内容回顾一下:对于物品描述(ItemTooltip)的UI有三个部分,第一部分是名字和类型,第二部分是物品详解,第三部分是金币图标以及价值的文本(2)获取UI中的所有部分,因为item分为可出售和不可出售的,所以可出售的就将第三部分激活,反之隐藏(3)因为在商店里的物品是全价,而背包里的是打折后的价格,所以需要判断是否在商店里。
2025-01-13 18:31:33
802
原创 麦田物语学习笔记:实现拖拽物品交换数据和在地图上生成物品
(1)InventoryUI的PlayerSlots与PlayerBag里一一对应,所以想要实现交换数据实际上是,先拿到被拖拽的物体所对的Slot的序号和目标的Slot序号,然后将这两个序号对调一下(2)物品交换的数据逻辑应该在InventoryManager里去调用,因为InventoryManager里管理了playerBag所有的数据(3)交换数据时需要考虑库存的类型以及交换的目的,现有三个类型(slotType),有Bag,Box,Shop,依次对应的是同背包转换,跨库存数据进行转换,买卖交易。
2025-01-12 12:32:23
728
原创 麦田物语学习笔记:创建DragItem实现物品的拖拽跟随显示
(1)在SlotUI中使用拖拽接口IBeginDragHandler,IDragHandler,IEndDragHandler(2)开始拖拽的时候,在屏幕上生成物体,拖拽期间物体显示为当前被拖拽的物体的图标,停止拖拽时图标消失(3)基于以上,所以我们要获得这个图标的控制,则要去InventoryUI里获得(4)在停止拖拽的时候检测该位置所对应的GameObject,值得注意的是,这个检测只检测UI元素;之后在代码实现后只能检测到所处格子的TMP,控制台会如下打印.
2025-01-10 12:51:14
1338
原创 麦田物语学习笔记:背包UI显示
本篇文章完成Inventory的控制,即控制所有的背包的UI跟数据(Player Bag,Box,Shop)的连接的代码。
2025-01-07 20:02:20
1180
原创 刷算法时所学的新知识
表达式(也叫匿名函数)是 C++ 11 引入的一个特性,它允许你在代码中直接定义一个临时的、没有名字的函数对象,方便在需要可调用对象的地方(比如作为算法的参数、回调函数等场景)快速使用。头文件里定义的一个算法,它的作用是在给定的一个容器(或者更准确地说是一个迭代器范围指定的序列)中查找具有最大值的元素,这里的 “最大值” 是根据指定的比较规则来确定的。它的主要作用是对一个序列中的元素应用某个操作(通常是一个函数或者可调用对象),然后将结果存放到另一个序列中(也可以是原序列本身,覆盖原来的元素)。
2025-01-04 12:53:49
735
原创 麦田物语学习笔记:拾取物品基本逻辑以及实现背包数据结构
Visual Studio 2022创建自定义代码片段模板要注意的是,你添加完模版后有的要按两下"TAB"键才能导入你的片段这是我用来创建SO文件的模版,可以直接拿来用<Header><Description>unity的快速生成ScriptableObject代码片段</Description></Header><Snippet>[CDATA[]]></Code></Snippet>
2024-12-18 21:57:44
790
原创 麦田物语学习笔记:创建InventoryManager和Item
泛型是程序设计中的一种特性,可以让你定义一个类、接口或方法,而不具体指定数据类型。这样在使用的时候,可以灵活地指定类型,提高代码的复用性和可维护性。其中,Singleton就是一个泛型类T是一个类型参数,可以在类中使用。使用这个类时,开发者可以指定一个具体的类型,例如,其中MyClass是一个具体的类,表示这个单例实例将是MyClass类型。单例模式是一种设计模式,确保一个类只有一个实例,并提供一个全局访问点。这个模式适用于需要全局控制的类,比如配置管理、日志管理等。
2024-12-17 23:38:07
793
原创 麦田物语学习笔记:实现ListView添加删除同步信息功能
事件是一种特殊的委托,允许一个对象(称为 "发布者")通知其他对象(称为 "订阅者")发生了某种情况。对于用户界面来说,事件通常与用户的操作有关,例如点击按钮、移动鼠标或输入文本等。
2024-12-15 22:33:09
369
原创 麦田物语学习笔记:绑定Editor Window的参数变量
在GenerateListView()中新增事件,用于更改选择物品后的面板状态。当新增Icon信息为空的Item数据对象时,会使用默认的Icon图片。一个是整个右半部分ScrollView,一个是当前激活的物品的详情。现在将Item正确的加载在左半部分了,但是右半部分没有同步信息。现在ItemID的信息已成功获取了,接下来是去获取其他信息。所以本篇的任务是:将右半部分同步并显示相应的物品信息。在GetItemDetails方法中新增。在GetItemDetails中新增。此时,修改Editor中的序号。
2024-12-15 00:26:32
323
原创 麦田物语学习笔记:创建ListView中的ItemTemplate
上一篇笔记 UI Toolkit以及UI Builder UI Toolkit以及UI Builder 本篇的任务:在Editor的左边显示物品的图片以及名字 1.创建一个UI document 2.开始编辑创建一行的VisualElement,然后让它循环生成模本成品 3.用代码调用这个模版依次点开Window -> UI Toolkit -> Samples打开Samples里面有各种样式用代码是如何实现的核心代码实现:功能验证:打开Edit
2024-12-14 17:22:30
701
原创 UI Toolkit以及UI Builder
Container为面板整体,ItemList为左半部分的整体,Header为左半部分的上半,ListView为左半部分的下半。将Border的Width给一个数值,此时看不到效果(是个小BUG)然后随便修改一下color就能显示了。在创建的文件中第一个代表的是C#,第二个是USS,第三个就是我们要用的UI Builder了。脚本中会自动生成三种方式的绘制,分别为C#,UXML,USS。鼠标所指的小图标分别为以纵向排列,靠两侧对齐,以顶部对齐。将其保存,再将UXML相关代码的注释去掉。
2024-12-13 22:52:57
1133
原创 关于vcpkg安装OpenCV,eigen3等第三方库时所遇到的报错及其可能的解决方法
本文章推荐想要完成GAMES101作业,但想在win系统上运行的同学先给条路吧当下载好vcpkg后,需要确保vcpkg文件夹中有vcpkg.exe参考在vcpkg中下载OpenCV需在你的vcpkg文件夹中打开powershell,就是下面这个文件夹进入powershell后输入即可开始下载OpenCV库但是可能会报错git pulland。
2024-09-11 16:02:24
1437
原创 记录一个感觉自己傻*的BUG
结果找了 半天BUG在哪,还以为我中间哪个变量类型没写对,最后才发现是自己在.h中Lerp函数的声明没写,我估计我还会犯这个错,所以记录下来。“Lerp”: 找不到标识符 E:\Git_lib\rgs\out\build\x64-Debug\rgs。后当你去查函数得到两个匹配项得到两个匹配项,但是不在.h文件中。
2024-09-06 18:12:18
224
原创 MyBatis的核心配置之遇到的所有报错
我发现这次的mapper包没有放到src/main/resource下,所以mapper包不是固定位置的(应该是吧),只要在@test中指明路径就行。
2024-05-08 19:40:14
1795
1
原创 初识MyBatis框架之遇到的所有报错
这报错大概就是没有连接mysql,经检查,是src/main/resources下的mybatis-config.xml以及src/main/resources下的db.properties中的mysql的密码不对。自己粗心,把本来应该在src/test/java下的Test包(其中有我写的UserTest.class)放到src/main/java下了。将这两处root改为自己的mysql的密码就对了。
2024-05-07 17:30:55
1586
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅