版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.第3章
C#脚本编程
3.1C#脚本语言基础
.目录.6.
Input输入
.2.第一个脚本游戏
.3.
MonoBehaviour类
.4.
GameObject类
.5.Transform类
.1
.脚本编辑器
1.
脚本编辑器
可登录VisualStudio的官网,选择VisualStudio2019Community版进行下载、安装。VisualStudio安装完成后,在Unity编辑器的菜单栏中选择“Edit”>“Preferences”,选择“ExternalTools”,在“ExternalScriptEditor”下拉列表框中将脚本编辑器设为VisualStudio2019(Community),如图所示。这样,在Unity中双击脚本文件,即可直接打开VisualStudio2019软件,编写脚本。2.
第一个脚本游戏
在Unity中,开发者编写的每一个脚本都被视为一个自定义组件(Component),可通过AddComponent的方式将脚本添加到游戏对象中。
用Unity完成第一个脚本程序:
(1)启动Unity,新建项目,在Hierarchy面板中创建一个新的游戏对象Cube;(2)在Project面板中右键单击,在弹出的快捷菜单中选择“Create”>“Folder”,创建一个Scripts文件夹来管理项目中创建的脚本;(3)Project面板中右键单击,弹出的快捷菜单中选择“Create”>“C#Script”,在Assets/Scripts文件夹下创建一个新的脚本,默认名称为NewBehaviourScript.cs,将其重命名为Pratise1.cs;(4)双击Pratice1.cs脚本文件,打开VisualStudio编译器,如图所示;(5)在Start()函数中添加一行语句,然后保存脚本;
Debug.Log("TheFisrtProgram");(6)回到Unity编辑器,将Pratise1.cs脚本拖曳到Hierarchy面板的Cube对象上,也可直接将其拖曳到Cube对象的Inspector面板中;(7)单击运行按钮,可以看到Console面板中出现输出信息3.
MonoBehaviour类
MonoBehaviour类是Unity中所有脚本的基类,所有脚本类均需要从它直接或间接继承,定义了基本的脚本行为,还定义了对各种特定事件(如模型碰撞、鼠标移动)的响应方法。
几个常用的必然事件函数:
Awake():脚本唤醒函数,脚本实例在创建时立刻调用,早于Start()调用;
Start():只在脚本实例被启用时调用,位于Awake()函数之后,在第一次Update()函数执行前调用,通常用于游戏对象的初始化;
Update():每帧刷新时调用一次,用于更新游戏场景和状态,大部分游戏代码写在此函数中;若游戏以每秒60帧的速度运行,则Update()将被调用60次;
FixedUpdate():固定更新函数,每个固定物理时间间隔调用一次,用于对象物理状态的更新;
LateUpdate():延迟更新函数,每帧调用一次,在Update()之后,用于调整脚本执行顺序,与相机有关的更新一般放在此函数中。4.GameObject类
GameObject类是Unity场景里面所有实体的基类。Unity中的所有实体都是游戏对象,如Unity自带的球体、正方体等各种物体以及场景中使用的模型等。常用属性有:
transform:附属于此游戏对象上的Transform组件。;
tag:游戏对象的标签;常用的静态函数有:
GameObject.CreatePrimitive():创建一个带有基本网格渲染器和相应碰撞器的游戏对象;
GameObject.Find():查找并返回指定名称的游戏对象,若此游戏对象没有被找到,则返回空。;
GameObject.FindWithTag():查找一个用tag做标识的活动的游戏对象,如果没有找到则为空。 GameObject.Instantiate():克隆游戏对象并返回克隆对象。常用函数: gameObject.GetComponent():获取指定的组件,如果没有则为空 gamObject.AddComponent():添加一个组件到游戏对象 gameObject.SetActive():激活或停用此游戏对象5.Transform类
在Unity场景中的每一个游戏对象都有Transform组件,用于储存并操控物体的位置Position、旋转Rotation和缩放Scale。获取游戏对象的位置:
transform.position:获得物体在世界坐标系中的三维坐标值,保存在对象Vector3(x,y,z)中。
Vector3.right:表示X轴正方向,相当于Vector3(1,0,0);
Vector3.up:表示Y轴正方向,相当于Vector(0,1,0);
Vector.forward:表示Z轴正方向,相当于Vector3(0,0,1)。移动游戏对象:
transform.Translate(Vector3offset):将游戏对象按指定方向和距离移动。
相当于transform.position=transform.position+offset。
transform.Translate(Vector3,Space):Space代表坐标系,其中可使用Space.Self表示自身体系、Space.World表示世界体系。若Space省略不写,则是指Space.Self。缩放游戏对象:
Transform.localScale:自身缩放旋转游戏对象
transform.Rotate():游戏对象按指定的欧拉角旋转、自转;
transform.RotateAround(point,axis,angle):游戏对象围绕某个点旋转。6. Input输入类
Input是输入系统的接口,使用Input类能够读取输入管理器设置的按键,以及访问移动设备的多点触控或加速感应数据。获取鼠标操作信息的常用函数:
Input.GetMouseButton():获取鼠标按键状态,返回true或false;当指定的鼠标按键被按下时返回true,其中0对应鼠标左键,1对应鼠标右键,2对应鼠标中键。。
Input.GetMouseButtonDown():获取鼠标按键按下状态,当用户按下指定鼠标按键时的那一帧返回true。
Input.GetMouseButtonUp():获取鼠标按键弹起状态,当用户释放指定鼠标按键时的那一帧返回true。获取键盘按键信息的常用函数:
Input.GetKey():获取键盘按键状态,当指定的键盘按键被用户按住时返回true。
Input.GetKeyDown():获取键盘按键按下信息,当用户按下指定名称的按键时的那一帧返回true。
Input
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电池短路试验机爆炸仓泄压安全技术规范
- 技术创新驱动新质生产力跃迁的战略架构设计
- 高碳产业公正转型的金融支持路径与挑战分析
- 2026年江苏省如皋市高考物理5月学情自测模拟卷附答案详解【满分必刷】
- 2025年河南省义马市高考物理二模试卷附参考答案详解(研优卷)
- 2025年山西省河津市高考物理真题汇编模拟卷附答案详解【综合题】
- 2025年广东省普宁市高考物理5月学情自测考试卷带答案详解(A卷)
- 2026年四川省峨眉山市高考物理二轮专题考试卷及答案详解(历年真题)
- 2025年吉林省榆树市高考物理一轮复习测试卷及答案详解【夺冠系列】
- 2025年吉林省舒兰市高考物理强基计划试卷【原创题】附答案详解
- 2026年湖北省中考语文试卷(含答案)
- 2026年快开门式压力容器R1证理论全国考试题库(含答案)
- 河南省南阳市六校2025-2026学年高二下学期6月检测英语试卷
- 中国肺功能检查指南2025版
- 2026年一二三四季度思想汇报三篇
- 四川省字节精准教育联盟2026年普通高中学业水平选择性考试冲刺试题 生物+答案
- 应届生考公优势与备考时间线全攻略
- 2026年贵州省初中学业水平考试数学试卷试题(含答案详解)
- 2025 年度上市公司控制权交易市场年鉴
- 2026年湖北孝感市初二学业水平地生会考考试真题及答案
- 福建农林大学《公司理财》2025-2026学年期末试卷
评论
0/150
提交评论