Skip to content

texwood0935/memo-

Repository files navigation

一个不正经的日志
10.1
今天尝试先将基本的菜单做好
完成了几个场景之间的切换,以及BGM的调节
个人感觉今天最难的部分就是BGM的调节。
用拉条来调节BGM大小还算是件容易的事,但是让BGM在场景之间连续播放并且保持音量不变,就没有那么简单了
虽然上网搜索了,但是网上不同的答案太多了,大多都不理想。虽然都说要用DontDestroyOnLoad();但是切换完场景之后就会多生成声音源,导致有声音叠加。
而且,不同场景之间切换,BGM还会重头开始播放。虽然也尝试了用标签来解决,但是没用。。。
后来修改了代码,让BGM为static,让它只能实例一个,解决了问题。
同时也学到了单例模式,让那个static变量储存音量信息,实现了在设置中调整音量。
——2019.10.01—19:09
完善了场景UI(其实就是鼠标附在上面,按钮有其他效果)
发现了之前关于音乐开关的一个Bug,并且修复了它。
开始着手建立小蛇冒险的关卡制作。
音效决定等到关卡都制作完毕,再统一添加。
发现脚本可以优化,但是决定等到关卡都制作完毕,再优化。
接下来的时间安排:
	10.02上午:
		制作小蛇移动,以及墙壁、道具
	10.02下午:
		制作与小蛇一起移动的镜头,以及道具、墙壁的随机生成
	10.02晚上:
		感觉白天完不成上述,晚上是完成没有完成的
	然后一天制作一个关卡。
——2019.10.02—1:03
10.02
上午到现在,完成了蛇头跟随鼠标的移动;
蛇头的移动是通过给蛇头上的刚体组件施加不同方向的速度完成的;
而在蛇头的旋转上,尝试了许多方法,最后发现用四元数改变蛇头朝向效果较好。
——2019.10.02—10:58
完成了基本的道具的生成,以及小蛇吃到道具道具的消失、生成新的道具;
因为小蛇身体的生成和移动还没有完成,所以道具的功能尚未实装;
这部分内容下午再完成。
——2019.10.02—12:31
完成了部分道具的功能(因为死亡功能还未完成,所以盾牌功能尚未实装);
完成了小蛇身体的跟随和移动,一开始想用让当前身体位置覆盖前一个身体位置来完成,但是由于小蛇移动是由鼠标确定的,所以这样做有问题
最后通过记录蛇头历史位置解决了这个问题。
做摄像机跟踪的时候,发现不能将游戏场景放到canvas里。。。重新制作了游戏场景,实现了摄像机的跟踪。
死亡机制和计分机制尚未完成。
虽然想让地图随机生成,但是道具和墙壁存在分布不均、重叠的情况。打算等到全部游戏关卡完成后,再优化。
——2019.10.02—21:26
(补充:重新制作场景的时候,发现身体随蛇头移动时会疯狂抖动。。。估计是因为帧数不稳定的原因,把Update改成FixedUpdate以后就好了)

其实是昨晚的日志,虽然是从昨晚跨越到凌晨,然后10.03早上才写的)
(P.S.  后来的补注:对于物理效果,最好放到FixedUpdate里面,因为它被调用的时间间隔是相同的)
完成了游戏过程中设置菜单、结束游戏后,重开游戏菜单。以及计分制,计分方法和示例有所不同。

10.03
完成了小蛇闯关的第一个关卡。对于碰撞体之间的了解更深刻了。
因为和Risk差不多,所以没什么难点要解决的。
——2019.10.03—13:16
完成了第二个关卡。因为之前做RISK的时候,偷懒了,rigidbody2D用的是Kinematic,结果报应来了。。。
因为要实现蛇碰撞墙壁的效果,把蛇改成了Dynamic了,结果蛇的移动和头部的旋转出问题了。
后来修改了Move方法,改好了。具体就是修改了原来旋转用的四元数方法,然后再多了两个二维向量。原来是用三维向量来记录,后来发现这样计算距离和标准化会出问题。
然后改成用一个二维向量实时记录方向,另一个记录历史方向,以免鼠标位置在判断距离外时蛇头乱动。
不过还有小瑕疵,蛇吃食物时会闪一下,不清楚是不是渲染顺序的问题。
不过关于场景道具thron,我把它设置成一碰就死的了。
——2019.10.03—19:17
发现一个十分严重的BUG,从游戏跳回主菜单,再从主菜单跳回相同游戏场景的话,FixedUpdate(),不运行了!!!

