【unity游戏入门】2 使用代码编写Hello Unity游戏
作者 罗芭Remoo
2021年9月24日
第一章、许可证的安装
下载好Unity之后,我们还需要一个前置操作才可以进入Unity引擎----许可证。
当然不用担心,Unity是一个开放的引擎,一切以学习为目的的使用Unity都是完全免费的。
官方网站中说道,过去12个月整体财务规模未超过10万美金的个人用户可以使用Unity Personal。
也就是说,没超过10万美金的个人用户是完全免费试用Unity
在Unity Hub中,注册登录Unity帐号之后,点击右上角的用户头像,找到管理许可证。

依次选择:Unity个人版-我不以专业身份使用Unity,然后点击完成按钮。

第二章、在Unity中的一系列配置
第一节,创建项目

如左图,
打开UnityHub,在项目中新建一个工程文件
依次点击1-项目、2-新建、3-2D项目
4-项目名称随意输入,这里罗芭输入了 Hello Unity
5-项目地址自行安排
注:
另外PSCM随意勾选,暂不用理会。
最后点创建,等待一段时间即进入主界面。
注意如果创建的时候出现
这样的错误,就代表第一章出现了问题,请重新注册许可证!
第二节,配置vs2019为默认代码编辑器

看到这个界面,则代表上面的操作都成功了。
接下来,依次点击:Edit-Preferences-External Tools


将External Tools中的External Scripts Editor选择为Microsoft Visual Studio 2019,你会看到下面有一个小小的提示:Enable,则代表成功了。
另一个查看是否成功的办法就是打开Unity的脚本时VS有没有代码提示,这个方法在下一章会有涉及。
第三章、创建脚本,在Debug窗口输出Hello Unity
第一节、创建脚本的两种方法,并绑定到游戏物体中
1、方法一:在Hierarchy窗口中新建GameObject,再通过Add Component添加代码组件

如上图所示,右键Hierarchy窗口,选择Create Empty。
意思是在游戏场景SampleScene中创建一个游戏空物体
创建完毕之后,可以在Inspector属性页面中设置关于你的游戏物品的一切属性,包括Position(位置)、Rotation(旋转角度)、Scale(大小缩放)等等。
我们点击Add Component(添加组件),搜索Scripts,命名为HelloUnity(注意不能输入空格等等)。如下图所示。

创建完之后我们就会看到一个Scripts(代码组件)添加到了我们的GameObject(游戏物体)上。如下图所示。

至此,一个关于GameObject游戏物体的代码组件就创建好了,我们只需要编写这个c#脚本,就可以通过代码控制到我们的游戏了。
2、方法二:在Project窗口中直接新建Scripts
其实我们会发现,通过方法一创建的脚本文件会显示在Project窗口中的Assets文件夹中。
我们也可以自己在这里右键新建Scripts。

默认新建的名字是NewBehaviourScript。

此时有一个问题,我们怎么添加到实际游戏当中呢?
我们首先在Hierarchy窗口中点击我们的GameObject,然后在Inspector属性页中看到详细信息,此时我们只需要把NewBehaviourScript拖拽到这里就可以了。
如下动图演示。

至此,我们就将两个代码文件(代码组件)添加到了游戏物体中。
第二节、编写代码,在屏幕中输出Hello Unity
我们在Hierarchy里选中GameObject,然后在Inspector窗口中双击HelloUnity

然后在代码编辑框中的Start()函数中键入以下代码:
Debug.Log("Hello Unity");
然后按下Ctrl+s保存(非常重要!!!养成习惯)
保存后代码左侧会有绿色的代码块提示,没保存的则是黄色。

回到Unity,重载代码之后,我们就可以开始游戏了!
点击Unity上方中部的播放按钮:

然后我们可以在调试输出窗口中看到Hello Unity了!
调试结果:

