jkchen's Haven

尽身为莲,花开佛现
私信 关注
JK Chen
码龄3年

虚度过,才懂得善待每一分钟

  • 455,609
    被访问量
  • 917
    原创文章
  • 2,942
    作者排名
  • 293
    粉丝数量
  • 于 2018-02-04 加入CSDN
获得成就
  • 获得464次点赞
  • 内容获得209次评论
  • 获得529次收藏
荣誉勋章
TA的专栏
  • 笔记
    1篇
  • Unity2D教程
    31篇
  • C#
    11篇
  • Unity
    28篇
  • mysql
    5篇
  • python
    22篇
  • 爬虫
    4篇
  • 分块
    3篇
  • 机器学习
    25篇
  • ACM中的数学问题合集
    44篇
  • 差分约束
    2篇
  • 数学定理百科
    1篇
  • 数论/数学 知识点
    48篇
  • 数论/数学 例题
    70篇
  • DP动态规划
    119篇
  • 图论/搜索
    113篇
  • 数据结构
    93篇
  • 字符串
    30篇
  • 二分
    17篇
  • 其他算法
    46篇
  • 想法题
    109篇
  • C/C++/Java/Html
    43篇
  • 模板
    20篇
  • 学习笔记or周记or赛后总结
    16篇
  • ENG
    5篇
  • 构造
    12篇
  • 博弈
    11篇
  • 平面几何
    22篇
  • 模拟
    3篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

UE4 常用C++字典

创建名为Name的USceneComponent组件对象USceneComponent* P = CreateDefaultSubobject<USceneComponent>(TEXT("Name"));开启TickPrimaryActorTick.bCanEverTick = true;资源查找器static ConstructorHelpers::FObjectFinder<资源类别> CubeVisualAsset(TEXT("资源路径"));if..
原创
44阅读
0评论
0点赞
发布博客于 7 天前

UE4,游戏开发=有手就行 系列 目录

写在前面为什么做这一系列视频记录自己学习UE4的整个过程制作过程长,如果只有一个成品感觉成就感不多,所以录制了中间过程可以自己总结一下所学到的知识点,并在项目实践中融会贯通学习成果Maybe是一个比较好的项目,所以录制视频激励自己继续往下做……Something to sayb站目前基本0推广,so……做视频还是很开心的。制作视频心路历程第1期:上录制过程第2期:开始有讲解,但是有BGM第3期:讲解去掉了BGM说话更加清晰第4期:每一段制作过程部分都是一首完整的B
原创
80阅读
1评论
0点赞
发布博客于 24 天前

UE4 蓝图

单击右键出节点重要节点Event:每帧调用EventBeginPlay:事件开始运行OnActorBeginOverlap:开始重合OnActorEndOverlap:结束重合SetActorTransform/Location/RelativeScale3D/Rotation:设置位置/缩放/旋转这里需要设置物体移动性为可移动...
原创
24阅读
0评论
0点赞
发布博客于 24 天前

UE4 小知识点

按T切换是否可以选中后面物体
原创
17阅读
0评论
0点赞
发布博客于 16 天前

win10 任务栏图标变为空白、图标丢失的解决方法

win+R 运行输入 %APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar将该软件的快捷方式塞一个到:打开的窗口内快捷方式去这里搞先把该软件固定到任务栏,再解除固定即可
原创
66阅读
0评论
1点赞
发布博客于 27 天前

UE4 BSP画刷经验

造好一个简单模型后打个组,再复制粘贴就行了,而且修改一个的位置会同时修改其它的,比较方便东西比较多后分不清建议搞好文件夹管理没有球体和原锥体,需要使用多面体和多棱锥模拟想房屋这种比较规则的,位置最好不要随便拖动,强迫症患者建议算好位置后直接修改。大部分几何体的位置在重心,锥体在地面中心建的时候拉个小人,看看比例在大纲右键的菜单,很多功能可以直接在视图窗口内选中Actor右键BSP选中整个几何体的表面:Shfit+B活用对齐:墙体、地面先做好一大块,确定没有问题后再copy做一大块的时候可.
原创
27阅读
0评论
0点赞
发布博客于 16 天前

UE4 BSP画刷知识点

材质最简单是就是先选中材质,再创建几何体,此时的几何体的所有的面都是这种材质逐个赋材质的话,先选中表面,再把材质托上去如何选中表面:几何体 - 选择匹配画刷是整个几何体;匹配材质是当前几何体内相同材质的面;相邻表面是所有联通的;共面是在一个平面内的;墙面是竖着的面;对齐默认 二维表面是所处平面内相互对齐二维墙体是所有垂直切割面对齐二维地面是所有水平切割面对齐材质微调笔刷设置搭建类型有加和减,减几何体会减去之前的加几何体的空间,排序里面可
原创
71阅读
0评论
0点赞
发布博客于 29 天前

UE4入门

傻瓜式安装界面给我的第一个感觉就是挺丑的,哈,Unity感觉高大上一点
原创
36阅读
0评论
0点赞
发布博客于 16 天前

Lua 对象类的实现

