游戏脚本代码大全_引擎入门 | 创建双杆射击游戏(组件 2)

990116e22c21f29c0922a5d8df14c75d.png点击上方“蓝字”关注我们吧!f8a7fef861bd366c1b9811c7653698a3.png

本期我们继续为大家进行双杆射击游戏(组件)的后续教程

学习内容

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上的组件之一。

9fa060a4083780ce6c08fa41171bc349.png

您已经添加了第一个自定义组件!当然,它什么也没做……

您将在短时间内更改它,然后再进行操作,您需要了解Input Manager。

21.Managing Input

输入是游戏的控件,如果您要为台式计算机开发游戏,则用户将希望能够重新绑定键。Unity的输入管理器使此操作变得容易,并且是您的游戏处理用户输入的首选方式。

要访问输入管理器,请单击“Edit\Project Settings\Input.”

检查器将看起来很空。单击“Axes.”一词旁边的 disclosure triangle

1868aea93fa5534195bffbd18c32ac66.png

展开后,您将看到所有可用的预配置输入。

d04e28a8ead469e848ebcabef194f436.png

第一个属性是Size,它是游戏使用的输入数量。您可以减少数量以减少数量,如果需要更多输入,则可以增加数量。当前的输入量足以满足该游戏的需求。

点击Horizontal旁边的disclosure triangle。您可以在此处配置水平轴的输入,即左或右。

d07aa5def88707219473d4514e9889d9.png

以下是关键字段的细分:

Name是Unity给输入的名称。此示例称为“Horizontal”,但您可以将其命名为“ Horizontal”。这也是您在代码中引用的名称,稍后您将看到。

如果Descriptive Name和Negative Name要重映射按键,则它们是在Unity游戏启动器中提供给用户的名称。您可以根据需要禁用Unity游戏启动并提供自己的按键映射界面,因此这些不是必需的属性。+ * 负号和正号按钮是实际使用的键。

Unity允许按钮具有负向或反向键。例如,right箭头键为正,而left箭头键为负。您无需为所有键都提供否定键-为使用操作提供否定键没有任何意义。+ * Alt负键和Alt正键是替代键。在这种情况下,您可以启用A和D键,而不是左右箭头键。

其他领域主要涉及模拟棒的功能。为简单起见,该游戏将仅使用键盘输入。如果您想使游戏成为真正的双棍射击游戏,则可以调整这些选项以创建严格的控制方案。

本期的教学就到这里结束了,我们下期会进行代码的访问和相机设置的教程。

24f449c613a9530676bb8fa5c53367e1.gif

END

db74bd05bcaac5f72112c5d789010535.gif

Unity架构师之路

Unity教程 | 墙外的Unity | 免费资源 | 游戏开发日记

长按关注我们添加微信获取教程源代码

297f4e8d83b7f696b39d0fd700d1ccde.png

(后台回复“源代码”)

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注