游戏脚本代码大全_引擎入门 | 创建双杆射击游戏(组件 2)
本期我们继续为大家进行双杆射击游戏(组件)的后续教程
学习内容
18.脚本介绍
19.为什么不用JavaScript?
20.创建第一个脚本
21.Managing Input
文章末尾可免费获取教程源代码
本篇制作双杆射击游戏(组件)篇幅较长,分为五篇,本篇为第二篇,还未看过第一篇的【请点击这里】
18.脚本介绍
对于非程序员来说,脚本充其量只是进入的一个小障碍。最糟糕的是,脚本编写是永无休止的魔鬼。
来自艺术背景,我可以说脚本编写并不像您想象的那么难。像其他任何东西一样,只需要一些时间和耐心就可以了解其工作原理。
在本教程中,您将使用C#编写脚本,C#是Microsoft开发的一种流行语言,适用于移动和桌面应用程序。它功能丰富且功能全面。
但可惜的是关于C#语言,我们在这里不做教学。
如果您是编程的初学者,请务必首先确认一下自己的掌握程度。如果您是一位经验丰富的开发人员,或者是一位特别勇敢的初学者,请随时继续学习,因为本教程中的所有内容都是分步进行的;如果没有C#知识,你在学习本教程时理解可能会有一些困难。
19.为什么不用JavaScript?
过去,Unity附带了Javascript和称为Boo的python变体。大多数开发人员都使用C#,因此在2017年,不再支持Javascript。Boo在几年前就被放弃了。现在,所有脚本都完全在C#中完成。
您可能会遇到参考Javascript的教程,但是您甚至无法在编辑器中创建Javascript文件。这是一件好事,因为Unity一直专注于C#实现,并将其更新为该语言的近代版本。
C#可能需要花费一些时间来学习,但是您可以在Unity之外利用这些编程技能。例如,如果您发现自己不喜欢游戏开发(或过着艰难的生活)却喜欢这种语言,则可以将这些技能转换为C#开发工作,创建桌面或移动应用程序,甚至开发后端服务器应用程序。
编码在Unity中的工作方式是创建 scripts。脚本只是您附加到GameObjects上的另一种类型的组件,您可以为其编写代码。
脚本派生自名为MonoBehaviour的类,您可以重写一些方法以在发生某些事件时得到通知:
1 Update():此事件在每一帧发生。如果您的游戏以每秒60帧的速度运行,Update()则称为60次。不用说,您不想使用此方法进行任何繁重的处理。
2 OnEnable():在启用GameObject以及不活动的GameObject突然重新激活时调用。通常,当您一段时间不需要GameObjects时将其停用,但稍后需要使用它们。
3 Start():在脚本的生存期内且在调用Update()之前调用一次。这是设置和初始化的好地方。
4 Destroy():这在对象来世至游戏对象来世之前被调用。这是进行清理的好地方,例如关闭网络连接。
在本教程中,您还将发现许多其他事件。要查看完整的清单,请访问Unity网站上的参考资料:https://docs.unity3d.com/ScriptReference/MonoBehaviour.html
20.创建第一个脚本
好戏开场了!
您可以使用许多选项来创建脚本。您可以单击“Add Component”按钮,然后选择“New Script”
但是,我希望您这样尝试:在“ Project Browser”中选择“ Scripts”文件夹,然后单击“ Create”按钮。从下拉菜单中选择C# Script,并将其命名为PlayerController。
您会在Scripts文件夹中看到新脚本。将其从Scripts文件夹拖到SpaceMarine GameObject上。
现在,您应该看到该脚本被列为Hierarchy中SpaceMarine GameObject上的组件之一。
您已经添加了第一个自定义组件!当然,它什么也没做……
您将在短时间内更改它,然后再进行操作,您需要了解Input Manager。
21.Managing Input
输入是游戏的控件,如果您要为台式计算机开发游戏,则用户将希望能够重新绑定键。Unity的输入管理器使此操作变得容易,并且是您的游戏处理用户输入的首选方式。
要访问输入管理器,请单击“Edit\Project Settings\Input.”
检查器将看起来很空。单击“Axes.”一词旁边的 disclosure triangle
展开后,您将看到所有可用的预配置输入。
第一个属性是Size,它是游戏使用的输入数量。您可以减少数量以减少数量,如果需要更多输入,则可以增加数量。当前的输入量足以满足该游戏的需求。
点击Horizontal旁边的disclosure triangle。您可以在此处配置水平轴的输入,即左或右。
以下是关键字段的细分:
Name是Unity给输入的名称。此示例称为“Horizontal”,但您可以将其命名为“ Horizontal”。这也是您在代码中引用的名称,稍后您将看到。
如果Descriptive Name和Negative Name要重映射按键,则它们是在Unity游戏启动器中提供给用户的名称。您可以根据需要禁用Unity游戏启动并提供自己的按键映射界面,因此这些不是必需的属性。+ * 负号和正号按钮是实际使用的键。
Unity允许按钮具有负向或反向键。例如,right箭头键为正,而left箭头键为负。您无需为所有键都提供否定键-为使用操作提供否定键没有任何意义。+ * Alt负键和Alt正键是替代键。在这种情况下,您可以启用A和D键,而不是左右箭头键。
其他领域主要涉及模拟棒的功能。为简单起见,该游戏将仅使用键盘输入。如果您想使游戏成为真正的双棍射击游戏,则可以调整这些选项以创建严格的控制方案。
本期的教学就到这里结束了,我们下期会进行代码的访问和相机设置的教程。
END
Unity架构师之路
Unity教程 | 墙外的Unity | 免费资源 | 游戏开发日记
长按关注我们添加微信获取教程源代码
(后台回复“源代码”)
游戏脚本代码大全_引擎入门 | 创建双杆射击游戏(组件 2)相关推荐
- unity太空射击源码_引擎入门 | 创建双杆射击游戏(入门 2)
点击上方"蓝字"关注我们吧! 本期我们继续为大家进行双杆射击游戏的后续教程 学习内容 3.整理资产 4.导入资产 5.安装 Blender 6.导入包 文章末尾可免费获取教程源代码 ...
- 游戏脚本代码大全_代码与程序的关系是这样的
很多人都明白代码的意思,但真正的含义还不是太理解,那么专业的代码解释是什么呢?其实它就是服务器所解析的语言,也就是说服务器将代码翻译成源代码. 代码也可以看成是程序的片段,代码可能只有一行,也有可能有 ...
- auto.js 脚本代码大全_本周 GitHub 速览:您的代码有声儿吗?(Vol.38)
作者:HelloGitHub-小鱼干 摘要:还记得花式夸赞程序员的彩虹屁插件 vscode-rainbow-fart 吗?它后续有人啦!JazzIt 同它的前辈 vscode-rainbow-fart ...
- python爬图片代码大全_爬虫入门教程⑩— 用漂亮的图表展示爬取到的数据
经过了前面的努力,我们成功获取到了数据,并且学会了保存,但是只是用网页展示出来,是不是有一些不够美观呢? 所以本节的内容是:数据的可视化.拿到了数据却不能使其简单易懂并且足够突出,那就是不是好的数据工 ...
- python做游戏脚本被监测_一个监视CSDN论坛押宝游戏状态的python脚本
# -*- encoding:UTF-8 -*- #以指定的时间间隔获取CSDN押宝游戏的结果 #网址:http://community.csdn.net/Games/GamePawn.aspx?id ...
- C 修改服务器代码,rpg c 游戏服务器代码大全
rpg c 游戏服务器代码大全 内容精选 换一换 香港节点和大陆节点的区别如下:香港节点购买域名后无需备案,可以直接在后台绑定域名并使用.大陆节点购买域名后需要先完成备案,才可以在后台绑定域名.香港节 ...
- FLASH脚本代码大全转
FLASH脚本代码大全 - Go to 跳转到指定的帧 - Play 播放 - Stop 停止 - Toggle High Quality 在高画质和低画质间切换 - Stop All Sounds ...
- 锁定计算机按键精灵运行,最新按键精灵脚本代码大全 按键精灵命令运行方法...
按键精灵脚本代码命令运行大全.按键精灵的鼠标动作录制是一项非常好用的功能,但因为鼠标点击的地方是固定死板的,且延迟时间无法调整,如果在后台脚本中添加一些专用代码,就可以调整点击频率和点击时间,甚至可以 ...
- Games104现代游戏引擎入门-lecture3如何构建一个游戏世界
Games104现代游戏引擎入门-lecture3如何构建一个游戏世界 1 游戏世界的构成 2 无人机案例 3 游戏世界如何动起来 4 如何探索 5 如何管理GO 6 总结 7 Q&A 1 游 ...
最新文章
- ORACLE 10g 数据库体系结构图
- Linux 系统学习梳理_【All】
- c语言冒泡排序(解析)
- Typora 快捷键
- webpack打包生成的map文件_一站式搞明白webpack中的代码分割
- win7系统怎么拷贝到u盘_Win7系统电脑无法识别U盘启动盘怎么办?
- 用java写四则混合运算,JAVA写的四则混合运算-JSP教程,Java技巧及代码
- ElasticSearch D3
- 3个月贵了1.6万!特斯拉Model 3今年已涨价6次
- python是什么意思中文、好学吗-爬虫Python入门好学吗?学什么?
- Spring Boot 整合 Kafka 分布式消息系统快速入门
- java读取properties文件详解
- 北京计算机应用基础考试时间,07年北京市自学考试计算机应用基础课周末开考...
- 精简win服务器系统,My Server之管理Win Server 2012精简版
- html表格中加入斜线,使用css给table表格表头添加斜线(斜线表格)
- python气象学_Python气象绘图教程(十)
- 云脉H5文档管理系统之文件管理的共享与协作
- 基于STM32的RFID监控系统设计
- 小白如何选择采集器-爬虫
- 服务器cpu型号后面的字母,Intel 至强 E3服务器CPU后缀解读