【基础 01】游戏物体和脚本
游戏物体和脚本
前排说明:关于本教程目录导航以及说明:猫式教程
本篇任务:创建一个钟表,你将会学到:
使用基本物体创建一个钟表
编写一个C#脚本
通过转动指针来显示时间
为指针做一个动画
这是 Unity 教程的第一篇,在这篇学习中,我们将创建一个简单的时钟并编写一些组件使其显示当前时间。你不需要有任何 Unity 的经验,但是你需要有一定的 Windows 窗口使用能力。
在文章最后我会放出本文原文的 PDF (注:英文原作者的),以及教程项目的仓库(代码仓库)。
本教程使用Unity 2020.3.6f1编写,我采用 Unity 2020.3.38f1c1 来翻译复刻编写。
创建项目开始使用 Unity 之前,你需要先创建一个项目。
新项目当你需要打开 Unity 的时候,需要通过 Unity Hub 启动器来完成 Unity 的版本安装和启动,你可以通过 Unity Hub 来创建或者打开,安装 Unity 等一系列操作。
【如何选择 Unity 版本?】
123Untiy 每年会发布多个新版本,并且有两个并行的发布时间表。分别是:最稳定和最安全的是 LTS 版本。L ...
NAS入门
前言最近在折腾NAS,关于NAS的想法我去年就有了,不过一直执行,其实那个时候我的硬盘空间已经不足了,因为我也算是个蓝光党,于是花费300余¥买了个 1t 的移动硬盘,到我现在购买并调试使用NAS,决定记录相关事宜。
前排提醒:入门NAS需谨慎,这是一个烧钱的东西,第二如果你只希望存储完全不需要购买NAS,买个多硬盘的硬盘阵列盒即可。最重要的一点是NAS需要折腾。
NAS是什么NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。
内容来源:百度百科
用人话来说,你可以把 NAS 看作数据库,你可以将你需要保存的,备份的等只要是计算机数据都可以存储在上面。不过这样来理解 NAS 不是很正确,但是的确可以,相比于把电脑多加快硬盘,NAS 的优势就由凸显出来了。关于电脑多加块硬盘和 NAS 的区别,在 ...
【4.0】依赖项属性
前言在我尝试写一部分 WPF 元素绑定的相关内容的时候,写到开头发现我不得不先解释说明一下依赖项属性的相关内容,遂停止元素绑定内容的记录,补写依赖项属性的相关内容。
理解依赖项属性属性和事件是.NET抽象模型的核心部分,如果你懂得 VB 或者 WinForm 相关开发的话会十分了解这点。但是对于 WPF 来说,它在传统的属性基础上做了一层封装,将它变成了更加高级的依赖项属性。同时也不会和传统的属性发生冲突。
这种更高级的依赖项属性使用了效率更高的保存机制,并支持附加功能,例如:更高通知以及属性值的继承。
依赖项属性是.NET属性的新实现,在 WPF 技术特性中,是及其依赖于依赖项属性的实现,虽然在使用过程中,感觉和普通的属性一致。
定义依赖项属性绝大部分的微软提供的属性都是依赖项属性,但是在某些情况下,我们需要自定义我们自己的依赖项属性,比如我们自定义的控件。
定义依赖项属性需要注意的是:**自定义的依赖项属性的类,必须继承于DependencyObject**,因为后续需要使用该类的方法来修改依赖项属性的值。代码示例:
123456// 自定义了 Test 类,该类继承于 Depen ...
【1.0】初识Mainm
前言我了解到Manim是在去年春夏的时候的事情了,当时沉迷于游戏开发,涉及到3D数学方面的知识,然后就找到了3blue1brown 的相关视频,然后就了解到了他所开发使用的数学动画引擎工具,即Manim。
前排提醒:学习Manim需要一定的Python基础。
关于Manim所能实现的数学动画效果可以查看3blue1brown 的相关视频。
Mainm简述Manim was originally created by Grant Sanderson as a personal project and for use in his YouTube channel, 3Blue1Brown. As his channel gained popularity, many grew to like the style of his animations and wanted to use manim for their own projects. However, as manim was only intended for personal use, it was very difficu ...
【CSharp实例】文件基本操作
前言我记得我之前的博客是写过C#实例相关的文章,但是考虑到过于琐碎,我并没有那么多时间,所以指拿出来文件操作的部分来记录,因为对于程序来说,输入和输出的使用频率和重要性会更高一些。
本篇内容参考自 互联网,哔哩哔哩相关视频,《C#开发实例》以及本人经验
获取文件基本信息获取文件的大小方法说明获取文件大小,需要使用File类的Open方法开打开指定的文件,然后使用FileStream类的Length属性获取文件的长度。
File类的Open方法
File类的Open根据传入的文件路径,获取其FileStream并返回,函数签名如下:
123public static FileStream Open(string path, FileMode mode, FileAccess access, FileShare share);public static FileStream Open(string path, FileMode mode, FileAccess access);public static FileStream Open(string path, FileMode mo ...
Hexo入门(上)
前言在我第二次给网站装修的时候,曾经考虑过使用Hexo,不过那个时候看到人家好看的模板需要一定的网页基础,遂就放弃了,随着我今天发现我的网站似乎CSS的CDN服务停止了,遂打算用Hexo+Github+COS来完成网站的布置和搬迁,这样一来可以剩下一笔费用,而且因为Hexo是纯静态的,所以加载速度也会很快。
以此文章记录和帮助需要帮助的伙伴。
什么是HexoHexo是一个轻量级的博客框架,它是通过生成静态网页来实现网站的建设,因为是HTML形式,所以它的访问速度是很快的,关于Hexo网站可以通过点击访问Hexo官网。
Hexo的搭建环境安装Hexo需要在电脑上安装Node.JS和Git,如果你已经安装了这两个环境,则可以跳过这部分,直接到Hexo的部署。此处安装示例环境为Windows环境,其他系统请自行参考别的文章。
点我访问Node.JS官网,进入官网下载符合自己平台的软件,版本建议使用12.0及以上的版本,可以无脑最新版。
点我访问Git官网,关于Git的安装和使用可以参考我这篇文章Git与GitHub(上),此处不过多赘述
如果以上官网无法访问,可以尝试科学上网或者寻找其 ...
Hexo入门(下)
前言这部分将着手Hexo的一些基本的配置和使用方面,关于Hexo的部署部分可以参考我的上篇文章。
Hexo文件目录Hexo的安装/初始化目录如下图所示,可能部分文件存在不同,不需要担心,只需要关心我框出来的红色的文件部分:
文件/文件夹名
说明
public
我们最后生成的静态博客.html文件会在该目录下存在,如果你并为生成或者使用了hexo clean命令,则该文件夹不存在
scaffolds
模板文件夹,里面存在我们创建文章,分类等初始化的默认内容
source
文章以及一些主要内容的文件夹,该文件夹下的内容会被全部拷贝到生成的public文件夹里
themes
主题文件夹,我们下载使用的主题需要导入到该文件夹中,通过在该文件夹下创建命名为主题名称的文件夹即可
_config.yml
Hexo的配置文件
注:Hexo的配置文件和主题的配置文件不要混淆,如果你使用别人的主题则会存在一个对应的主题的配置文件
配置文件参数
yaml文件的参数填写时一定要在:后加一个空格,再填写参数
在了解了Hexo 的文件目录后,我对一些常 ...
【CSharp高级编程】default和typeof运算符
前言这部分本来应该和泛型一起讨论,考虑到分类问题,遂单独拿出来记录。
default运算符早在C# 1时代,typeof()运算符就已经出现了,它接收一个类型名称作为唯一操作数。C# 2加入了default()运算符,并且略微拓展了typeof()的用途。
default运算符功能比较简单,它是一元运算符,其操作数是类型名或者类型形参,返回值是该类型的默认值。当声明一个字段,但是没有为该字段立刻赋值时,该字段的值就是默认值。如果是引用类型,默认值是一个null引用。如果是非可空值类型,将返回对应类型的”0值”(0,0.0,0.0m,false,UTF-16编码单元的0等);如果是可空值类型则返回类型的null值。
default运算符可以用于类型形参以及提供了类型实参的泛型类型,例如如下都是合法的:
1234default(T)default(int)default(string)default(List<T>)
default运算符返回值的类型与操作数类型一致。**default常与泛型类型形参一起使用**,因为对于非泛型类型可以通过其他方式获取default值。但是对 ...
Git与GitHub(中)
前言这部分将讲述Git相关的基本知识和操作方法。
各种Git命令操作,需要鼠标右键选择,Git Bash here来开始。
基本操作
git init——初始化仓库
要使用Git进行版本管理,必须先初始化仓库。Git是使用git init命令进行初始化的。命令示例:
1git init
如果初始化成功,执行了git init命令的目录下就会生成.git目录。这个目录里存储着管理当前目录内容所需的仓库数据。
.git目录默认隐藏,需要开启查看隐藏文件才可以查看到
在Git中,我们将这个目录的内容称为“附属于该仓库的工作树”。文件的编辑等操作在工作树中进行,然后记录到仓库中,以此管理文件的历史快照。如果想将文件恢复到原先的状态,可以从仓库中调取之前的快照,在工作树中打开。开发者可以通过这种方式来获取以往的文件,具体的操作指令后面会说明。
git status——查看仓库状态
git status命令用于显示Git仓库的状态。
工作树和仓库在被操作的过程中,状态会不断发生变化。在Git操作的过程中,要常看仓库状态。命令示例:
123456$ git statusOn branch ...
Git与GitHub(上)
前言这部分写于寒假,之前学过git一些基本操作,属于学个开始就由于别的事情暂时耽搁了,现在是大三寒假,我决定把它补上。
此处推荐两个网站,一个是git官方的书籍教程,一个是GitHub上比较有名的可视化git教程
玩游戏学习git网站
特别好的git书籍
Git与GitHub简要关于GitHubGitHub作为最大的同性交友网站(雾),**GitHub为开发者提供Git仓库的托管服务,可以让开发者及其相关人员共享代码的场所**。可以暂时通俗理解为代码的仓库。
关于GitGit属于分散型版本管理系统,是为版本管理而设计的软件。
Linux的创始人Linus Torvalds在2005年开发了Git的原型程序,当时是为了更好的维护Linux系统。
关于这里有一个故事:一开始Linux之父是个人在开源做Linux,随着参与项目的人越来越多,Linux项目越来越复杂,Linux之父不得不在代码整理,纠错,审核,检查,发布的过程中耗费大量的时间,这样就严重影响了开发,于使Linux之父使用了当时的版本管理系统,虽然这样解决相关问题,当时由于技术宅的爱好,就把提供Linux之父版本控制厂商研发 ...