【unity游戏入门】2 使用代码编写Hello Unity游戏的更多相关文章
- unity入门—五分钟制作一个理论上的游戏
unity入门 前言:这可不是标题党,虽然都是基础的操作,不过含括了基本的流程,比起脑海中的五花八门的画面,入门还是这个现实一点. 这里插两句,unity国外官网下载会推荐你看一个简短的视频,国内官网 ...
- 分享:使用 TypeScript 编写的 JavaScript 游戏代码
<上篇博客>我写出了我一直期望的 JavaScript 大型程序的开发模式,以及 TS(TypeScript) 的一些优势.博客完成之后,我又花了一天时间试用 TS,用它来重构之前编写的一 ...
- 小代码编写神器:LINQPad 使用入门
原文:小代码编写神器:LINQPad 使用入门 一:概述 1:想查看程序运行结果,又不想启动 VS 怎么办? 2:想测试下自己的 C# 能力,不使用 VS 的智能感知,怎么办? 那么,我们有一个选择, ...
- 【unity游戏入门】1 环境安装
作者 罗芭Remoo 2021年9月24日 这一个系列随笔记录如何使用unity引擎从零开始开发游戏,软件版本均使用最新版本 有关unity的背景介绍可以通过unity官网https://unity. ...
- Unity引擎入门——制作第一个2D游戏(1)
Unity作为当今最流行的游戏引擎之一,受到各大厂商的喜爱. 像是炉石传说,以及最近的逃离塔克夫,都是由unity引擎开发制作. 作为初学者的我们,虽然无法直接做出完成度那么高的作品,但每一个伟大的目 ...
- 另类Unity热更新大法:代码注入式补丁热更新
对老项目进行热更新 项目用纯C#开发的? 眼看Unity引擎热火朝天,无数程序猿加入到了Unity开发的大本营. 一些老项目,在当时ulua/slua还不如今天那样的成熟,因此他们选择了全c#开发:也 ...
- Unity Shader入门精要读书笔记(一)序章
本系列的博文是笔者读<Unity Shader入门精要>的读书笔记,这本书的章节框架是: 第一章:着手准备. 第二章:GPU流水线. 第三章:Shader基本语法. 第四章:Shader数 ...
- C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例
C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判 ...
- C#开发Unity游戏教程循环遍历做出推断及Unity游戏演示样例
C#开发Unity游戏教程循环遍历做出推断及Unity游戏演示样例 Unity中循环遍历每一个数据,并做出推断 非常多时候.游戏在玩家做出推断以后.游戏程序会遍历玩家身上大量的所需数据,然后做出推断. ...
随机推荐
- 关于VHDL中case语句多执行语句的书写方式(转载stackoverflow.com并做翻译汇总)
很多国内的教材对于case语句的讲解非常单一,比如: 1 [标号:]CASE 多值表达式 IS 2 WHEN 选择值 => 被赋值变量 <=赋值变量: 3 WHEN 选择值 => 被 ...
- opencv-python获取视频信息
代码 import cv2 if __name__ == '__main__': # 读取视频 capture = cv2.VideoCapture('./videos/person.mp4') # ...
- 安装ImageMagick7.1库以及php的Imagick扩展
由于ImageMagick7以下不支持heic等图片格式,所以重新安装了ImageMagick7.1版本支持heic格式,并写此文章记录一下. 如果安装过程中遇到一些未知的错误,https://ima ...
- Leetcode----<Diving Board LCCI>
题解如下: public class DivingBoardLCCI { /** * 暴力解法,遍历每一种可能性 时间复杂度:O(2*N) * @param shorter * @param long ...
- openGauss内核:SQL解析过程分析
摘要:在传统数据库中SQL引擎一般指对用户输入的SQL语句进行解析.优化的软件模块.SQL的解析过程主要分为:词法.语法和语义分析. 本文分享自华为云社区< openGauss内核分析(三):S ...
- 互联网研发效能之去哪儿网(Qunar)核心领域DevOps落地实践
本文从业务目标角度出发,确定了开源+自建模式搭建 Qunar 研发工具链整体生态:通过 APPCODE 打通工具链,流程规范化自动化:多种手段+发布门禁助力质量提升:建立应用画像确定运维最小单元,可发 ...
- treap(大根堆)模板
大根堆与小根堆性质相比简单很多,不用加特判 直接上代码: //treap(大根堆性质) #include<bits/stdc++.h> #define rint register int ...
- Mybatis源码解读-插件
插件允许对Mybatis的四大对象(Executor.ParameterHandler.ResultSetHandler.StatementHandler)进行拦截 问题 Mybatis插件的注册顺序 ...
- PHP小工具
防SQL注入 function clean($input) { if (is_array($input)) { foreach ($input as $key => $val) { $outpu ...
- Vue3:不常用的Composition API && Fragment、Teleport、Suspense && 与Vue2对比的一些变化
1 # 一.Vue3不常用的Composition API 2 # 1.shallowReactive与shallowRef 3 .shallowReactive: 只处理对象最外层属性的响应式(浅响 ...