- 博客(79)
- 收藏
- 关注
原创 KMP学习笔记
KMP(Knuth–Morris–Pratt)算法是一种字符串`模式匹配`算法。核心原理是利用匹配失败后的信息,尽量减少模式串与主串的匹配此处以达到快速匹配的目的。时间复杂度为O(m+n)它的改进在于,每当从某个起始位置开始一轮匹配后,如果在匹配过程中出现失配,不回溯 i 而是利用已经得到的部分匹配结果将 指针 在 模式 上向右移动(退回)尽可能远的一段距离 再按照规则进行下一轮匹配
2022-10-04 11:18:10
789
原创 SQL Bolt学习笔记
用[sqlbolt](https://sqlbolt.com/)尝试快速入门sql的笔记学完之后基本能用于简单的CRUD了,就是可能细节不够多
2022-09-06 22:03:18
1293
原创 CS速成课笔记
是学习【计算机科学速成课】- Crash Course Computer Science时做的一些简单笔记.包括40章内容,大致为从计算机组成到计算机网络,计算机前沿技术等内容的鸟瞰。后面内容比较概括。加了一些用于帮助自己学习的例子(。
2022-09-03 15:35:55
818
原创 从YAML了解标记语言
因为对yaml不是很了解,就搜索了相关的知识用来了解一些常见的标记语言居然是手动复制到csdn, 感觉缝都缝了,不发怪可惜的再考虑要不要抄一个转发到csdn,又怀疑自己是否真的需要(最近在试图学习用思维导图总结学习的知识,这里也试试总结下吧标记语言|Markup Language首先看标记语言的概念标记语言,是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其他信息(包括文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记(m.
2022-05-01 02:31:48
286
原创 用PS合并RGB图片和只有透明通道的图片
用PS合并@alpha图片和rgb图片为啥要分离图片的透明通道最近刚好遇到要合并通道的问题,就去搜了一下如果有游戏开发经历的朋友应该体验过要分离图片透明通道压缩内存的问题(反正我没有总之如果想了解为什么要分离图片通道以及如何分离可以参考rayriver的这篇文章这个我也没认真看,就大概看了看应该是分离图片透明通道的技术博客标题的图片是什么如果你不是不小心点进来,手上至少应该有这么俩张图吧嗯,还是从那篇博客拿的图现在将图片拖入ps就至少有两种合并方法可以选了使用色彩范围p
2021-08-31 19:03:27
1982
1
原创 Unity3D开发学习⒇⑦ 二段跳,单向平台,SoundManager,Build&Run
目录1.双段跳上次是Android平台的调试用摇杆想二段跳可能比较麻烦,新建个UI分离出跳跃功能可能方便一点(下面是回到了window端的测试,把之前的键位改回来了上图是视频中给出的解决方案通过一个点检测地面,就像写下蹲时一样我这用的是另一套方案定义了一个可以改变的几段跳跃以及可当前跳跃数这样就简单的实现了多段跳,目前妹感觉出啥问题来2.单向平台首先分个新...
2021-02-06 09:05:00
84
原创 Unity3D开发学习⒇⑥ 手机控制|触控操作|真机测试
目录1.手机控制首先这里我准备用Android平台测试,所以先配置一下在BuildSetting内选择Switch Platform切换平台然后就会安装一些组件,等到加载完就可以开始准备Android SDK了(这可能太劝退了)有Sdk路径就可以直接导入文件夹,没有的话就点Download下载一个http://www.android-studio.org/(内置Down...
2021-02-05 11:00:00
126
原创 Unity3D开发学习⒇⑤ 游戏暂停Pause AudioMixer
目录1.暂停界面/按钮首先添加一个暂停按钮到游戏主场景,设置聚焦到右上角然后添加暂停页面panel(顺便设置一下暂停键的样式)设置这个panel居中,然后就可以设置一个觉得合适的宽高修改样式之后就可以加个标题再加个拖动条新建后动不了的话确认一下canvas下的eventSystem是否在canvas下一级(反正我把这个拖出来就可以拖动slider了fi...
2021-02-04 14:44:00
143
原创 Unity3D开发学习⒇④ 游戏菜单Menu
目录首先截几张游戏运行的图片用来当作菜单的背景随便截了两张放在了导入的素材库里新建的个文件夹然后新建一个场景双击预览新建个panel,发现是圆角矩形通过修改souseImage来解决这个问题设置为none即可裆燃设置为截图就更省事了设置图片后调整一下颜色即可看见图片然后再添加一个panel用来承载菜单标题,开始,退出按钮也可以设置颜色做背景的色调统一...
2021-02-03 21:32:00
76
原创 Unity3D开发学习⒇③ 视觉差Parallax
目录1.视觉差Parallax类似在老游戏fc,gba,sfc上经常出现的横板过关游戏的多重卷轴(伪)效果主要是是不同层次的内容以不同速度移动来构成层次感就这样在unity中使用的是移动中景和背景这里中景就是那些树木(?然后背景就是background要移动这俩个,首先需要新建一个area(empty)来继承background的collider2d给camera做边框...
2021-02-02 10:48:00
66
原创 Unity3D开发学习⒇② DEBUG
目录修复一些bug1.被击败后仍旧发生物理碰撞在Enemy基类里激发击败动画时将enemy碰撞器禁用,关闭刚体模拟2.重复获取樱桃碰撞体的问题,在碰到樱桃之后直接将樱桃碰撞器禁用即可这样应该可以(问题是我从来妹有遇到这个问题搞腚...
2021-02-01 09:19:00
40
原创 Unity3D开发学习⒇① 光效
目录(据说这里用的其实是3d光效,3d灯光在2d项目里有很多限制,比如2d的sprite无法对3d灯光产生阴影等等)2d光效正确使用康麦扣新视频,这里按照原视频1.光效先给背景设置个material变暗了在根目录下添加Material(Diffuse)设置Diffuse(漫反射)添加到player之后,player也暗下去了然后添加一个pointLig...
2021-01-31 21:53:00
59
原创 Unity3D开发学习⒇ 掉落失败,延迟方法,SceneManager
目录1.掉落失败判断掉落失败,然后重置场景这里的实现方法是新建empty,拉长碰撞器,然后player触碰到碰撞器重置场景新建个tag新建empty然后加个碰撞器,拉长选中边线后按住alt拉长就可以俩边同时拉长然后回到角色控制代码检测角色碰撞然后加个暂停所有音效,以及延迟执行重置场景代码引入场景管理器加上reStart代码加载当前场景的名字...
2021-01-30 08:58:00
76
原创 Unity3D开发学习⑩⑨ 下蹲优化
目录1.下蹲DEBUG首先修复下蹲进入建筑松开按键直接卡住,如果按了下蹲进入障碍物,在障碍物内松开按键出来后必须重新按下蹲键才能站起等问题首先打开prefab里的player,新建个空项目(命名为celling = "天花板")往上移到player头顶附近,作为player的头顶判定点然后回到代码部分编辑先声明一个作为头部判断点的cellingPoint之前判断下蹲...
2021-01-29 14:33:00
77
原创 Unity3D开发学习⑩⑧ 对话框Dialog
目录1.添加对话框在Canvas下新建Panel(此处命名为EnterDialog),然后双击预览点击color设置个颜色设置锚点,设置大小添加个Text作为文本内容设置一下样式与内容,回到主视图隐藏掉,然后给需要显示的环境组件添加一个collider勾上trigger加个脚本声明对话框字段,确定是否显示dialog的布尔变量加上俩方法用来...
2021-01-28 13:37:00
99
原创 Unity3D开发学习⑩⑦ 音效Audio
目录1.Audio首先下载音频资源再下个bgm导入之后就可以看见文件播放音频clip需要一个audio source,所以这里在player内选择添加一个Audio Source组件因为player这里本身是个预置(prefab)所以音频组件边上的蓝条意味着这个组件只是单独加到这个Sence的player组件中(意味这这是临时的)如果选择覆写的话...
2021-01-27 15:37:00
61
原创 Unity3D开发学习⑩⑥ 添加老鹰 Class 调用
目录最近过程越来越精炼了,毕竟前面都已经提过了(而且有的部分我也不太好解释,写在注释里意会一下就吼了,或者去康M_Studio的原味视频,更细一点1.添加老鹰搞腚2.击败动画添加个被击败动画动画窗口里添加个Trigger(触发器)参数新建一个Enemy基类,写上动画器初始化和死亡动画,死亡方法然后在Forg类继承覆写调用一下Sta...
2021-01-26 13:39:00
42
原创 Unity3D开发学习⑩⑤ Animation Event
目录之前忘记加上的Transition,修复自然掉落之类的问题1.AnimationEvent先添加动画处理动画切换逻辑,回到代码部分声明需要的部分获取之后开始写代码切换动画逻辑设置好Animation Event搞腚...
2021-01-25 14:34:00
59
原创 Unity3D开发学习⑩④ AI
目录1.(伪)AI先为Forg新建一个Script先写上基本参数然后在forg下新建Empty命名为Boundaries在里面新建两个空Object(Left,Right)右上角可以设置颜色把两个点放到青蛙移动的边界,再回到代码声明Boundraies对象,声明两个边界的坐标然后处理移动代码然后设置速度,加上实体就可以预览了注意获取索引后...
2021-01-24 13:15:00
39
原创 Unity3D开发学习⑩③ 受伤效果Hurt
目录1.受伤效果先分出受伤判定的代码然后声明一个受伤反弹力的float类型,一个标志受伤状态的bool类型添加受伤后反弹代码然后添加这个力需要在FixUpdate中的移动实现加一个判断,不然移动的加速度和受伤的加速度会冲突然后需要判断x速度停止受伤状态,不然就无法正常移动然后微调参数就可以测试一下效果了测试成功·之后再添加动画效果新建动画设置动...
2021-01-23 15:04:00
67
原创 Unity3D开发学习⑩② 敌人Enemy
目录1.添加敌人先新建Empty(命名为Enemy),然后在下面新建Sprite(Frog)然后找到敌人的贴图全选修改大小然后拖入Sprite然后添加一个idle动画然后加个碰撞器再在PlayerController内添加碰撞受伤,掉落击败敌人的实现代码判断collision可以通过tag,所以先给青蛙敌人加个tag需要注意OnColli...
2021-01-22 14:22:00
100
原创 Unity3D开发学习⑩① UI
目录1.UI(User Interface)首先独立于游戏场景视图,新建一个Canvas然后双击Canvas可以更清楚的观察Canvas画布(或者F键)再在里面添加一个Text调整一下,再添加一个需要变化的Text然后在代码中获取该UI输入类型之后,标红就按Alt+Enter快速修复选择UnityEngine.UI导入需要的引用然后在加分时设置显示内容...
2021-01-21 11:45:00
34
原创 Unity3D开发学习⑩ 物品材质,多段跳跃,下蹲
目录1.解决一些问题目前已知的问题有:撞墙不掉落多段跳跃角色在斜坡上会滑落因为两个碰撞器有时候吃到樱桃加俩分先处理撞墙不掉落这个问题 这里给出的解决方案是设置碰撞器的物理材质这里在根目录新建一个2D物理材质(此处命名为Player Material)设置Friction(摩檫力)为0,防止两个碰撞器摩擦在一起然后给玩家的头部碰撞器加上材质,就成功避免了按...
2021-01-20 14:27:00
63
原创 Unity3D开发学习⑨ 物品收集, Prefabs,优化代码
目录1.添加物品首先想要实现物品收集应该添加物品Sprite(精灵),就像添加player一样先找到物品贴图然后新建个Object用来装物品这里草率的将这个命名为Item然后新建Sprite为命名为Cherry然后就可以拖入贴图到里面了别忘了设置大小然后拖入素材就可以看见了(看不见的可以调整一下SortingLayer然后按照以前的步骤给它添加一个动画...
2021-01-19 23:58:00
82
原创 Unity3D开发学习⑧ 镜头移动,镜头控制,处理边界
目录1.镜头移动镜头移动首先应该是以玩家为中心所以镜头移动的坐标应该以玩家的坐标作参考移动而玩家的坐标是从Transform中设置的所以应该为Main Camera新建一个脚本,在里面声明Transform对象用于获取玩家坐标//这里用不上Strat方法在这里还需要知道大写开头的的函数名Transform只代表一个类型,需要有实际引用的变量而小写开头的transform是...
2021-01-18 11:22:00
169
原创 Unity3D开发学习⑦ 快乐DEBUG,修改移动错误,优化代码
目录1.移动卡顿错误关于修复走着走着卡顿的问题,主要出现在(方形)碰撞箱上这里处理方法可以是再添加一个圆形碰撞箱,或者将地图碰撞箱全部合并(不是一个个碰撞箱而是合成一整块一整块的)这里再添加一个Circle Collider设置一下大小,然后设置一下脚本的Collider搞腚2.优化代码优化在哪倒也不清楚,只是把一些唯一几乎不会改变的组件设置为私有类型设...
2021-01-17 10:45:00
33
原创 Unity3D开发学习⑥ 跳跃动画,LayerMask
目录1.跳跃动画首先新建一个动画,拖素材(记得选中player和设置素材图片大小) 设置一下采样率就搞腚了跳跃动画,可以准备设置到角色上了直接拖入就发现这是跳跃的完整动作(包括下落,所以应该分成fall 和 jump俩个动画然后打开Animtor管理这俩动画首先理清几个状态的转换idle(常态)中可以jump(跳跃)run也可以jump但是jump之后应该是下落,然后回...
2021-01-16 11:56:00
161
原创 Unity3D开发学习⑤ 角色动画,动画切换
目录1.角色动画给角色添加动画需要用到的是动画组件首先添加一个Animator然后看到参数里还需要一个Controller回到根目录创建一个装动画的文件夹 ,里面单独给Player的动画也新建个文件夹然后新建Animator Controller 这里命名为idle(代表player常态动画再打开animation面板拖长就可以看见完整的面板(这里已...
2021-01-15 18:21:00
101
原创 Unity3D开发学习④ 角色朝向,适配电脑,角色跳跃
Unity3D开发学习① Unity安装,导入素材,Unity3D开发学习② 切割素材,设置背景,绘制地图,图层顺序,Unity3D开发学习③ 新建角色,设置碰撞箱,角色移动,1.角色朝向通过改变player的Transform里的Scale就可以改变player的三维缩放,这里将Scale x分别调至-1 0 1即可观察到角色的变换所以要添加角色朝向的变化就是要设置角色的sc...
2021-01-15 13:23:00
69
原创 Unity3D开发学习③ 新建角色,设置碰撞箱,角色移动
Unity3D开发学习① Unity安装,导入素材,Unity3D开发学习② 切割素材,设置背景,绘制地图,图层顺序,V大的预科作业测试太难了,先学会unity轻松一下1.建立角色首先找到贴图贴图位置如上,在player贴图下是player的几种状态的贴图文件夹在导入素材前应该先设置贴图的大小,统一为16按着ctrl单击素材即可多选,批量设置属性导入角色图片有俩种方法...
2021-01-14 12:21:00
158
原创 Unity3D开发学习② 切割素材,设置背景,绘制地图,图层顺序,
Unity3D开发学习① Unity安装,导入素材,新建项目1.设置背景图首先开发一个2D游戏应该有一个背景图于是从项目中找到背景图观察游戏预览视图可以看到有一些格子而上图中的Pixels Per Unit即代表了这里一个单元格承载了多少的像素这边已经修改为每个单元格承载16个像素然后拖动背景图片素材到左侧游戏该场景项目结构视图中即可导入背景这些功能可以通...
2021-01-13 12:39:00
189
原创 年轻人的第一个小程序
关于小程序你可能需要的1.注册个人小程序号(发布需要年龄r18,如果你只打算学习可以忽略这一步)2.下载微信小程序开发工具(学习开发调试没有年龄限制)3.浏览官方自带简易教程和文档(本质上和网页开发差不多,了解一些js css html知识就可以参考官方文档摸索开发了)鉴于我自己只是随便乱做了一点东西,也不算摸索全了小程序。这里就只是分享一些小程序发布相关的东西吧(不涉及具体代码开发内容...
2021-01-13 00:20:00
38
原创 Unity3D开发学习① Unity安装,导入素材,新建项目
------------恢复内容开始------------写在前面学习unity我是按照B站up主M_studio的新手入门教程Unity教程 入门第一款游戏制作进行系列学习为了巩固知识,按照当前的进度我会记录一些笔记和一些知识点,跟着做完后会上传游戏代码(其实我更希望看图文教程,感觉看视频有点拖时间为了学习unity3d,我已经在此前稍微了解了一些C#开发的知识,虽然大部分一直不用已...
2021-01-12 23:44:00
90
原创 C# 多线程
C#多线程线程被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了 CPU 周期的浪费,同时提高了应用程序的效率。到目前为止编写的程序是一个单线程作为应用程序的运行实例的单一的过程运行的。但...
2020-08-29 13:39:00
39
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人