游戏开发
文章平均质量分 65
砸war鲁多
这个作者很懒,什么都没留下…
展开
-
滑动列表(scroll view)
只需要横向滑动,取消Scroll Rect的Vertical,并取消掉Scrollbar。Content Size Fitter自适应Content大小。Constraint Count:限制的数量(最大数量)Grid Layout Group设置子节点布局。Child Alignment:子节点对齐目标。Start Axis:行优先还是列优先。Constraint:是否限制行列数量。Padding:子节点与边界的距离。Cell Size:子节点大小。Spacing:子节点间隔。原创 2024-02-04 16:43:49 · 374 阅读 · 0 评论 -
点击卡片翻转
Toggle覆盖整个卡片,当点击卡片时触发。Toggle组件只保留Background,并将Background设置为和卡片一样大,不透明度设置为0。toggle放在Icon下面,不然会被Icon挡住射线检测。Icon包括图片,名字和描述。当卡片正面的时候显示图片和名字,反面显示描述。卡片由三部分组成,背景图片,Toggle,Icon。实现点击卡片,卡片翻转到背面,再点击回到正面。原创 2024-02-04 00:01:54 · 336 阅读 · 0 评论 -
数据表格读取
为了便于设置游戏数据,通常会编写一个脚本用于读取与保存数据信息。这里提供一个简单的数据读取模块,可读取CSV格式数据。第一行为属性名,用“ ,”隔开,从第三行开始写数据,数据格式为字符或数字,文件保存为txt文件即可。ConfigData为一张表的数据读取。例如敌人信息表,装备表等等。管理所有配置表,用于不同处理不同表数据的读取与保存。注意文件需要在"Resources/Data"目录下。原创 2024-01-26 22:42:45 · 372 阅读 · 0 评论 -
行为树(Behavior Tree)
在行为树中,根节点是AI的起点,通过遍历子节点来决策AI的行为。前两个通知其父节点其操作是成功还是失败。下次树被选择时,该节点将再次被选择,此时它将再次有机会成功,失败或继续运行。行为树(Behavior Trees)是一种在游戏开发中广泛使用的AI设计模式,主要用于描述AI的行为和决策过程,实现更加智能和自然的游戏AI。它由多个节点组成,每个节点代表一个行为或决策,按照特定的方式连接在一起,形成一个树状结构。行为树通过模拟树状结构来描述AI的行为和决策过程,使得AI的行为更加灵活、自然和智能。原创 2024-01-15 16:08:08 · 1253 阅读 · 0 评论 -
MVC设计模式
对于开发人员来说,学习和掌握MVC模式是非常重要的,它可以提高开发效率和质量,使得构建复杂的应用程序变得更加容易。它为应用程序提供了一种结构化的方法,将数据、用户界面和业务逻辑分开,从而使得应用程序更易于维护、扩展和重用。解耦:MVC模式将应用程序的不同部分(数据、用户界面和业务逻辑)分离,降低了它们之间的耦合度。视图(View):视图是应用程序的用户界面。可扩展性:由于MVC模式将应用程序的不同部分分离,因此当应用程序需要扩展时,可以更容易地添加新的功能或模块,而不会对现有的代码造成太大的影响。原创 2024-01-12 16:48:55 · 2155 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式是一种软件设计模式,它允许对象之间定义一对多的依赖关系,当一个对象状态发生变化时,所有依赖于它的对象都会得到通知并被自动更新。解耦:观察者模式可以有效地解耦主题和观察者之间的依赖关系,使得主题和观察者可以独立地变化和发展,提高了系统的灵活性和可维护性。自动通知:当主题状态发生变化时,所有的观察者都会自动收到通知,从而可以及时地更新自己的状态,避免了手动更新和维护的麻烦。性能开销:观察者模式需要维护一个观察者列表,并在主题状态发生变化时通知所有的观察者,这可能会导致一定的性能开销。原创 2024-01-05 00:07:31 · 718 阅读 · 0 评论 -
设计模式之单例模式
注意上面的代码在第3行已经实例化好了一个Singleton对象在内存中,不会有多个Singleton对象实例存在类在加载时会在堆内存中创建一个Singleton对象,当类被卸载时,Singleton对象也随之消亡了。饿汉式在类加载时已经创建好该对象,在程序调用时直接返回该单例对象即可,即我们在编码时就已经指明了要马上创建这个对象,不需要等到被调用时再去创建。懒汉式创建对象的方法是在程序使用对象前,先判断该对象是否已经实例化(判空),若已实例化直接返回该类对象。:在真正需要使用对象时才去创建该单例类对象。原创 2024-01-04 23:43:15 · 692 阅读 · 0 评论 -
A星寻路算法
通过该节点访问其上右下左的四个点,并判断这些点是否能够加入开放表(坐标超出网格范围,节点在关闭表,节点是障碍点。最后判断坐标点是否在开放表,不在开放表的点构建节点并加入开放表,这里默认两点间的代价为1;A星算法结合了广度优先搜索(BFS)和最佳优先搜索(Best-First Search)的特点,通过使用启发式函数评估节点的重要性,优先选择最有希望达到目标节点的节点进行扩展,从而有效地缩小搜索范围。public int CompareTo(AstarNode other) //排序方式。原创 2024-01-02 00:40:05 · 3086 阅读 · 0 评论 -
Unity有限状态机
例如,一个角色可能处于行走、奔跑、跳跃等不同的状态,并且根据玩家的输入或游戏逻辑,在这些状态之间进行切换。Unity作为一款强大的游戏开发引擎,也提供了丰富的工具和接口来支持有限状态机的实现。有限状态机是一种数学模型,用于描述系统在不同状态下的行为以及状态之间的转换。有限状态机可以用于模拟和控制系统的行为,例如游戏角色的状态管理、用户界面交互等。因此,在使用有限状态机时,需要根据具体的应用场景和需求进行权衡和选择,以确定是否使用有限状态机以及如何使用有限状态机来实现需求。二、有限状态机的基本概念与结构。原创 2023-12-13 17:45:47 · 1579 阅读 · 0 评论 -
Unity对象池
在Unity游戏开发中,我们经常需要创建大量的游戏对象,如子弹、敌人和道具等。然而,频繁地创建和销毁这些对象会消耗大量的系统资源,影响游戏的性能。对象池是一种优化技术,它通过预先创建一定数量的对象,并存储在一个预设的内存区域中,以重复使用这些对象,从而避免频繁地创建和销毁对象。在实际的游戏开发中,我们可以根据需要创建多个对象池,每个池管理不同类型的游戏对象。这样,我们可以根据不同的需求从不同的池中获取对象,以满足游戏的需求。同时,我们还需要合理地设置对象池的大小,以避免过度创建或销毁对象。原创 2023-12-11 19:01:28 · 436 阅读 · 0 评论 -
Unity2D游戏开发入门
如何让两个碰撞体不碰撞?把这两个碰撞体叫加到不同的layer,然后在 Edit --> Project Setting -->Physics 2D -->layer collision Matrix中把不需要碰撞的两个layer取消即可。原创 2022-03-09 22:51:31 · 6436 阅读 · 0 评论