网站停止通知
25年7月17日,我打算停止运营网站“春ノ雪”,下架本站所有游戏资源。
想了很久,我觉得这是最明智、最安全的做法了,主要有三点吧:
第一点,资源站本身存在一定的风险,是一种吃力不讨好的行为。从23年开始,我的很多友站都已经失联。为了保障我自身的安全,我决定停止运营网站。
第二点,如今我的哔哩哔哩账号已经有十多万粉丝了,相应地做网站的风险更大了,我必须要更加的谨言慎行。资源网站本身就处于边缘地带,谁也无法预知继续做下去的风险,我所要面临的风险也比其他站长更大。
第三点,我做的内容太过繁杂,而且本身涨粉后可能更出名了,相应地我必须更加谨言慎行。我做的内容会有什么影响?我加的好多群聊里有挂人、吵架,会不会有一天突然被人挂出来拷打?…为了规避这些风险,关闭网站也省了不少心。
虽然很遗憾,但考虑到这三点,我还是打算关闭网站。我不希望某天自己因为做galgame网站GG了…我的好几个友站都是鲜活的例子,我亲眼见过。
所以我打算,现在我声誉还算不错,趁早网站转型,转成我的学习笔记吧。哔哩哔哩的话继续做,我发现哔哩哔哩官方的态度还是很积极的(官方账号给过我三连ahhh),被推送到过热门。但是音乐 ...
音乐笔记
大调与小调自然大调:全全半全全全半自然小调:全半全全半全全
音程(有截图)1458无大小,2367不单纯。多少度就是多少键。
快速识别音程不涉及升降号下:有EF、BC是小二度,其余大二度。三度:包含EF或BC是小三度,否则大三度。四度:包含EF或BC其中之一是纯四度,都不包含是增四度(只有F到B)。五度:包含EF或BC其中之一是纯五度,都包含是减五度(只有B到F)。六度和七度 :包含EF或BC其中之一是大,都包含是小。涉及升降号下很简单,看升降。
三和弦大三度:所有键中间隔三个键。小三度:所有键中间隔两个键。大二度:所有键中间隔一个键。小二度:相邻的两个键。大三和弦:大三度+小三度 C 一般欢快明亮小三和弦:小三度+大三度 Cm 一般暗淡悲伤减三和弦:小三度+小三度 Cdim 扩张的紧张压抑增三和弦:大三度+大三度 Caug 收缩的紧张压抑
三和弦的转位原位:CEG三和弦的第一转位(六和弦):EGC三五根三和弦的第二转位(四六和弦):GCE五根三
七和弦属音:调式第五个音大七和弦:大三和弦+大七度 Cmaj7大小七和弦(属七和弦其中一个含义):大三和弦+小七度 C7(C调G为属音,G构 ...
两套FC2bbs美化代码
上网时发现,日本人非常喜欢用fc2的服务,于是注册了个账号,服务确实多样。可以看视频、看直播、做播客、做bbs、开电子市场……于是白嫖了他们的免费bbs服务(虽然我也不太清楚能有什么用)。最先他们的页面是很简陋的,于是我利用我所学的前端知识,结合AI(赛博牛马)写了两套模版,只需要在后台开启模版、把对应代码一粘贴、设置一下就行了。这是我的FC2论坛
第一套是我现在用的,日式风格的。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713 ...
防抖和节流
节流与防抖:前端性能优化的利器在前端开发中,我们经常会遇到需要处理高频触发事件的情况,比如窗口滚动、页面缩放、输入框内容变化等。如果不加以限制,这些事件的处理函数可能会被频繁调用,导致性能问题。节流和防抖是两种常用的优化技术,能够有效减少函数的执行次数,提高程序的性能。
一、节流(Throttle)概念节流是指在一定的时间间隔内,函数只被调用一次。如果在这个时间间隔内触发了多次事件,只有第一次会调用函数,其余的会被忽略,直到时间间隔过去,重新开始计时。
实现原理节流的实现思路是:每次事件被触发时,如果函数没有在指定的时间间隔内被调用过,则调用函数并设置一个计时器,在指定的时间间隔内不再触发事件。如果在指定的时间间隔内再次触发了事件,则不调用函数,直到指定的时间间隔过去,重新开始调用函数。
实现代码12345678910111213function throttle(fn, delay) { let timer = null; return function() { const context = this; const args = argument ...
【Bug解决】MonoManager管理器Bug
今天我在写Unity有限状态机时,出现一个bug,我把OnEnter方法注册到MonoManager的AddStart方法,切换状态时会移除掉原来的OnStart方法,增加一个新的OnStart方法。结果OnEnter方法迟迟不执行。解决方法也很简单,每次AddStart时要调用一下OnStart函数,因为OnStart方法写在Start里,脚本执行时只会调用一次,我们再往里AddStart它是默认不会调用的,所以我们手动调用一下就行了。
Joker的ARPG开发笔记
最近一方面在学javaScript,一方面在运营萤光网站,一方面忙于学业,一方面在学Unity,每当晚上我就会去看Joker的ARPG游戏开发教程,其中有一些好的思路,我觉得可以记录一下。之前我把鬼哥(up鬼鬼鬼ii)的ARPG课程看完了,再来看Joker的,对比一下有一些值得提的地方。
一、有限状态机控制玩家和敌人AI之前看鬼哥的课,全程是用Animator窗口来控制角色状态,要进行复杂的连线。后来我看了Joker的教程,还有一个印度人复刻原神的教程,感觉他们在这点的做法要更好——完全利用有限状态机去控制角色状态,不管是玩家、还是敌人。其实用不用Animator,都能实现相应的功能,没有哪个更好。Animator连线好处是便于理解、更直观,缺点是状态多起来就难以维护了;有限状态机优点是逻辑清晰,只需要考虑转换什么状态就可以了,本质上和Aniamtor窗口其实一模一样,缺点是难以理解。对初学者,我建议还是要用Animator窗口连线,便于理解;学一段时间后再试着去理解有限状态机的概念。Joker的有限状态机,最开始我是根本看不懂,现在觉得他的有限状态机写的很好。我见过比较好的有两种有 ...
Alist爬虫
注:请勿用于违法、违规行为,仅出于个人学习目的。
为了整理自己Alist上的文件,我突发奇想,能不能让最近很火的deepseek写python脚本,爬取我的Alist网站并打印出路径呢?于是用AI写了三个脚本。
123456789101112131415161718192021222324252627282930313233343536373839404142434445import requests# 配置信息ALIST_URL = "http://xxxxx.xxx/" # Alist网盘地址TARGET_FOLDER = "xxxx" # 目标文件夹路径OUTPUT_FILE = "output.txt" # 输出文件名# 获取文件夹列表def get_folder_content(parent_path): url = f"{ALIST_URL}/api/fs/list" params = { "path": f&q ...
Unity框架之公共Mono模块
注:25年2月24日进行补充这篇文章介绍一下公共Mono模块。
为什么有公共Mono模块?
很多时候我们写代码,不想继承MonoBehaviour类(比如减少性能开销、简化代码量,MonoBehaviour),但又想用MonoBehaviour里Update、Start等方法。这时候就需要搭建公共Mono模块来实现我们的需求了。
思路
以实现Update为例,既然我们知道,不继承MonoBehaviour类的不能直接调用Update等方法,那么有没有什么办法、把我们的方法塞到update里呢?
答案是有的,这里有个知识点是“委托和事件”,我们可以把我们的方法、塞到委托里,在继承Mono的脚本里调用这个委托就可以了。
下面第一种是跟着唐老狮写得,写了两个脚本,但个人不太喜欢这种,觉得比较臃肿,写成一个脚本就好了。
123456789101112131415161718192021222324252627282930313233343536373839404142using UnityEngine.Events;public class MonoController : MonoBeha ...
Unity有限状态机(第三版)
有限状态机实现方式不止一种,这里标题为第三版,不是说前面几版不好,而是又提供了一种新的有限状态机写法。我之前对有限状态机的想法是,用来做敌人AI,现在再次开阔视野,可以用代码的形式来替代Animator窗口复杂的连线(之前也有人推荐我用Animancer插件,等我学到了我再学),简洁清晰地转换状态。这个思路主要借鉴自Joker老师的RPG进阶教程,有能力的话大家可以去支持一下Joker老师。
思路分析
再开始写代码前,我们需要先分析自己的需求:
首先是状态机,大概分为敌人状态机、玩家状态机,那么就声明个基类状态机最好。状态机怎么写?首先我们需要一个字典容器来存储所有的状态,然后我们需要一个转换状态的方法,然后我们还需要存储下当前状态,就写一个GetState的方法。
状态怎么写?首先我们有个状态基类StateBase,记录所有状态都要有的方法;再分别写PlayerStateBase和EnemyStateBase继承StateBase,最后我们具体的状态再次分门别类的继承,这样就很有条理了。
实践过程
在设计有限状态机前,我们先设置好我们的状态基类StateBase,记录下我们所有要执 ...
【前端学习3】HTML5和CSS3提高
本文是前端之CSS进阶知识点总结,因为前端学习2写的太长了、也算比较全面,于是再写一个进阶篇。
HTML5新特性
HTML5语义化标签
只使用IE9以上的。IE9需要转化为block
<header>头部标签;<nav导航标签;<article>内容标签;<section>定义文档某个区域;<aside>侧边栏目标签;<footer>尾部标签;
视频标签
1<video src = "" controls = "controls" autoplay = "autoplay" muted = "muted" loop = "loop"></video>
音频标签
1<audio src="" controls="controls" loop="loop" autoplay="autoplay" >< ...