Unity3D-C#脚本介绍

Unity3D脚本介绍

脚本就是附加在游戏物体上用于定义游戏对象行为的指令代码。Unity支持C#高级编程语言。

1.语法结构
using 命名空间;
public class 类名:Monobehaviour
{void 方法名(){Debug.Log("调试信息.");print("调用Debug.Log()方法.");}
}
  • 文件名与类名必须一致。
  • 写好的脚本附加到物体上才能执行。
  • 附加到物体的脚本类必须从MonoBehaviour类继承
2.创建脚本

1.右键–>Create–>C# Script,即可创建脚本,然后使用双击文件,使用编程工具打开,即可编写代码。生成代码如下,若start和Update不需要使用,应该删除然后在编写代码。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class g_demo : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}
}
3.脚本生命周期

1.编写代码如下,将该文件拖拽待摄像机上,效果如下。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class g_demo : MonoBehaviour
{public int a = 10;private int b = 20;
}

在这里插入图片描述
2.通过上述修改a的值为a=100,则a的值为该面板中的值,即上述效果其实是创建了一个对象。若需要在面板中显示private修饰的b的值,需要添加修饰字段 [SerializeField] ,它允许在编辑器中显示私有变量。
在这里插入图片描述
3.隐藏变量
添加 [HideInspector]字段 修饰。

4.对于写继承至MonoBehaviour的脚本文件,只需要写字段和方法。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class g_demo : MonoBehaviour
{public int a = 10;[SerializeField]private int b = 20;[HideInInspector]public int c = 10;[Range(0, 100)]public int r;/** 属性:在编辑器不能显示,通常脚本中不需要写。* 构造函数也不需要写,在Unity中,创建脚本对象,系统会创建子线程,而在构造函数中初始化,会出现无法访问主线程的资源(Unity脚本对象)而出错。* 在Unity中,脚本是以一个对象的形式存在的,与代码无关了。* 在脚本中,只需要写字段和方法。*/public int a_Value{get { return this.a; }set { this.a = value; }}
}

显示的效果
在这里插入图片描述

4.初始化
  • Awake唤醒:当物体载入时,立即调用一次,常用于游戏开始前的初始化可以判断当满足某种条件执行此脚本this.enable=true。
  • OnEnable当可用:每当脚本对象启动时调用;
  • Start开始:物体载入且脚本对象启用时被调用一次。常用于数据或游戏逻辑初始化,执行时机晚于Awake。
  • 如下启用脚本。
    在这里插入图片描述
    /*******************初始化**********************/private  void Awake(){Debug.Log("Awake-->" + Time.time+this.name);}private void Start(){Debug.Log("Start-->" + Time.time + this.name);}

在这里插入图片描述
若某对象A需要在对象B后执行初始化,则可以把B对象的写在Awake里,A写在Start里面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JConsole连接远程linux服务器配置

1.在远程机的tomcat的catalina.sh中加入配置 (catalina.sh路径在tomcat/bin下面 如/usr/local/tomcat/bin) 1 if [ "$1" "start" ];then 2 JAVA_OPTS"$JAVA_OPTS -Djava.rmi.server.hostname192.168.10.98 -Dcom.sun.management.jmxremote"…

缺缺缺!IoT行业的“芯”选择是什么?

来源:北京物联网智能技术应用协会“最初,没有人在意这场灾难,直到这场灾难和每个人息息相关。”这是电影《流浪地球》的开头,预示着一场即将来临的危机。如今,这句话正在现实中应验,不过,这次遭…

Unity3D-相关函数功能

函数功能 1.每隔固定时间执行一次,时间间隔固定(0.02s),时间间隔可以修改。 适用性:适合对物体作移动,旋转等物理操作。 函数执行不受渲染影响。 private void FixedUpdate() {Debug.Log(Time.time); }设置更新频率&…

JMeter4.0以上 分布式测试报错 server failed start Listen failed on port

使用JMeter4.0做分布式测试的是否,我的电脑作为肉鸡(执行机),双击jmeter-server.bat后显示失败 Found ApacheJMeter_core.jarUsing local port: 1888Server failed to start: java.rmi.server.ExportException: Listen failed on …

Unity-基本函数用法

1.常用组件 组件作用Transform存储个处理游戏对象的位置、旋转和缩放Mesh Filter显示网格Rigidbody刚体,使物体能在物理控制下运动Collider碰撞器,和刚体一起来是游戏对象发生碰撞Renderer渲染器,使物体在屏幕上显示出来Audio Source音频源&…

AI芯片的未来之战:“霸主”英伟达真就无人能挡了吗?

