手指跳舞模拟器————一款支持DIY的受苦游戏
作品基本介绍
分享链接: http://pan.dlut.edu.cn/share?id=ffmfkuu9dpz4
视频链接:https://www.bilibili.com/video/BV1NT421Q7EG/?spm_id_from=333.999.0.0&vd_source=21ef5dd001904577c706b7897134152a
这是一款可以支持自定义关卡即DIY的小游戏,由Unity制作,这里我会写一下相对重要的功能实现。
作品拆解DIY部分实现首先是支持DIY的部分,这部分其实非常简单,只需要知道unity的streamingAsset文件夹在构建打包完作品之后里面的内容不会改变即可。实际原理就是在这个文件中做一个按照某项规则创建的文件,可供程序的关卡部分读取实现即可。
123456789101112131415161718192021222324252627public class CSVReading : MonoBehaviour{ private void OnEnable() { string f ...
Unity细节效果实现
前言用来记录一些unity的好看的效果实现哈哈,话不多说,开撸
流动虚线框用四个LineRender来实现流动虚线框的效果,看起来很简单,但是如果没做过确实有点无从下手。
先看效果:
首先准备一个
这样的一节的虚线png文件,然后创建一个这样的材质:
然后把材质设置成:
(注意贴图间的拼接模式)
要注意Shader的选择,然后把png拖进纹理中
然后按以下的图来完成布局:
最后把代码写进脚本
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253using UnityEngine;public class LineCtrler : MonoBehaviour{ [SerializeField] public LineRenderer lineRenderer1; [SerializeField] public LineRenderer lineRenderer2; [SerializeField] public L ...
Spine-Unity的使用
前述这是我第一次在unity中使用spine导入的动画而总结出的各个注意事项吧,哎,我能搜到的资料太少了,只能自己慢慢摸索,希望写的这一篇博客可以帮助有需要的人。(使用的spine为2D)
关于导入unity包和Spine导出文件的问题这是一些前置工作,当时搜教程都没有很详细的介绍,导致搞了好久,甚至反反复复导入了好几次。
导入unity关于Spine的包
Spine关于Unity包的官方地址:https://zh.esotericsoftware.com/spine-unity-download/
在这一步一定要知道自己要使用的Spine软件的版本,根据前两位来选择相应的unity包,就比如3.8.~,在包中就要选择spine-unity 3.8。
之后下载了之后会得到一个unity包,直接拖入unity即可。
Spine导出文件的选择在Json和二进制之间,我更推荐二进制,更轻量,但是都是一个步骤,这里按二进制来教学。
在点击导出按钮之后按照这个选项,注意后缀,其实是unity能够识别的就行。
输出时选中预乘Alpha,在图集中也是注重后缀
之后导出一般就是图集和两个文件,后 ...
Unity实用代码技巧
前述总结的一些Unity使用的小技巧
2D关于人物的碰撞检测相关检测图层的方法:
1234567public static class LayerMaskUtility{ public static bool Contains(LayerMask layerMask, int layer) { return (layerMask & (1 << layer)) > 0; }}
返回一个Bool类型的值,可以检测某图层是不是在指定的图层内。
示例:
1234567891011121314[ReadOnly] public bool isTrigger = false;public LayerMask layerMask;public event Action OnTriggerEnter;private void OnTriggerEnter2D(Collider2D other){ if (LayerMaskUtility.Contains(layerMask, other ...
Unity基本框架
前述总结的一些Unity的常用工具集
UIS这是我根据网上的一些框架自己总结写出的小框架,感觉比较好用。
UIManger1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821 ...
算法学习(cpp)
前述最近要准备笔试,所以对之前学过的算法都复习一遍(可恶,手都已经生了),连最基本的链表反转都要想好一会,最近都会在这个博客上更新这些内容,应该会分类每一个题目的范围,也算是对自己的一个鞭策吧。
同时本文的所有的算法均是出自LeetCode且是由C++编写的,所以酌情观看。
链表链表可以说是C++比较独特的算法题目了,当然是先温习这个部分。
链表反转easy
LeetCode题目:https://leetcode.cn/problems/reverse-linked-list/description/
这道题目可以说是非常的经典了,而它的实现方法也有很多种。首先是最常见的用三个指针来进行操作:
12345678910111213141516171819202122232425/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} ...
学习FSM有限状态机有感(二)
这里有我对于FSM的第二种理解的写法,也是我第一次参加GameJam的懵懵懂懂的用法,首先这个FSM的中心是在一个FSM的代码中,而不是用泛型扩散到其他的代码中。也就是说,你每一个物体使用状态机就要重写一遍FSM来具体应用这个FSM。
先创建一个接口,用来给每一个状态限制,同时方便状态机来用字典存放每一个状态的切换
1234567public interface IState{ void OnEnter(); void OnUpdate(); void OnFixedUpdate(); void OnExit();}
创建一个枚举类型用来存放每一个所选对象需要的各种类型
123456public enum StateType{ A, B, C}
然后就要开始写FSM的主体代码
123456789101112131415161718192021222324252627282930313233public class FSM : MonoBehaviour{ private IState ...
学习FSM有限状态机有感
学到了凉鞋大佬的FSM简易写法。
今天在编写2024CUSGA的作品的时候,用到了刚学到的FSM状态机的新的写法,很简单,但是也算是五脏俱全了。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177usin ...
用Hexo框架搭建博客教程
前述首先向大家说明为什么要搭建博客,很多人可能觉得博客没什么用,中看不中用那种,但是其实并不是这样,对于拥有一个个人的博客,最重要的事就是有了一个记录自己的学习路程并且可以方便的给别人展示的地方或者说是平台,无论以后是自己复习知识或者在自己简历上展示都是一个很好的方法,这一篇博客我就来说明自己搭建博客的过程。
在开始之前,我先点明我在搭建博客所用到的教程,希望对你们有所帮助:
博客大佬写的以Next为主题的搭建流程这个是对我帮助的最大的一个教程里面的流程十分清楚,但是可能是四年前的教学,有些对于初学者不太懂的东西没有提到,所以我也花费了很大的功夫才搭成了这个博客。
搭建博客前置工具在开始搭建博客之前,我们需要下载前置的各种软件,我会在下面一一列出:
Node.js
下载地址:https://nodejs.cn/download/
PS:如果以前下载过Node.js的朋友建议去更新一下版本,或者直接安装覆盖,因为之后用Hexo选主题会有很多主题不支持老版本的Node.js会出现很多莫名其妙的错误
可以安装到别的盘,不用非要安装在系统盘。
建议下载长期支持的版本,新的版本可能会有稀奇古怪 ...
我的第一篇博客!
在长达半个月的了解之后我终于搭建起了我的博客!,搭建的上手操作足足用了两天,其实本身的博客搭建并不难,只是在Hexo中的各种主题搭建实在是太掉头发了,我整整推翻重来了四次!
总而言之是采用Hexo、git、Node等工具在GitHub上搭建的博客,太帅了!
之后我会出一个关于博客搭建的教程,给希望搭建博客的人用,希望给他们带来帮助,毕竟我就推翻重来了好多次……