IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 阅读Unity2D书时本菜新遇到的一些问题与尝试解决的方案 -> 正文阅读

[游戏开发]阅读Unity2D书时本菜新遇到的一些问题与尝试解决的方案

有时候会遇到一些情况,脚本和unity编辑器写得都跟书上一模一样效果却还是不尽如人意,这时候重启一下unity,或者什么把脚本代码剪切再粘贴就好了。玄学

这些if之间的顺序会影响往斜上走时是显示上的动画还是左右的动画

tracked object offset 相机偏离人物中心程度

damp:相机回拉时的缓慢、迅速

自制条目方便使用

人物显示不出来可能是因为z轴出了问题

z轴按理来说应该是0?

注意预制件之间的引用也要用预制件,不然会死得很惨【萌新做到后面快吐了】

看不懂这啥玩意

书本p169

这时候我感觉只移去playerobject有所不妥?感觉报了一万个错,什么healthBar和Inventory都没有一个引用的对象了,可能是我之前预制件的部分处理得不好

我的解决方法是,删去hierarchy中的healthBar和inventory,并设置好预制件之间的关系。但是还有一个问题,就是虚拟摄像机也需要一个Player对象跟随,如果贸然拖上去Player预制件,会发现,RPGGameManager创建的那个static sharedInstance里跟随的那个player对象,跟此时虚拟摄像机里的player对象是两个东西,感觉此时的player也应该有单例思想。于是乎,为了同步虚拟摄像机和sharedInstance的两个player对象,我先给RPGGameManager中的player方法字段改成了实例字段,再为虚拟相机添加一个用代码来填充实例对象的脚本。具体代码如下图:

对RPGGameManager类的修改:(改造字段)

虚拟摄像机新脚本ControllingAim:

解释说明:1.由于要附加到虚拟摄像机上,故派生自MonoBehaviour

2.得到该虚拟摄像机的CinemachineVirtualCamera组件

3.修改组件的Transform类型的Follow属性,使它不断与sharedInstance的player更新对接

注:这里我是怎么写出这段代码的呢?可以右键虚拟摄像机的CinemachineVirtualCamera组件,点击EditScript,就可以跳转到follow所在的这个组件的定义。注意到Follow属性的类型是Transform,联想到Transform表示的是位置,又联想到似乎.transform可以获取到一个GameObject的类型为Transform的位置,so。

此时的hierarchy栏:

?这时候我上手发现,还会有强烈的抖动。此时我把look at改成了空,把下面那个以前用来减少抖动的脚本取消勾选了,此时反而不抖了

草,结果读下去发现书写了解决方法。。。。

他这句话很骚:在当前Scene找到VirtualCamera这个gameobject。我超,我上面好像有一瞬间就是因为不知道怎么在别的脚本获取虚拟相机,才转而求其次给虚拟相机弄上一个设置实例的方法的,不然就可以直接获取虚拟相机然后设置实例,而不必弯弯绕绕。?不过也不会很绕就是了。

需要有什么碰撞时触发之类的,一定记得勾选IsTrigger!!

协程(方法太长不能在一帧来一次、固定时间间隔调用方法)

不知道为啥敌人漫游第一步全都往右走?

关于漫游的代码Wander.cs

我对这两句yield组合技出现的时机非常奇怪。?

但是想了一下才发现,原来yield是针对一个协程的

对于第一个协程(循环)来说,执行完开始协程后停留不改变方向的时间,然后再执行下一轮循环改变move方向

对于第二个yeld,则是每次边move边更新状态

我超,醍醐灌顶的感觉。但是不知道为什么这里必须return WaitForFixedUpdate?

关于勾选IsTrigger的问题:

我试图增加一个DeadZone的sprite

?

其中boxCollider是由于调试的gizmos。

因为这里方法是OnTriggerEnter2D,所以deadzone精灵的istrigger应该得勾选,这个是没问题的。

然后问题出在哪呢,我发现,不勾选deadzone的istrigger,勾选player的,player还是会寄。同理,enemy有两层collider,外面那层圈由于勾选了istrigger,所以碰到deadzone就即死了,完全体现不出原有的效果啊。

所以似乎这里不用OnTriggerEnter2D,用OnCollisionEnter2D,此时不用勾选istrigger。

感觉稍微理解了一些什么是“碰撞”了。它不仅可以是物理上碰到【collision】,也可以是判定范围上的遇到【trigger】。因而,前者不能“穿过”,后者可以“穿过”。

update会不会就是一种协程?类似语法糖?

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-01-16 13:26:03  更:2022-01-16 13:26:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 18:35:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码