好了,问题解决了。。。原来是因为在设置里面暂停的时候timescale设成了0,重新加载场景的时候也没有改回1。。。
算是明白了,FixedUpdate的运行与否还与timescale的值有关。。。天知道我怎么反应过来的。网上和官方文档竟然都没有提到这点的。
可能有提到的吧,不过可能要搜timescale相关内容才能搜到吧(没有这样搜过,不打保票能搜得到)。

10.04
上午开始着手做无限方块关卡。但是没有做出些啥。
因为发现其实蛇只是在上下动,左右动的只是背景,所以要另写蛇动脚本。。。
一开始打算做成UI界面的,但是发现这样做屏幕缩放,方块无法很好地跟着一起缩放。
而且还会有各种各样的其他问题,最后只能放弃这种方案。
结果又只能重新来,下午继续了。
——2019.10.04—14:20
把关卡3完成了。
做的时候还是遇到了各种各样的问题。
4号上午之所以想用GUI来完成这个关卡,是因为这样将数字文本贴在物体上方便。
但是由于GUI图标的位置、大小是会随着屏幕大小改变的,而我怎么设置,都无法让方块和屏幕一起缩放起来看着正常。。。所以这个方案弃用了。
后来发现可以在脚本里设置,让方块显示数字。但是,数字显示的样式不好改。于是又弃用这个方法了。
所幸,后来发现了3D Text这个物体,解决了数字显示的问题。但是又出现的新的问题——数字会随着位置不一样,而时能看得见,时而看不见。
一开始推测,是渲染的问题,想用代码修改MeshRenderer的层级,但没用。
后来估计是ZFighting的问题,稍稍修改了Text的高度解决了。
其实一开始是想通过修改高度解决的,但是一开始改的太过了,导致。。。(反正是透视视角嘛,懂的)
还发现了一个奇怪的问题,原因还没有查明。有时候重开游戏,场景(尤其是背景板,材质都黑了一圈)会显得很暗。
不清楚是灯光还是材质的问题。而且关键是,这个BUG时而出现,时而不出现。。。想查看的时候,又好了。。。
——10.05—1:18

10.05
第四个关卡还未完成。
因为蛇身体变色的原因,蛇身体的跟随与之前的关卡不同了,之前是让蛇身体顺着来,现在让他倒着跟随蛇头(即新生成的身体紧随蛇头)
但是这样有问题,有一部分蛇身位置没变。后来发现是因为历史位置长度不够了。。。修改了代码,当历史位置长度大于一定值之后才生成蛇身。解决了问题。
不过由于一些历史遗留问题,蛇整体都十分大,所以。。。蛇身变色的时候显得有一部分提前变了一样。
剩下的内容,下午再继续做
——10.05—12:59
(预计今天就能把游戏关卡的内容全部完成了,速度快的话,今天应该还能把音效加上去)
(明天要是还有精力的话,就把Risk的随机生成优化一下,并且加入换装系统)
(如果再有时间的话,把智慧草也完成了吧(感觉智慧草像是自动寻路。。。),可能还加个小地图?当然前提是还有时间和精力)

明天再加音效吧。。。
10.06
基本任务差不多完成了。。。还有一些小细节要调整。
下午再调了。
顺带说说加音效时一个比较头疼的问题吧,如果时按下按钮场景转换的话,音效会没有播完就被摧毁了。
有两个方案:一个是让他转换场景时音效物体不被摧毁,一个是转换场景时让音效播完再转换。这里选择了第二种。。。
——2019.10.06—13:03

测试了一下,发现一个很严重的问题,游戏中返回键无法返回。
原因是因为TimeScale设置为了0。。。协程和Invoke都无法运行。。。(网上竟然没有提到协程也要保证TimeScale为1)

基本的完成了,之后再看看要不要做选做和拓展吧。

10.07
用A* Pathfinding Project 插件,做了一个智慧草寻路。不过由于时间不足了,所以寻路时,蛇头会歪、没有线和倒计时提示。
修改了随机地图的生成,让蛇附件不生成物体。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published