版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 喷色机皮革工业用产品供应链分析
- 带兜帽的风雪大衣产业链招商引资的调研报告
- 可拆卸衣领产业链招商引资的调研报告
- 农村教育产业行业市场调研分析报告
- 手表修理行业市场调研分析报告
- 员工持股计划管理服务行业营销策略方案
- 福建省莆田第二十五中学2024-2025学年高一上学期期中考试生物试题(解析版)
- 废物磁选技术行业营销策略方案
- 为会议中心提供餐饮供应服务行业营销策略方案
- 科学研究用具有人工智能的人形机器人项目营销计划书
- 国开2024年秋《机械制图》形考作业1-4答案
- 大学生生涯发展展示 (修改版)
- 运动安全与健康智慧树知到期末考试答案章节答案2024年浙江大学
- 中国哲学经典著作导读智慧树知到期末考试答案章节答案2024年西安交通大学
- (完整版)四宫格数独题目204道(可直接打印)及空表(一年级数独题练习)
- 2024中国中煤招聘笔试参考题库含答案解析
- 23S519 小型排水构筑物(带书签)
- GA/T 544-2021多道心理测试系统通用技术规范
- 矩阵论知到章节答案智慧树2023年哈尔滨工程大学
- 手机号码归属地数据库
- 个人车位租赁合同电子版
评论
0/150
提交评论