- 博客(64)
- 收藏
- 关注
原创 unity2D游戏开发18导出游戏
点击File|build Settings。在RPGGameManager类中加入代码。设置安装环境后,点击Build。
2024-08-01 10:08:47
208
原创 unity2D游戏开发17战斗精灵
新建参数isFiring:Bool,fireXDir:Float,fireYDir:Float,设置节点属性。右键Fire Tree,make Transition创建转换,连接到player idle,设置属性。选中前四帧,右键Create|Animation,将动画命名为player-ire-east。其他几个动画也创建好后,将其拖到Animations|Animations文件夹。点击player-idle,右键,Make Transition。加上这段代码,在Player和Enemy。
2024-08-01 10:06:09
149
原创 unity2D游戏开发16弹弓动画
设置属性为2D Simple Directional,再点击加号选择Add Motion Field。创建这三个参数isWalking:Bool ,xDir:Float,yDir:Float。选择player-idle,右键MakeTransition,链接到Walk Tree。选中PlayerObject,打开Animator,删除原来的四个状态。双击Walk Tree查看Blend Tree Graph。将Any State到idle之间的转换,设置false。点击四个节点,勾选Loop Time。
2024-07-30 11:28:23
327
原创 unity2D游戏开发15自我防御
将SpriteRenderer组件添加到AmmoObject,将Sorting Layer设置为Characters,并将Sprite属性设置为Ammo。将AmmoObject拖到prefabs转换成预制件,并删除Hierarchy的实例。让子弹弧形规矩向目标运动,创建Arc脚本,并添加给AmmoObject预购件。新建一个Weapon脚本,并添加到PlayerObject预制件中。创建一个GameObject,并命名为AmmoObject。新建脚本为Ammo.cs并添加到AmmoObject。
2024-07-30 11:19:04
99
原创 unity2D游戏开发14漫游
打开unity,点击Enemy预购件,设置刷新的频率,运行游戏,点击右上角的Gizmo,就可以看见碰撞半径和敌人的移动方向。在Inspector,给Enemy预购件添加Wander脚本,并设置参数如下,删除EnemyObject实例。右击,选中MakeTransition,在空闲和行走状态之间转换,然后在行走和空闲之间建立另外一个转换。让敌人在地图上漫游,发现玩家在附加,就会追击,直到玩家逃跑或者杀死玩家。在Unity中点击运行,操控玩家靠近敌人,发现敌人会追逐玩家。修改Wander脚本,
2024-07-30 09:30:04
174
原创 unity2D游戏开发13敌方伤害
给EnemyObject的预购件和实例都添加Enemy脚本,并设置值如下。将hitPoints变量从Character类移动到Player类。游戏角色都可以杀死,所以将下列代码添加到Character类中。
2024-07-30 09:24:42
78
原创 unity2D游戏开发12单例
当一个类提供了游戏中其他几个类使用的功能时,单例会很有用,例如,在Game Manager 类中协调游戏逻辑,单例可以提供对该类及其功能的公共统一访问入口。因为现在是动态生成玩家,所以,Virtual Camera的follow属性没有实例,为了让摄像机跟随玩家走动,我们将创建一个类来设置Virtual Camera。给SpawnPoint添加SpawnPoint脚本,再将SpawnPoint拖到Prefabs文件夹生成预购件,再删除Hierarhy面板的SpawnPoint。
2024-07-29 09:24:13
100
原创 unity2D游戏开发11游戏背包开发
选择Background,创建一个Image对象,并命名为Tray,右击Tray,选择UI|Legacy|Text,创建一个text,命名为QtyText。配置Tray,将宽高设置为48x32,将图像设置为InventorySlot_1,将锚点设置为右下角,偏移量xy设置为0,0。选择InventoryObject,将Inventory脚本拖进去,再将Slot预购件拖进Inventory.cs脚本中。右键InventoryBackground ,create Empty,重命名为slot,设置宽高为80。
2024-07-29 09:18:39
641
原创 unity2D游戏开发10生命条脚本
把HealthBarObject拖进Prefab更新他的预购件,然后将其从Hierarchy删除,将HealthBarObject预购件拖到PlayerObject预购件上。在ScriptableObject文件夹中,右键Create|HitPoints,创建HitPoints对象,重名为HitPoints。在ScriptableObjects文件夹中创建新的脚本,叫HitPoint。选中HealthBarObject后,将HitPoints对象拖进去。
2024-07-28 10:30:00
24
原创 unity2D游戏开发09生命条
在Hierarchy面板右键,点击Canvas,会出现两对象,一个Canvas,一个EventSystem,EventSystem可以删除,将Canvas重命名为HealthBarObject。将image重名为Background,并将source image选择为HealthBa_4,宽高设置为250x50。在右键BarMask添加一个Image,重命名为Meter,宽高设置为240x30,其他属性设置如下。因为要让生命条出现在右上角,我们选择Right和top那一个。设置BarMask属性如下。
2024-07-28 09:00:00
30
原创 unity2D游戏开发08脚本化对象
在scripts文件夹下创建一个名为Sriptable Objects的文件夹,然后在文件夹里面创建一个名为Item的脚本。建立一个Item,属性设置如下Quantity为1,不选中Stackable复选框,因为红心不会存储,而是直接使用。拖到Prefabs设置为预购件,添加Polygon 2D组件,其他属性设置如下,勾选碰撞器的is trigger。创建名为HeartObject组件,将生命图片,拖到HeartObject,保存明明为heart-spin。运行,碰撞heart,被打印出来。
2024-07-27 13:00:00
36
原创 unity2D游戏开发07整合游戏
转到Edit|Project Settings |Physics|Physics 2D,在Layer Collision Matrix,取消Consumables和Enemies层之间的复选框,这样层中的对象将不会具有碰撞出发的交互。进行切边,点击Sprite Editor 打开Sprite Editor面板,设置32x32,点击Slice进行切边,再点击apply,然后关闭面板。创建新层,Consumables层将用于硬币,红心和其他消耗物品,Enemies将用于敌人。再新建一个Player类。
2024-07-27 08:00:00
35
原创 unity2D游戏开发06稳定,材质,碰撞器
添加Tilemap collider 2D和Composite Collider 2D到Layer_Water,将附加的Rigidbody 2D 的 Body Type 设置为static,勾选Tilemap Collider 2D中的Used by Composite。点击Layer_Trees_and_Rocks的Tilemap Collider 2D的rest,更新Physics shape信息。调整玩家的碰撞距离,设置玩家的Box Collider 2D的offset和Size。
2024-07-26 10:00:00
58
原创 unity2D游戏开发05摄像跟踪
安装Cinemachine,Cinemachine 是 Unity 中非常强大和流行的虚拟摄像机系统,它能够帮助开发者更轻松地创建复杂的摄像头控制和切换系统。提供了多种跟随模式,如固定跟随、锁定跟随和自由跟随,可以根据场景需求选择合适的跟随方式。抗锯齿算法在对象的边缘上运行,并为其提供平滑的外观以补偿锯齿形状的输出效果,但我们不需要对像素艺术风格的2D游戏进行抗锯齿处理。设置屏幕分辨率,选择Game,点击Free Aspect ,再点击加号,自定义分辨率。选择Quality,关闭抗锯齿功能和各向异性纹理。
2024-07-26 08:00:00
38
原创 unity2D游戏开发04Tilemap
Tilemap 一般称之为瓦片地图或者平铺地图,是 Unity2017 中新增的功能,主要用于快速编辑 2D 游戏中的场景,通过复用资源的形式提升地图多样性.点击 Layer_Ground 将Sorting Layer 设置为Ground,Layer_Trees_and_Rocks_设置为Objects。将OutdoorObjects拖动到TilePalette面板,保存在Tiles|Objects文件夹中。再创建Tiles文件夹,再在其下面创建Objects和Outdoors文件夹。
2024-07-25 15:00:00
92
原创 unity2D游戏开发03状态控制
点击Any到player-walk-east动画状态的白色的线,再在Inspector面板设置属性如下,Has Exit Time 如果不取消,动画会播放到Exite Time文本指定的百分比位置,才会播放下一个动画。动画参数是动画控制器定义的变量,点击Parameters,再选择Int。修改每个白色转换箭头,Conditions的值按照枚举的来设置。建立player-idle动画,取玩家最后两个图片。将每个player-walk动画速度设置为0.6。点击播放,即可通过W,A,D,S移到玩家。
2024-07-25 10:14:27
184
原创 unity2D游戏开发02添加组件移动玩家
预制件是用来存储一个游戏对象的所有组件,属性和子对象,这样就成为了一个可重复使用的资源文件。举一个简单的例子,我们会在游戏世界中创建同一种怪物模型的实例,显然我们不可能将怪物模型一个个的拖拽到游戏世界中,并且这些怪物会死亡消失,也会重新刷新。因此,合理的解决方案应该是,每一种怪物都应该是一个预制体,然后我们可以通过预制体来创建不同的怪物实例,这就是预制件的优势。当然,预制件更重要的是对游戏对象的“封装”,预制体不仅仅是网格模型,同时还可以包含各种功能组件以及脚本,这样的预制件就能承载更多的内容。
2024-07-24 15:00:00
221
原创 springcolud学习06Hystrix
Hystrix是Netflix开发的一个用于处理分布式系统中延迟和容错问题的库。它主要用于防止分布式系统中的雪崩效应,通过在服务之间添加延迟容错和故障处理机制来增强系统的弹性。
2024-07-20 11:01:31
195
原创 springcolud学习05Feign
Feign是一个声明式的http客户端,我们知道,在不使用Feign之前,在微服务中,一个模块如果想要调用另一个模块中的某个功能,需要向其发起请求http请求,如果不使用Feign,我们就需要通过硬编码的形式去编写构建http请求。新建模型,建立一个和consumer一样的module,不用算法。在启动类添加注解@EnableFeignClients。启动7001,dept和consumer-feign。导入feign依赖,api的module也导入。改写controller类。
2024-07-19 08:55:10
165
原创 springcolud学习04Ribbon
它是一个基于HTTP和TCP客户端负载均衡器,用于将客户端的请求分发到多个服务实例上,以提高系统的性能和可靠性。Ribbon提供了许多负载均衡算法和配置选项,可以根据应用程序的需要进行调整和优化。它还具有故障转移和容错机制,以确保在某些服务实例不可用的情况下仍能提供可用的服务。给RestTemplate bean 加一个@LoadBalanced注解,就能让这个RestTemplate在请求时拥有客户端负载均衡的能力。再建立一个和provider-dept一样的模型。修改application.xml。
2024-07-18 11:25:53
162
原创 springcolud学习03Eureka
新建eureka-7002和eureka-7003模型,代码和7001一样,apolication.yml改下端口号。服务治理就是提供了微服务架构中各微服务实例的快速上线或下线且保持各服务能正常通信的能力的方案总称。修改provider-dept的application.yml。启动7001,7002,7003,provider。先启动eureka,再启动provider。在provider-dept导入依赖。再修改application.yml。建立eureka模型。
2024-07-17 09:34:11
127
原创 springcolud学习01
这里可以先快速搭建springboot环境,再修改配置。配置application.yml。controller层。
2024-07-14 16:22:53
147
1
原创 springboot+vue项目基础开发(18)文章分类界面
/定义store/*** 第一个参数:名字,唯一性* 第二个参数:函数,函数的内部可以定义状态的所有内容* 返回值:函数*///对token进行保存//定义状态内容//1响应式变量//2定义一个函数,修改token//3函数,移出tokenreturn {});
2024-02-27 09:50:03
376
原创 springboot+vue项目开发
该项目搭建过程,是本人根据黑马视频的大事件视频,一边看,一边写的,大家看不懂的话,建议直接去看黑马程序员的视频,我这个属于自己对他视频做的开发步骤笔记。
2024-02-25 20:57:14
73
原创 springboot+vue项目基础开发(17)路由使用
在前端中,路由指的是根据不同的访问路径,展示不同的内容vue Router的vue.js的官方路由。
2024-02-21 09:07:02
198
原创 springboot+vue项目基础开发(16)主页面布局
主页面代码,在view下面创建mainLayout.vue。在app.vue观看一下。
2024-02-21 08:53:11
465
原创 springboot+vue项目基础开发(12)vue项目的搭建
在src目录下新建 api,utils,views文件夹。删除componets目录下自动生成的所有文件。在utils文件夹下创建request.js。启动项目,记得是要在管理员下启动。
2024-02-16 11:15:12
50
原创 springboot+vue项目基础开发(10)登录优化
修改密码后,旧的密码令牌没有立刻作废,优化;在登录生成令牌后,也要存一份到redis,在发送给浏览器。在登录拦截器获取令牌时,要和redis中的令牌进行对比当用户修改密码成功后,删除旧的令牌。
2024-02-05 10:10:25
39
原创 springboot+vue项目基础开发(8)文章接口
因为已有校验不能满足所有校验需求,例如state,所以我们需要自己定义。定义StateValidation类实现ConstraintValidator接口;在需要校验的地方使用自定义接口创建anno包,创建注解state1自定义注解import com@Documented //元注解 抽取到帮助文档 //Target元注解,标识这些注解可以用在哪些地方,FIELD表示属性上 @Target({
2024-02-02 18:16:51
56
原创 springboot+vue项目基础开发(7)文章分类接口
在Category的关于时间上添加注解**@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)**在service层添加CategoryService和实现类。因为在id上添加了@NotNull,结果影响了添加方法。设置Service的接口方法和实现类的方法。所以,我们必须修改一下,设置分组校验。在category类里面添加接口方法。设置在Controller层的方法。service层和实现类。service层和实现类。controller层。controller层。
2024-01-30 11:20:17
45
原创 springboot+vue项目基础开发(6)更新头像与密码
在UserController类中,头像要用PatchMapping。发现没有获取update_time。我们发现传其他地址的时候,也更新了。只更新一部分,所以用patch请求。再点一下,失败,因为密码已经修改了。controller层写方法。service层,impl。Service层和实现类。再启动,发现说数据太长了。在网上找个图片地址复制。添加一个@URL注解。
2024-01-24 10:07:21
99
《Unity2D 游戏开发》遇到问题
2024-07-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人