6. unity之脚本
创始人
2024-05-29 03:51:51
0

1. 说明

当整个游戏运行起来之后,我们无法再借助鼠标来控制物体,此时可以使用脚本来更改物体的各种姿态,驱动游戏的整体运动逻辑。

2. 脚本添加

首先在Assets目录中,新创建一个Scripts文件夹,在该文件内右键鼠标选择创建脚本选项,即可创建一个脚本文件,可命名为SampleLogic,如下图:
在这里插入图片描述
然后,鼠标双击创建的脚本文件,即可使用visual studio打开文件,在其中进行代码编辑,简单加入一行代码:
在这里插入图片描述
最后,需要将这个脚本文件挂载到物体模型上,也就是当成一个组件添加到物体本身,相当于给这个脚本一个寄宿的载体。选择一个物体,在其右侧属性窗口的最下侧,直接将脚本拖放过去,如下图:
在这里插入图片描述
拖放成功后,会发现在其属性组件中,会多一个Script组件,当然,也可以使用Add Component为物体添加脚本文件,如下图:
在这里插入图片描述
点击Scene窗口上方的运行按钮后,即可运行游戏,同时脚本也会被运行,再次点击此按钮,会结束运行,如下图:
C#脚本文件名必须和类名保持一致,否则无法挂载到物体上,若要修改类名,需要在Visual Studio中对类名进行修改。
在这里插入图片描述

3. 脚本中获取当前物体

若想通过脚本挂载方式控制当前物体的运动,那么需要在脚本中先获取到这个物体,然后再写代码对这个物体的相关属性进行设置,可以使用gameObject来获取,详见代码注释:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class SampleLogic : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){Debug.Log("** 开始测试.... **");GameObject obj = this.gameObject;//获取当前物体本身(this代表当前脚本组件)string name = this.gameObject.name;//获取当前物体的名称Debug.Log("当前物体名称为:" + name);Transform tr = this.gameObject.transform;//获取当前物体的transform组件Vector3 vec = tr.position;//获取当前物体的坐标float posX = tr.position.x;//获取当前物体的x坐标值float posY = tr.position.y;//获取当前物体的y坐标值float posZ = tr.position.z;//获取当前物体的z坐标值Debug.Log("物体当前坐标为:" + vec + " " + "X:" + posX + "Y:" + posY + "Z:" + posZ);}// Update is called once per framevoid Update(){}
}

4. 物体坐标

transform.position --> 世界坐标
transform.localPosition --> 本地坐标***(一般使用这个)***,localPosition的值就是在属性窗口中设置的值
一般获取物体的坐标有两种方式:
①:this.gameObject.transform.position
②:this.transform.position(简化版)
对物体的坐标进行设置:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class SampleLogic : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){this.transform.position = new Vector3(1.0f, 1.5f, 1.0f);}// Update is called once per framevoid Update(){}
}

5. 脚本解释

从上面的代码中可以看到,一个脚本包含两个基本的函数,一个是***start()函数,一个是update()***函数
start():游戏运行起来后,此函数只执行一次,就是游戏刚启动时被执行
update():游戏运行后,每更新一下画面,该函数就会被执行一次。可以为unity设置帧率,让其以一定的速率更新画面

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class SampleLogic : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){Application.targetFrameRate = 60;//设定帧更新速率}// Update is called once per framevoid Update(){}
}

持续更新中,请大家多多关注…

相关内容

热门资讯

态度决定人生的高度高考作文(... 态度决定人生的高度高考作文 篇一人生的高度是由我们的态度决定的。一个积极向上的态度可以帮助我们克服困...
北京历年高考满分作文汇总(优... 北京历年高考满分作文汇总 篇一近年来,北京高考满分作文题目多样化,涵盖了社会热点、时事热点以及个人成...
江苏语文高考优秀作文(实用6... 江苏语文高考优秀作文 篇一:《乡愁》乡愁,是一种特殊而深沉的情感,它牵动着每个人心中最柔软的地方。对...
英语必背范文小升初高考【精彩... 英语必背范文小升初高考 篇一The Importance of Learning EnglishEn...
高考作文自强人生素材(通用3... 高考作文自强人生素材 篇一自强人生,成就未来自强是一种内在的力量,是一种奋斗的精神。在高考这个重要的...
关于全国各地高考成绩的分段表... 关于全国各地高考成绩的分段表 篇一高考成绩一直是衡量学生学业成就的重要指标,也是升学选拔的重要依据。...
福建高考作文题目【优选3篇】 福建高考作文题目 篇一:探索未来的新科技随着科技的日新月异,我们的生活也发生了翻天覆地的变化。现在,...
语文高考押题范文大全(优选6... 语文高考押题范文大全 篇一《荷塘月色》:描写自然与人性的和谐共生《荷塘月色》是郁达夫先生的一篇小说,...
广东高考优秀作文:学会选择(... 广东高考优秀作文:学会选择 篇一学会选择人生中充满了各种各样的选择,而我们所做的每一个选择都会对我们...
高考全国语文作文(优秀6篇) 高考全国语文作文 篇一:人与自然的和谐人类与自然是一个紧密相连的整体,而人与自然的和谐关系是人类永续...
静观其变,智慧人生作文(优选... 静观其变,智慧人生作文 篇一人生如同一场不断变化的旅程,我们始终处于不断变化的环境中。只有学会静观其...
高考满分作文:古来圣贤皆寂寞... 高考满分作文:古来圣贤皆寂寞 篇一古来圣贤皆寂寞,这句话给了我很多的思考。我曾经认为,圣贤是那些具有...
各年份福建职高高考作文(最新... 各年份福建职高高考作文 篇一追求梦想,拥抱未来近年来,福建职业高中高考逐渐走上了舞台中央,成为广大学...
高考真题作文参考【经典3篇】 高考真题作文参考 篇一标题:社交媒体对青少年的影响社交媒体已成为现代社会中不可或缺的部分,尤其是对于...
向上人生路高考满分作文(最新... 向上人生路高考满分作文 篇一走向成功的人生之路人生是一条曲折而又漫长的道路,而高考则是我们人生中的一...
高考作文素材:海伦·凯勒【经... 高考作文素材:海伦·凯勒 篇一海伦·凯勒,一位聋哑盲女,她的坚强与勇敢感动了世界。她的故事是一部感人...
高考作文写作公式范文(实用6... 高考作文写作公式范文 篇一如何正确运用写作公式提高高考作文水平高考作文是每个考生都需要面对的一项重要...
2022年全国新高考I卷高考... 2022年全国新高考I卷高考作文 篇一标题:新高考下的高中生压力与应对 2022年全国新高考I卷高考...
众多网友反对异地高考加分(通... 众多网友反对异地高考加分 篇一随着高考制度的不断改革和完善,异地高考逐渐成为一种常见的考试方式。在异...
历代高考语文优秀作文范文(精... 历代高考语文优秀作文范文 篇一题目:《坚持》作文开头:在人生的道路上,坚持是一种无法替代的品质。它有...