元表学习表→\to→类一个类是什么?就是把一些共有的部分(成员:变量、函数)抽出来放到一起。而每个成员都有一个名字,所以很容易想到[key:name]→[value:member][key:name]\to[value:member][key:name]→[value:member]最简单的是这样子的:Person = { name = '张伟', sex = '男', height = 175, weight = 130, age = 30, Say = function(wo.
原创
129阅读
0评论
0点赞
发布博客于 2 月前

Lua常用函数

lua库函数这些函数都是Lua编程语言的一部分, 点击这里了解更多.assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息collectgarbage() - 垃圾收集器. (新增于1.10.1)date(format, time) - 返回当前用户机器上的时间.error(“error message”,level) - 发生错误时,输出一条定义的错误信息.使用pcall() (见下面)捕捉错误.gcinfo()
转载
86阅读
0评论
0点赞
发布博客于 2 月前

Lua 封装自己的库(require)

模块例如在开发的过程中,有一些功能对于很多脚本都通用,这个时候就会考虑将这些功能抽出来,放到另外一个文件内,要用的时候直接调用即可。在Lua内称之为模块。代码LuaHelper.lua.txthelper={}function helper.const(tab) local meta={ -- 按照tab的键值情况生成一个meta,所以下面setmetatable({},meta)中可以是{} -- 返回一个空table,起作用的是meta __index=function(se
原创
176阅读
2评论
0点赞
发布博客于 2 月前

Lua 元表metatable学习(制作常量表)

原表可以看成为表添加一些功能重载运算符下面还演示了__call和__tostringfunction V2(x,y) return setmetatable({ x = x or 0, y = y or 0, },V2meta)endV2meta={ -- 相加 __add=function(a,b) return V2(a.x+b.x,a.y+b.y) end, -- 相减 __sub=function(a,b) return V2(a.x-b.x,a.y
原创
77阅读
0评论
0点赞
发布博客于 2 月前

Unity XLua热更新

C#执行Lua,Lua执行C#/* * Author : Jk_Chen */using System.Collections;using System.Collections.Generic;using UnityEngine;using XLua;public class MyXLuaTest : MonoBehaviour{ LuaEnv lua; void Start() { lua = new LuaEnv(); .
原创
133阅读
1评论
0点赞
发布博客于 2 月前

Notepad++配置(Lua)

中文代码自动完成背景色界面组织,分别是自动换行,显示缩进参考线,文档构造图(看文档缩图),文件夹工作区(右键添加文件夹项目)自动换行优化:下载NppExecsci_sendmsg SCI_SETWRAPMODE SC_WRAP_CHAR npp_console 0...
原创
95阅读
0评论
0点赞
发布博客于 2 月前

Harmonious Rectangle(dfs 打表)

题意:问有多少个n*m的012矩阵,存在至少一组(x1,x2)(y1,y1)(x1,x2)(y1,y1)(x1,x2)(y1,y1)使得4个点(x1,y1)(x1,y2)(x2,y1)(x2,y2)(x1,y1)(x1,y2)(x2,y1)(x2,y2)(x1,y1)(x1,y2)(x2,y1)(x2,y2)组成(0和1可以用2代替,也就是两列各自相同或者两行各自相同)解析:分析一下n*2:∣0,0∣|0,0|∣0,0∣∣0,1∣|0,1|∣0,1∣∣0,2∣|0,2|∣0,2∣∣1,0∣|
原创
120阅读
0评论
0点赞
发布博客于 2 月前

Unity XLua迁入项目

安装https://github.com/Tencent/xLua,下载Zip后把Assets下面的文件搞到你的项目文件夹下(重名的往下递归)C#执行Lua,Lua执行C#/* * Author : Jk_Chen */using System.Collections;using System.Collections.Generic;using UnityEngine;using XLua;public class MyXLuaTest : MonoBehaviour{
原创
101阅读
0评论
0点赞
发布博客于 2 月前

第 45 届ICPC亚洲区域赛(济南)L: Bit Sequence(二进制 数位 bitset)

https://ac.nowcoder.com/acm/contest/10662/L题意:给出一个长度为m(m<=100)的01数组a,求[0,L][0,L][0,L]中有多少个xxx满足:x+i(i∈[0,m−1])x+i(i\in[0,m-1])x+i(i∈[0,m−1])二进制中的1的个数的奇偶性为a[i]解析:枚举后面7位的数组iii,因为对于后面7位来说,在加[0,m−1][0,m-1][0,m−1]的过程中往前进位最多1次。而对于前面的位来说,进1位后的奇偶性改变只与最后的连续
原创
296阅读
0评论
1点赞
发布博客于 2 月前

设计模式(U3D)

设计模式你的桌面有很多文件,如果把所有文件都直接放在桌面上会非常乱。那么此时我按照文件内容或者类型分类,创建一个文件夹把这部分文件塞进去,就可以看成是一种设计模式。单例模式若有些类全局唯一,例如各种Manager,那么可以使用单例模式,访问更加简单,不用每个其它脚本都Find这个组件。简单类public class Config{ private Config() { } public static readonly Config instance = new Config()
原创
63阅读
1评论
0点赞
发布博客于 2 月前

Unity:帧 timeScale Update 生命周期 Update优化(干货集合)

本文内的大致机制是个人凭借理解的经验之谈,也就是说如果我来写这个功能应该怎么写,不一定对,借鉴一下就行文章目录帧Application.targetFrameRate (fps)Time.frameCount游戏时间Time.timeScaleTime.deltaTimeTime.timeTime.realtimeSinceStartupUpdateUpdateLateUpdateFixedUpdate生命周期GameObject首次Active=true时Active=true时每帧调用非首次Act.
原创
176阅读
0评论
0点赞
发布博客于 2 月前

Unity游戏时间管理类、光照随时间变化

游戏的时间与系统时间肯定是不一样的,我采取的是现实世界的一秒钟为游戏内的一分钟。实际维护上一次保存的游戏时间和载入存档的系统时间,那么当前的游戏世界就是【当前的系统时间-载入存档的系统时间】的秒数作为分钟数加到保存的游戏时间即可。/* * Author : Jk_Chen */using System.Collections;using System.Collections.Generic;using UnityEngine;[System.Serializable]public
原创
174阅读
0评论
0点赞
发布博客于 2 月前

C# 自定义类重载运算符

强制转换运算符public class Bool{ public bool value; public static explicit operator bool(Bool v) { return v.value; }}Bool a;bool b = (Bool)a;比较运算符注意使用哈希相关的容器时需要重写HashCodepublic class GameTime{ public int Day, Hour, Minute;
原创
125阅读
0评论
0点赞
发布博客于 2 月前

第45届ICPC 亚洲区域赛上海:部分题解(BCDEGHIM)

文章目录链接:https://ac.nowcoder.com/acm/contest/9925#questionB Mine Sweeper II【构造】C Sum of Log【数位dp】D Walker【想法 数学】E The Journey of Geor Autumn【找规律 dp】G FibonacciH Rice Arrangement【想法】I Sky GardenM Gitignore金了,开心链接:https://ac.nowcoder.com/acm/contest/9925#q
原创
479阅读
0评论
1点赞
发布博客于 2 月前

Problem D. Delete Prime(离线 线段树)

http://codeforces.com/gym/307509/problem/C题意:给一个数组a[i]=i,然后每次将第一个位置和质数位置的数加入数组b,a数组中的数往前移动(填满空白),直至a数组变为空。例如:a:123456789a:4689,b:12357a:9,b:12357468b:123574689每次询问t,n,k,n为数组长度t=1时,求k在第几个位置t=2时,求第k个位置的是几解析:发现n可以从n-1转移,所以离线处理。我们将每一轮删除的数用vector维护
原创
101阅读
0评论
1点赞
发布博客于 2 月前

Unity2D:2D射线与Rigidbody2D产生的Bug

父亲加上Rigidbody2D,儿子加上Collider2D后,射线的hit变为父亲 /// <summary> /// 获取鼠标下的2D游戏对象 /// </summary> /// <returns></returns> public static GameObject MouseGameObject2D(int layer = ~0) { float len = 0.001f;
原创
160阅读
0评论
0点赞
发布博客于 2 月前

Unity2D:资源保存,AssetBundle

AssetBundle可以看成类似Zip的压缩包,可以打包任何资源,相对于Resources更加灵活资源AssetBundle编辑左边是包名,右边是后缀名(可以为空)脚本在工程文件夹里面的任意位置创建一个Editor文件夹后,会默认此下的脚本为编辑器脚本(始终处于运行状态)创建一个脚本AssetBundleHelper/* * Author : Jk_Chen */using UnityEditor;using UnityEngine;using System.IO;
原创
166阅读
0评论
0点赞
发布博客于 2 月前

Unity2D:协程、yield return、IEnumerator

使用场景有些功能可能需要一些时间完成,但是我们不希望看到主进程也就是你的游戏界面卡住,所以使用协程与主进程独立运行。距离需要做延时执行效果Unity里面需要MonoBehaviour才能使用StartCoroutine启动协程 /// <summary> /// 开始协程 /// </summary> /// <param name="action"></param> public void _StartCo
原创
182阅读
0评论
0点赞
发布博客于 2 月前

C - Pushing Balls(数学期望)

https://vjudge.net/problem/AtCoder-agc007_c题意:给2n+1个物体,奇数位置为洞,偶数位置为球。Dis(i,i+1)=d+(i−1)xDis(i,i+1)=d+(i-1)xDis(i,i+1)=d+(i−1)x。现在任意选择一个求往左或右推。会掉到洞里面,其它球就会踩着他滚过去。问最后所有球滚动的距离之和的期望。解析:题目转化为选择任意两个相邻的点,之后删除这两个点。初始为d,d+x,d+2x,d+3x,d+4x...d,d+x,d+2x,d+3x,
原创
176阅读
0评论
0点赞
发布博客于 2 月前

Unity2D:使用序列化的存档机制 Serialize

文章目录序列化游戏机制介绍最后用文件存储序列化后的二进制文件序列化在定义一个类的时候在类前面加上[System.Serializable]即可使之可序列化。 [System.Serializable] class V3 { public float x; public float y; public float z; public V3(Vector3 v3) { x = v3
原创
175阅读
0评论
0点赞
发布博客于 2 月前

Unity2D:灯光系统

之后创建的Sprite的默认材质变为了Sprite-Lit-Default(需要光照射)一键设置场景内的精灵材质点光源为了让没光的地方不至于看不见加个全局灯精灵灯另外两个是自定义灯和多边形灯
原创
260阅读
0评论
0点赞
发布博客于 3 月前

Unity2D:Tip提示窗口制作(自适应大小Text、屏幕坐标转UI坐标)

效果:原理第一个Text加上Content Size Fitter后已经可以自适应文本大小了,但是这个时候只是文本。所以我们给它加一个Image,设置伸展方式使其填充整个文本框。但是这个时候Image又会遮挡住文本框,所以我们再加一个文本框,内容和之前的一样即可。由于伸展,所以Image图片最好选择单色调,或者自己修改Image的图像类型。结构第一个也是Text第一个Text第二个TextImage...
原创
265阅读
0评论
0点赞
发布博客于 3 月前

Unity2D:敌人AI行动(Idle、向玩家走、A*寻路、射线检测)

由于敌人自己有一个Collider2D所以需要layer排除Enemy层。 /// <summary> /// 检测是否可以感知 需要2维Collider /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <param name="maxDis"></param>
原创
393阅读
0评论
0点赞
发布博客于 3 月前

Unity2D:自动寻路插件A* Pathfinding教程——实际运用与编程

先上Graph图和配置注意Diameter是用来检测是否可以通过的直接需要考虑AI对象的碰撞器大小,以免测试通过但是卡住过不去。这是AI对象的组件AI代码(向鼠标单击右键的地方移动)杂揉了更新动画的代码,不能拿来直接用,就参考一下吧/* * Author : Jk_Chen */using System.Collections;using System.Collections.Generic;using UnityEngine;using Pathfinding;pu
原创
395阅读
0评论
0点赞
发布博客于 3 月前

Unity2D:从Gif转png,再到Animation

Gif文件拖入PhotoShop后按照帧生成图层全选图层后右键 - 快速导出为png将导出的png导入到Unity你的文件夹内再全选后拖入场景会自动创建动画和动画控制器
原创
230阅读
0评论
0点赞
发布博客于 3 月前

Unity2D:自动寻路插件A* Pathfinding教程——Graph建立

官网:http://arongranberg.com/astarPackage下载链接:https://pan.baidu.com/s/1YyQvG-lumnUWM9H0gEd3Nw提取码:0000导入双击文件,全部import创建一个空对象,添加脚本:PathfinderGraphs - Add new graph配置如下开启Gizmos点击Scan检测效果注:我在对象的底部加了Collider 2D这次是玩家的寻路!!!Layer设定在游戏中,我们可以考虑玩家被敌
原创
291阅读
0评论
0点赞
发布博客于 3 月前

Unity:2D实现3D效果,精灵遮挡问题

效果:主要是各个物体的遮挡关系。如果按照使用Layer和Layer Sort的话两个精灵的遮挡关系便已经确认,不管在前在后。所以外面把所有精灵放在同一层,优先级也相同。那么怎么确定遮挡关系呢?我们知道,摄像机从z小的地方往z大的地方看。所以,z值越小的物体越靠前。结合尝试,想到了一个调整方法:y越大的越后面,所以我们让z与y保持正比关系即可。首先是我们的对象设置情况:Player是一个质点,带有Rigidbody2D和Collider2D质点位置:碰撞器:ZPosi
原创
418阅读
0评论
2点赞
发布博客于 3 月前

Swapping Places(字典序最小拓扑排序)

https://vjudge.net/problem/Gym-102501G题意:给你一个列表,L个可以交换的对(相邻的才能交换),问最后list表的字典序最小解析:发现不能交换的两种物品,其组成的相对位置不会改变。相同种类物品之间也不会改变。所以将这些相对位置建成边。跑一个字典序最小的拓扑排序就行。(优先队列)代码:#include<bits/stdc++.h>usin...
原创
2485阅读
5评论
2点赞
发布博客于 3 月前

Unity2D教程:音乐管理

/* * Author : Jk_Chen */using System.Collections;using System.Collections.Generic;using UnityEngine;public class AudioManager : MonoBehaviour{ public AudioSource audioSource; public AudioSource audioOneShot; void Start() {
原创
169阅读
0评论
0点赞
发布博客于 3 月前

D. Death by Thousand Cuts(立体几何)

http://codeforces.com/gym/102803/problem/D题意:给出一个(0,0,0)(a,b,c)的长方体,有一个Ax+By+Cz+D=0Ax+By+Cz+D=0Ax+By+Cz+D=0的平面,除了D以外的变量都已经给出,与棱交点的个数可能为(3,4,5,6),求D变化时各种答案的概率。解析:枚举长方体每条边,都会得到3个式子,例如:x=0,y=b,z∈[0,c]x=0,y=b,z\in[0,c]x=0,y=b,z∈[0,c],从而带入平面方程得出D的变化范围。例如[l
原创
152阅读
0评论
0点赞
发布博客于 3 月前

C# WinForm 获取公网IP,获取当前城市

/// <summary> /// 获取页面html /// </summary> /// <param name="url">请求的地址</param> /// <param name="encoding">编码方式</param> /// <returns></returns> public static st..
原创
235阅读
0评论
0点赞
发布博客于 3 月前

CCPC2020 威海C 树形dp

C Rencontre
原创
2344阅读
5评论
1点赞
发布博客于 4 月前

C#窗口程序 XML配置文件的创建、使用、读取

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Xml.Linq;using System.IO;using System.Drawing;namespace MedicalLibrary{ class ConfigHelper { static string
原创
213阅读
0评论
0点赞
发布博客于 4 月前

C#窗口程序 资源载入路径

由于可执行文件在bin/Debug下,所以bin/Debug文件夹下的文件可以直接使用(相对路径)获取该目录下文件的绝对路径public static string CombinePath(string path){ return System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, path);}载入图片Image img = Image.FromFile(path);...
原创
153阅读
0评论
0点赞
发布博客于 4 月前

C#窗口程序 解决VS2019在Win10显示比例非100%时组件的重叠问题

在注册表HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers下添加字符串项:这个按照自己的安装目录找Common7\IDE\devenv.exeC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe类型: REG_SZ值: DPIUNAWARE之后VS就默认工作区是
原创
515阅读
0评论
0点赞
发布博客于 4 月前

C#窗口程序 通过代码为组件添加点击等事件

函数-参数观察自动生成的事件信息可以知道有两个参数object sender, EventArgs esender是组件,使用时需要强制转换成组件类别,e是事件信息,例如鼠标的信息。编写函数需要参数一致 private void Button_Click(object sender, EventArgs e) { var p = (PictureBox)sender; p.BackColor = Panel2Color
原创
287阅读
0评论
0点赞
发布博客于 4 月前

C#窗口程序 UI模板【简约风、去边框】

设计参考:窗口边框
原创
567阅读
0评论
0点赞
发布博客于 4 月前

C#窗口程序各个组件的显示先后顺序

找到Designer.cs文件,找到下面的这部分代码,后面添加的显示在底下 this.PanelCouple.Panel2.Controls.Add(this.pictureBox4); this.PanelCouple.Panel2.Controls.Add(this.pictureBox3); this.PanelCouple.Panel2.Controls.Add(this.pictureBox2); th
原创
167阅读
0评论
0点赞
发布博客于 4 月前

2020蓝桥杯第二轮省赛代码

#include<bits/stdc++.h>using namespace std;#define LL long long#define LD long double#define rep(i,a,b) for(int i=(int)(a);i<=(int)(b);i++)#define per(i,a,b) for(int i=(int)(a);i>=(int)(b);i--)#define mmm(a,b) memset(a,b,sizeof(a))#defin
原创
375阅读
0评论
0点赞
发布博客于 4 月前

搭建局域网web应用程序

开启功能打开默认页面http://localhost/我的电脑右键管理下方的IIS就是管理网页应用程序的,删除默认网页在你自定义的目录下新建一个文件夹LocalWebApp后右键添加网站设置好名称、物理路径和IP地址即可在文件夹下创建index.html文件编写index.html:示例内容<!DOCTYPE html><html><head><meta charset="utf-8"><title>HA<
原创
203阅读
0评论
0点赞
发布博客于 4 月前

AT4163 [ARC099D] Eating Symbols Hard(Hash)

题意:给一个无限长度的数组(−∞,∞)(-\infty,\infty)(−∞,∞),初始全为0,有一个指针初始指向0。给一个字符串表示操作。操作+-<>为指针所指+1,指针所指-1,指针往左,指针往右。问多少子区间的操作得到的结果与最终数组一致。解析:解决负下标区间变为[1,n+1,2n+1](0→n+1)[1,n+1,2n+1](0\to n+1)[1,n+1,2n+1](0→n+1),这段区间的值进行Hash。然后每次pos[i]pos[i]pos[i]的数+1+1+1就是Has
原创
90阅读
0评论
0点赞
发布博客于 4 月前

AT5694 [AGC041C] Domino Quality(构造)

题意:n∗nn*nn∗n,放1∗21*21∗2牌,要求每行每列的牌数相同,输出方案。代码:每行每列都是3个,构造出4、5、6、7,后面的直接主对角线放上就行3的时候每行每列只能是1或者2,不能3。代码:/* * Author : Jk_Chen * Date : 2020-10-07-13.08.13 */#include<bits/stdc++.h>using namespace std;#define LL long long#define LD long
原创
97阅读
0评论
0点赞
发布博客于 4 月前

AT5693 [AGC041B] Voting Judges(尺取 前缀和 二分)

题意:给出一个数组,有m次操作,每次选中V个数+1,然后选中最大的P个数(相同的数随意排序),问多少个位置的数可能被选中解析:排序后,考虑第iii个数是否可能被选中:首先a[i]这个数每次都会被选中,所以要求操作后大于a[i]+ma[i]+ma[i]+m的数少于PPP个。也就是说对于大的数,尽可能分配少一点。小于等于a[i]a[i]a[i]的可以每次全部选。大于a[i]+ma[i]+ma[i]+m的数不管分不分都大于a[i]+ma[i]+ma[i]+m,所以也是每次选。所以考虑的区间要求a
原创
69阅读
0评论
0点赞
发布博客于 4 月前

K-Fenced In(最小生成树性质 连通性)

http://www.usaco.org/index.php?page=viewproblem2&cpid=625题意:有一个(0,0)(A,B)的矩阵,然后有n条横线,m条竖线。这些线的交点之间的线段可以被一次性删除。这些线得到了(n+1)(m+1)个空间,问让所有空间联通的删除线总长度最少。代码:由克鲁斯卡尔得最小生成树可知,所有线段之间,从小到大删除是没问题的。可以一组线同时删除:删除时可能有一些空间本身就联通,例如下图中尝试删除当前列时,134已经联通,所以只需要删除4−(3
原创
89阅读
0评论
0点赞
发布博客于 5 月前

G-Field Reduction(想法)

题意:给n个点,删除3个后使得围住所有点的矩形的面积最小。解析:假设已经得到了当前的矩形,每次删除点肯定是边界上的。所以所有可能删除的点位:x最小的3个,x最大的3个,y最小的3个,y最大的3个。用set维护一下即可。代码:...
原创
82阅读
0评论
0点赞
发布博客于 5 月前

A-262144(想法)

题意:给出一个数组,每次可以选择相邻的两个相同的数字X变为X+1,求最终数组中最大的数字。解析:从最小的数开始做(第一次做1,第二次做2……),如果有连续的偶数个就直接合并(1111→221111\to221111→22),奇数个可能往两边连所以可以(11111→2212211111\to2212211111→22122)代码:...
原创
83阅读
0评论
0点赞
发布博客于 5 月前

P5690 [CSP-SJX2019]日期

https://www.luogu.com.cn/problem/P5690解析月份不合法情况:00时变为0x,30变10,39=09。所以只需要一次修改,然后日期也是一次。月份合法时:日期看看是不是等于0或者大于月份的日期数代码int p[]={0,31,28,31,30,31,30,31,31,30,31,30,31};int main(){ int m,d,ans=0; scanf("%2d-%2d",&m,&d); if(m>12||m=
原创
123阅读
0评论
0点赞
发布博客于 5 月前

Unity通用帮助类(干货大集合)

/* * Author : Jk_Chen */using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;public class Helper{ private Helper() { } public static readonly Helper instance = new H
原创
304阅读
0评论
0点赞
发布博客于 5 月前

GYM A. Approach (计算几何)

https://codeforces.com/gym/102700/problem/A/* * Author : Jk_Chen * Date : 2020-09-17-17.45.16 */#include<bits/stdc++.h>using namespace std;#define LL long long#define LD long double#define rep(i,a,b) for(int i=(int)(a);i<=(int)(b);i++
原创
200阅读
0评论
0点赞
发布博客于 5 月前

Omkar and Landslide(想法 二分)

http://codeforces.com/problemset/problem/1392/F题意:解析:从后往前做,当前位置-1,前面位置+1,所以若前面两个数相同现在也会不相同(AAB变为ABB),所以可以得出答案序列没有超过1对的相同的数。所以做法就是定下相同的位置,其它位置都是差为1,这个就可以用二分得出。代码:/* * Author : Jk_Chen * Date : 2020-09-11-08.11.23 */#include<bits/stdc++.h&g
原创
95阅读
0评论
0点赞
发布博客于 5 月前

1401F - Reverse and Swap(线段树 翻转所有2^k子区间)

http://codeforces.com/problemset/problem/1401/F题意:解析:弄一个全局的int:rev来记录所有K的是否翻转(rev与rev之间满足交换律),然后swap(k)→reverse(k+1),reverse(k)swap(k)\to reverse(k+1),reverse(k)swap(k)→reverse(k+1),reverse(k)。查询和单点修改的时候根据rev来转换一下坐标即可。代码:/* * Author : Jk_Chen *
原创
88阅读
0评论
0点赞
发布博客于 5 月前

python 多进程、批量下载视频文件

先自己用爬虫把视频的名称、下载链接爬出来放到数据库内:然后用多进程下载(单个下载收服务器速度影响挺慢的),这里处理了超时、无效链接的问题代码:import requestsfrom bs4 import BeautifulSoupfrom six.moves import urllibfrom urllib.parse import quoteimport MySQLdbimport timeimport socketimport tqdmimport osimport shuti
原创
431阅读
0评论
0点赞
发布博客于 6 月前

中缀转后缀

总结:维护一个符号的栈,优先级大的可以压在优先级小的符号的上面。从左到右遍历数字直接输出左括号,直接压入堆栈,但是优先级最小(只有右括号可以弹出左括号)右括号,一直弹出运算符知道遇到左括号运算符,将优先级大于等于自己的弹出后再塞入结束后弹出所有运算符代码:/* * Author : Jk_Chen * Date : 2020-08-25-19.43.35 */#include<bits/stdc++.h>using namespace std;#defi
原创
143阅读
0评论
0点赞
发布博客于 6 月前

Unity2D教程:生成滚动列表

关注专栏,持续更新哦教程总目录结构如下:ListPanel挂载ListUI脚本,其中Item对象为需要生成的预置物。除了Item之外还需要找到Content(设置为生成项的父亲)和Scrollbar(由于生成后会滚到中间去,设置scrollbar.value = 1滚回顶部)ScrollPanel组件及其设置:ContentPanel组件及其设置:ScrollBar组件设置:代码:/* * Author : Jk_Chen */using System.Colle
原创
181阅读
0评论
0点赞
发布博客于 6 月前

Unity:3D物体添加点击事件

为物体挂载C#脚本,将需要触发的方法写进脚本。例如: public void OnClick() { DbConsole.CreateTable_Card(); }为物体添加组件:Event Trigger,function选择脚本内的方法,Object选择物体。
原创
732阅读
0评论
0点赞
发布博客于 6 月前

快速排序优化

int n;int a[109];void Sort(int left,int right){ if(left>=right)return; int tmp=a[left]; int l=left,r=right; while(l!=r){ while(l!=r&&a[r]>=tmp)r--; while(l!=r&&a[l]<=tmp)l++; swap(a[l],a[
原创
94阅读
0评论
0点赞
发布博客于 6 月前

E - Modulo Query(区间取模)

https://vjudge.net/problem/ZOJ-3940题意:告诉你N,M,A1...AnN,M,A_1...A_nN,M,A1​...An​,每次询问YYY求[0,M][0,M][0,M]有多少个XXX满足:X%A1%A2...%An=YX\%A1\%A2...\%An=YX%A1%A2...%An=Y。解析:套路题,[0,20]%20→[0,19],[0,0][0,20]\%20 \to [0,19],[0,0][0,20]%20→[0,19],[0,0],相当于每次取模让一个大区
原创
135阅读
0评论
0点赞
发布博客于 6 月前

B - More Health Points(树形DP 斜率优化 斜率不单调)

https://vjudge.net/problem/ZOJ-3937题意:给出一棵根为1的树,每个点有点权(可能为负)。选出一条自上而下的路径,第iii个点(从上往下,1开始)计入的贡献为i∗a[i]i*a[i]i∗a[i],求max(0,最大值)解析:定义sum[p]sum[p]sum[p]为从1到ppp的权值之和,mul[p]mul[p]mul[p]为从1到ppp的贡献1∗a[1]+...k∗a[第k个点]1*a[1]+...k*a[第k个点]1∗a[1]+...k∗a[第k个点]。那么对于
原创
134阅读
0评论
0点赞
发布博客于 6 月前

Gaming of Co-prime Disallowance(概率 莫比乌斯)

http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1007&cid=886题意:n张牌,双方走,每次删除一张牌,没有牌可以删除的lost,删除后所有删除的牌gcd=1的lost。双方随机删除,问先手win的概率解析:考虑分析gcd=1前的gcd=G。假设G的倍数有XXX个,非G倍数有YYY个。那么输的概率为XX+YX−1X+Y−12X+Y−2+...\dfrac{X}{X+Y}\dfrac{X-1}{X+Y-1}\dfr
原创
235阅读
0评论
0点赞
发布博客于 6 月前

Discovery of Cycles(动态树 LCT ST表)

http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1004&cid=886题意:一张无向图,q个强制在线询问,如果只用区间[l,r]的边,能否组成一个简单环解析:求出每个i,至少要扩展到ans[i]才能使[i,ans[i]]组成简单环,ans[i]是单调的。所以我们可以用尺取法来维护出ans[i],往右延时的时候加边。如果当前边两点已经在一棵树上说明可以形成环。缩短的时候需要删除边,所以使用动态树。最后区间求一个最小值
原创
268阅读
2评论
0点赞
发布博客于 6 月前

HDU Tree(树形dp)

http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1007&cid=883题意:给一个树,边权。有一个整数k,找树的子图G,满足:G内连通、度大于k的顶点个数不大于1、总权值要尽可能大。解析:对于每个点,维护down[i]down[i]down[i]表示往下选择k−1k-1k−1个儿子(儿子也最多选择k−1k-1k−1个)的最大权值。接下来利用downdowndown维护出upupup数组,表示当前点为中心(可以大于K)时
原创
114阅读
0评论
0点赞
发布博客于 7 月前

prufer序列(生成树计数)

Prufer序列∀\forall∀带标记无根树,有一个Prufer序列,且为一一对应的关系。n个点的树的Prufer序列长度为n−2n-2n−2树→\to→Prufer序列找到度为1的点中标记最小的点,删除该点,并将与之相连的点加入序列。直到剩余两个点。上图为[2,2,5,6][2,2,5,6][2,2,5,6]分析当一个点加入序列时,说明它此时存在一条连向叶子的边,加入时那条边会删除,也就是度-1。若不存在其它连向叶子的边(最后两个点之间的边不考虑),则不会再次出现在序列中。由此可以推出
原创
231阅读
0评论
0点赞
发布博客于 7 月前

Last Problem(构造)

题意:就是给一个无限平面,每个整数点有颜色(初始为0).有n种蜡笔,颜色[1,n],涂第i种颜色的笔时,[i-4,i-1]这4种颜色需要在当前位置的周围(忽略负数)你需要给出一些操作,使得至少一个点是第n种颜色解析:考虑是否存在一种情况构造每个点n时,上方总是n−an-an−a,左边n−bn-bn−b,右边n−cn-cn−c,下边n−dn-dn−d,其中a,b,c,d∈[1,4]a,b,c,d\in[1,4]a,b,c,d∈[1,4]。代码:/* * Author : Jk_Chen
原创
148阅读
0评论
0点赞
发布博客于 7 月前

python 使用mysql数据库

# 获取db和cursordef GetDatabaseAndCurSor(): # 数据库需要提前创建好 db = MySQLdb.connect("localhost", 'root', '123456', 'video', charset='utf8') cursor = db.cursor() return db, cursor# 非增删改查操作sql = 'drop table webPage'cursor.execute(sql)sql = 'create
原创
116阅读
0评论
0点赞
发布博客于 7 月前

Go Running(二分图最小点覆盖 网络流 点覆盖)

http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1007&cid=882题意:给出一些点,你只能用斜率为1或者-1的线去覆盖。问最少的线的数量。解析:把点(xi,yi)(x_i,y_i)(xi​,yi​)看出边,相连的二分图的两边的点为(xi+yi,xi−yi)(x_i+y_i,x_i-y_i)(xi​+yi​,xi​−yi​)。也就是说,选择了点x+y=xi+yix+y=x_i+y_ix+y=xi​+yi​或者x−y=
原创
186阅读
0评论
0点赞
发布博客于 7 月前

Triangle Collision(二分 平面几何)

http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1008&cid=881题意:给出一个正三角形和一个质点的位置矢量及速度矢量,点严格在三角形内部。点如果撞到边界会像光路一样镜面反射,速度不变。统计第k次碰撞的时间,保证前k次不会撞到夹角。解析:等同于在这个图中移动以水平的那种线为例。直接二分运动的距离lenlenlen,求出终点在yyy轴上的投影高度:heightheightheight。height/(32L)h
原创
1027阅读
0评论
3点赞
发布博客于 7 月前

X Number(数位 指数型母函数)

http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1006&cid=881题意:给L,R,dL,R,dL,R,d,求[L,R][L,R][L,R]中有多少个数,满足十进制位上ddd最多(严格最多)解析:从前往后遍历十进制位,c[i]c[i]c[i]维护当前位置之前数字iii出现的次数。当前位枚举[0,H(上限)−1][0,H(上限)-1][0,H(上限)−1],接下来的位就可以任意选择了。考虑这种情况下的方案数求解。枚举
原创
1763阅读
0评论
0点赞
发布博客于 7 月前

Josephus Transform(约瑟夫变换 线段树)

https://ac.nowcoder.com/acm/contest/5671/J题意:每次操作对序列做,X次K约瑟夫环变换,问最终序列。一次3约瑟夫环变化后,12345变成31524,就是每数3个数后删掉。解析:求出一次变换的结果:线段树,tr记录sum,当前pos的前缀和为val,下一个就是第一个大于等于val+k的位置。一次求出来后K次相当于找出环,X%环长后就是这个环转置的次数。代码:#include<bits/stdc++.h>using namespace s
原创
315阅读
0评论
0点赞
发布博客于 7 月前

Harmony Pairs(数位dp)

https://ac.nowcoder.com/acm/contest/5671/H解析:dp[i][j]dp[i][j]dp[i][j]表示iii位数十进制和为jjj的方案数limit[i][j]limit[i][j]limit[i][j]表示被限制(前面都到达上限,即第1位需要小于等于对应位置数字)的iii位数十进制和为jjj的方案数sum[i][j]=∑k=1jdp[i][k]sum[i][j]=\sum_{k=1}^jdp[i][k]sum[i][j]=∑k=1j​dp[i][k]ans
原创
159阅读
0评论
0点赞
发布博客于 7 月前

Investigating Legions(想法 不确定问题)

https://ac.nowcoder.com/acm/contest/5669/I题意:n个人,m(未知)个团,给出两两是否属于相同团。但是有1/S的几率给出的是错误的(01互换)。问最后哪些人属于一个团。输出按照字典序最小来,人数比和团数比为1:30。解析:很玄学,这题数据是随机生成的。由于保证了一个团大致有至少30个点,所以可以这么做:可以选择一个点,和他为1的先加进去,然后去掉和其他点0较多的点,再加入和团内点1较多的点代码:/* * Author : Jk_Chen *
原创
134阅读
0评论
0点赞
发布博客于 7 月前

Minimum Index(所有前缀的最小后缀 Lyndon分解 KMP 最短后缀匹配)

https://ac.nowcoder.com/acm/contest/5669/I题意:就是求每个前缀的最小后缀,答案是用最小位置算解析:先lyndon分解,显然最后的lyndon串的字典序最小。在最后lyndon串内部,用KMP判断。当后缀等于前缀时,即当pre...prepre...prepre...pre时,pre为最小字典序。这个用KMP求,但是KMP求的是最长,我们求的是最短(aa...aaaa...aaaa...aaKMP得到aa,而实际最小是a)。这个处理办法是对aa再次跳fa
原创
272阅读
0评论
0点赞
发布博客于 7 月前

Interval(01 想法 主席树)

https://ac.nowcoder.com/acm/contest/5670/H题意:解析:对于每一个右端点,F值不同的左端点至多为30个,所以我们只需要维护30n个[l,r,k=F(l,r)][l,r,k=F(l,r)][l,r,k=F(l,r)]建立主席树,当右端点为rrr,枚举[l,r,k=F(l,r)][l,r,k=F(l,r)][l,r,k=F(l,r)]:若kkk未出现过,则直接在lll的位置+1,这样子查询[L,R][L,R][L,R]时贡献便+1。如果出现过,我们对于右端
原创
135阅读
0评论
0点赞
发布博客于 7 月前

POLICE(LCS转LIS 并查集)

题意:n个书架,每个m个位置,要求变到目标状态。有两种操作:在一个书架内让一本书左右移动;拿起一本书放到任意空白位置。求最少拿起次数。解析:书分两种:不需要拿起和需要拿起。不需要拿起:求出原状态和目标状态的最长公共子序列(LCS)需要拿起:手模后发现只要需要交换的几行内(并查集得到)有空格,那么答案就是∑book−∑∣lcs∣\sum_{book}-\sum_{|lcs|}∑book​−∑∣lcs∣​。否则需要额外的一步。LCS的时间复杂度是O(N2)O(N^2)O(N2),由于这里标号唯一
原创
145阅读
0评论
0点赞
发布博客于 7 月前

C. Instant Noodles(gcd 数学 哈希)

http://codeforces.com/problemset/problem/1322/C题意:二分图,两边都是n个点,右边的点有点权。对于左边的点集SSS,与点集中点相连的右边的点集S′S'S′,权值之和为Val(S′)Val(S')Val(S′)。对于所有的可能SSS,求GCD(Val(S′))GCD(Val(S'))GCD(Val(S′))。解析:我们分析下面的图答案为:GCD(a+b+c,b+c+d,a+b+c+d)GCD(a+b+c,b+c+d,a+b+c+d)GCD(a+b+c
原创
201阅读
0评论
0点赞
发布博客于 7 月前

unity2019 build gradle failed解决办法

可能原因1默认gradle从谷歌下载,要梯子才行。找到这个文件夹Unity\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates把baseProjectTemplate.gradle里面的repositories {**ARTIFACTORYREPOSITORY** google() jcenter() }改为repositories
原创
3873阅读
2评论
5点赞
发布博客于 8 月前

Unity2D教程:单例模式、SceneManager.LoadSceneAsync场景切换、Loading界面进度条

关注专栏,持续更新哦教程总目录单例模式一种和static方法较为类似的东西。下面两种写法的作用类似:public class Config{ public static int a; public static void F(){};}// 调用Config.a;Config.F();public class Config{ private Config() { } public static readonly Config instance =
原创
807阅读
1评论
0点赞
发布博客于 8 月前

Unity2D教程:安卓真机调试

手机进入开发者模式,打开USE调试,并连接上USE(需要运行通过USE安装应用)。打开Unity后,Refresh后可以看到你的手机了(手机端可以需要同意某个请求,会弹出来的)勾选这三项然后Build And Run,会生成apk并自动安装到安卓手机。在控制台中,可以看到Debug.Log()的输出,分析器里面也有内容。如果不行的小伙伴可以试试看cmd下敲入:adb forward tcp:34999 localabstract:Unity-项目名称去掉空格...
原创
278阅读
0评论
0点赞
发布博客于 8 月前

Unity 不规则UI Image穿透透明区域

例如一个三角形精灵,实际的射线遮挡区域是包围这个三角形的矩形。我们想让点击事件穿透透明区域,步骤很简单。在精灵的检测器内,高级选项的读写开起来:然后在代码中把alphaHitTestMinimumThreshold设为0.5ameObject.GetComponent<Image>().alphaHitTestMinimumThreshold = 0.5f;...
原创
620阅读
2评论
1点赞
发布博客于 8 月前

Unity2D教程:当Time.timeScale=0时完成计时器

一个很神奇的功能:暂停游戏,且1秒后自动继续游戏。用Time.timeScale=0来暂停游戏后,不管是用Timer-=Time.deltaTime还是用协程StartCoroutine来完成计时器都不行。因为上面两个方法都需要Time.timeScale。现在来用不基于Time.timeScale的方法完成计时器。Time.realtimeSinceStartup会返回从游戏开始后到现在的时间,想到了这个,我们的计时器就出来了。先设置时间点为当前时间加上暂停的间隔时间:needToUnPaus
原创
419阅读
0评论
0点赞
发布博客于 8 月前

Unity2D教程:事件顺序、音乐播放、载入资源、游戏暂停

全是自己总结的干货事件顺序当一个GameObject首次Active=true后,会先触发Awake函数,再触发Start函数,之后每帧触发Update函数。不管是在游戏内通过SetActive(true)来激活,还是本身已经激活,触发的顺序都为:Awake,OnEnable,Start。之后每次SetActive(false)触发OnDisable,每次SetActive(true)触发OnEnable。音乐播放游戏内部音乐从时间长度分为两种:短音乐和长音乐。短音乐通过获取AudioSo.
原创
257阅读
0评论
0点赞
发布博客于 8 月前

Unity2D教程:UI随屏幕缩放相关问题

设置canvas随屏幕大小缩放,匹配模式选择Expand背景图片在锚点下按住Alt选择右下角那个。效果:
原创
882阅读
0评论
0点赞
发布博客于 8 月前

Unity2D教程:配置SQLite,并在安卓运行(附带SQLite常用操作)

导入dll文件,Mono.Data.Sqlite.dll以及SQLite3.dll,放到Asset/Plugins下面。Mono.Data.Sqlite.dll在Unity安装目录下面找一个SQLite3.dll网上下一个我有.Net 2.0版本的你们可以试试https://pan.baidu.com/s/10zfaiH_kY0NP5ub_WfH_fQ,提取码9ls3代码内using一下using Mono.Data.Sqlite;基本操作/* * Author : Jk..
原创
299阅读
0评论
0点赞
发布博客于 8 月前

Unity2D教程:菜单界面、文字设置、常用界面功能

菜单界面创建一个UI-Image,会自动生成Canvas。设置Canvas的设置模式为随屏幕改变设置Image的伸展模式,在这个界面按下Alt键会变成这样,选择右下角那个就是填充整个Canvas了在当前Image下创建Button,将Button下面的Text和Button自身都弄成预置物Text可以加一个Outline组件更加美观,并且设置为居中效果常用按钮事件绑定按钮事件,把下面的脚本挂到Image下,通过public获取按钮对象。/* * Author :
原创
773阅读
0评论
1点赞
发布博客于 8 月前

修改Unity Asset Story的默认下载路径

本机的默认下载路径在C:\Users\Thinkpad\AppData\Roaming\Unity\Asset Store-5.x其中AppData是隐藏文件夹,需要右键快速访问后点击选项,里面修改找到Asset文件夹后,将整个剪贴到你想要放的目录, 我放在D:\Files and documents\Asset Store-5.x然后进cmd,输入命令mklink /j "C:\Users\Thinkpad\AppData\Roaming\Unity\Asset Store-5.x" "..
原创
640阅读
0评论
0点赞
发布博客于 8 月前

Unity2D教程:生成apk文件

下载JDKhttp://www.Oracle.com/technetwork/Java/javase/downloads/index.html安装到自己选择的目录(路径最好没有中文)添加一个叫JAVA_HOME的系统变量,值为安装路径系统变量里面的Path内新建项:%JAVA_HOME%\bin此时可以在cmd下通过javac -version查看JDK版本下载Android SDKhttps://www.androiddevtools.cn/Android SDK工具 - SDK
原创
269阅读
0评论
0点赞
发布博客于 8 月前

Unity2D教程:通过摇杆控制人物移动

创建摇杆还是要提醒一下Canvas设置size随屏幕大小变化而变化。创建UI内的Image,设置为摇杆背景。需要设置锚点为左下角。在Rocker下再创一个Image,RockerCenter。锚点要在正中间。创建脚本ScrollCircle,并给Rocker。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using
原创
725阅读
2评论
0点赞
发布博客于 8 月前

Unity2D教程:人物状态条(头像、生命值、魔力值)

UI里面创建4个Image,代表背景框、血条、蓝条、头像。改变source image,并按下set native size恢复到原始大小由于固定于左上角,所以设置锚点为左上角人物状态栏最好设置大小随屏幕大小而改变设置血条蓝条变动,这样设置后fill amount减少后会从右边开始减少,并且左边的部分不会变动。Player下面通过脚本修改amount为health/maxHealth,蓝条同理(通过tag来找到血条)GameObject healthBar..
原创
420阅读
0评论
0点赞
发布博客于 8 月前

Unity2D教程:人物移动动画,动画状态机之间的转化,BlendTree,动画卡顿问题

2D像素人物可以通过抬左脚和抬右脚以及原画三种照片完成动画效果把这三种图片水平翻转后,你就得到了所有需要的素材最简单的正常动画逻辑需要4个动画,左idle,右idle,左walk和右walk。idle直接让4张相同的原画就行walk则是左脚右脚左脚右脚左脚右脚,重复是为了看起来流畅点(1秒6个关键帧)状态机的转换需要想一下我们设置了2个参数,speed和lookLeft,表示速度和朝向。idle到walk:检测到speed>0.5触发,根据朝向判断哪个..
原创
470阅读
0评论
0点赞
发布博客于 8 月前

Unity2D游戏学习

Unity2D教程:人物移动Unity2D教程:地图制作TilemapUnity2D教程:预置物PrefabsUnity2D教程:碰撞器Collider,抖动问题,人物旋转问题Unity2D教程:相机跟随Unity2D教程:物品拾取、Trigger、计时器Unity2D教程:添加敌人、简单动画、动画结束后销毁对象...
原创
652阅读
0评论
1点赞
发布博客于 8 月前

Unity2D教程:添加敌人、简单动画、动画结束后销毁对象

添加敌人添加一个敌人加上Collider 2D用OnCollisionEnter2D来给予伤害,这些都比较简单不仔细说了。private void OnCollisionEnter2D(Collision2D collision) { Player p = Helper.GetPlayerByCollision2D(collision); if (p == null) return; p.HealthChange(-damege);
原创
662阅读
0评论
0点赞
发布博客于 8 月前

Unity2D教程:物品拾取、Trigger、计时器

物品若无法拾取也不会阻碍人物行动,所以设置为Is Trigger。上代码Helper.csusing System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 帮助类/// </summary>public class Helper : MonoBehaviour{ // 获取Collider2D collision所对应的PlayerHe
原创
399阅读
0评论
0点赞
发布博客于 8 月前

Unity设置默认C#文件的内容

找到Unity\Editor\Data\Resources\ScriptTemplates下的81-C# Script-NewBehaviourScript.cs.txt将内容设置为:/* * Author : YourName */using System.Collections;using System.Collections.Generic;using UnityEngine;public class #SCRIPTNAME# : MonoBehaviour{ v
原创
184阅读
0评论
0点赞
发布博客于 8 月前