来源: AI前线作者:NICOLE KOBIE译者:王强英伟达,AI 芯片市场的统治者业内有一个传说,讲的是英伟达怎样从游戏和图形硬件转向了 AI 芯片市场的统治者 — 这个故事中有猫的身影。早在 2010 年,现任英伟达首席科学家 Bill Dally 有一天正与斯坦福…

计算机网络(一)-概述(补充)

一.概述 1.新型网络 1.1 基本特点: 网络用语计算机之间的数据传送;网络能够连接不同类型的计算机;所有的网络结点都重要,大大提高了网络的生存性;计算机在进行通信时,必须有冗余的路由;网络结…

费米悖论的三十种解释 | 观点

© David B. Mattingly来源:公众号利维坦(ID:liweitan2014)文:Ella Alderson译:Rachel校对:Yord原文:medium.com/predict/30-solutions-to-the-fermi-paradox-aaabfce56280我常常在思索,我们大多数人选择相信其他星球上存在生…

计算机网络(一)-概述

一.计算机网络 (一)计算机网络概述 1. 概述 1.1 计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 1.2 互联互通,自治的计算机集…

json数组格式问题

---恢复内容开始--- 使用jsonserver来模拟后台数据接口时犯了一个很低级的错误 找了很久没有发现有什么不对劲的地方,后来仔细发现原来是一个很细微的语法问题:}] 中间不能有逗号!! ---恢复内容结束---转载于:https://www.cnblog…

图灵奖得主Judea Pearl谈机器学习:不能只靠数据

来源:选自Journal of Causal Inference作者:Judea Pearl编译:机器之心编辑:Panda在当前的人工智能研究社区,以数据为中心的方法占据了绝对的主导地位,并且这类方法也确实成就非凡,为语音识别、计…

计算机网络(二)-性能指标

一、计算机网络性能指标 1.时延 1.1 指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟 延。单位是s。 数据到达路由器是,需要等待,产生排队时延,在路由器里面需要处理数据,包括检错和查找输…

axios请求本地的json文件在打包部署到子目录域名下,路径找不到

前言: 因为要同时部署两个项目,有一个是部署到域名下面的子目录下,如:https://xxx.com/siot-admin vue 项目中使用axios请求了本地项目的static文件夹下的json文件,使用npm run build 打包后,json文件请求不…

中国集成电路设计产业创新发展的认识和思考

来源:半导体行业观察 7月15日—16日,2021中国集成电路设计创新大会暨IC应用博览会在苏州召开。在本次大会高峰论坛上,中国集成电路设计创新联盟专家组组长、东南大学首席教授、南京集成电路产业服务中心(ICisC)主任、…

计算机网络(三)-体系结构

一.分层结构 1.分层的基本原则 各层之间相互独立,每层只实现一种相对独立的功能。每层之间界面自然清晰,易于理解,相互交流尽可能少。结构上可分割开,每层都采用最适合的技术来实现。保持下层对上层的独立性,上层单向…

基于SpringBoot项目的https

基于SpringBoot项目的https 在spring中配置项目运行的端口很简单。 在application.properties中 server.port: 8080 这样配置后,spring boot内嵌的tomcat服务器就是跑在8080端口启动http服务。但是如果在配置中启动https服务,用到的端口也是server.port。…

数年沉寂之后,VR/AR产业开始起飞!

来源:先进制造业现在,“新基建”已成为拉动投资、促进消费、稳定就业和提升综合实力的重要抓手,如何加载高质量的业务生态成为释放新基建发展动能的关键。当前,以虚拟现实VR(包含增强现实AR)为代表的未来视…

计算机网络(四)-奈氏准则和香农公式

一.奈氏准则 1.失真 1.1 在现实中信道,受到带宽限制,噪声,干扰等的影响,使信号失真。 1.2 影响失真程度的因素: 码元传输速率信号传输距离噪声干扰传输媒体质量 1.3 失真的一种现象------码间串扰 1)对于低频信号&…

珍藏版:3万字详解mRNA疫苗

来源:周观宇论撰文:邓周宇摘要新冠疫情的持续凸显了疫苗的重要性以及全球对疫苗的迫切需求。借此契机,mRNA疫苗登上了舞台,并以极高的保护率成为所有新冠疫苗种类中热度最高的C位选择。本报告介绍分析了mRNA疫苗相较于其他技术路径…

计算机网络(五)-物理层

一.物理层 1.基本概念 1.1 物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。 1.2 物理层主要任务:确定与传输媒体接口有关的一些特性,即定义标准。 机械特性:定义物理连接的特性&#xff0c…