Unity 创建/删除/启用/禁用组件的惯用方法

这篇具有很好参考价值的文章主要介绍了Unity 创建/删除/启用/禁用组件的惯用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、创建组件:

Unity 创建组件可以通过编辑器中的"Add Component"创建,或者代码动态创建:GameObject.AddComponent<T>(),如:

ameObject.AddComponent<Rigidbody>();

2、删除组件:

Unity 删除组件可以通过编辑器中组件的“Remove Component”删除,或者代码动态,使用Destroy()或DestroyImmediate()方法,如:

Destroy(gameObject.AddComponent<Rigidbody>());

DestroyImmediate(gameObject.AddComponent<Rigidbody>());

3、启用/禁用组件:

对于Unity大部分脚本组件,如Animation,Animator,Collider,UI组件(Image、Text、Slider等)等,我们可以使用它们的enabled属性进行启用禁用,如:

//启用组件
transform.GetComponent<Animation>().enabled = true;
//禁用组件
transform.GetComponent<Animation>().enabled = false;

对于UI组件中的Button、Toggle、Slider、Scrollbar、Dropdown、InputField 这几个组件我们还可以通过设置它们的Interactable属性启用/禁用组件。如下图勾选表示启用,不勾选则禁用。

unity禁用组件代码,unity,游戏引擎,c#

或者通过代码控制,如:文章来源地址https://www.toymoban.com/news/detail-767450.html

//启用组件
gameObject.GetComponent<Button>().interactable = true;
//禁用组件
gameObject.GetComponent<Button>().interactable = false;  

到了这里,关于Unity 创建/删除/启用/禁用组件的惯用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity用NPOI创建Exect表,保存数据,和修改删除数据。以及打包后的坑——无法打开新创建的Exect表

    先说坑花了一下午才找到解决方法解决, 在Unity编辑模式下点击物体创建对应的表,获取物体名字与在InputText填写的注释数据。然后保存。创建Exect表可以打开,打包PC后, 点击物体创建的表, 打不开文件破损 解决方法: 到unity编辑器所在路径中去找这个路径 EditorDataMon

    2024年02月12日
    浏览(53)
  • Unity 动态创建Mesh 基础方法与高级方法

    最近在做项目优化,注意到动态创建Mesh时,Unity提供了一套高级方法用于快速创建模型,特此记录学习一下。 关于Mesh的基本概念再次不在阐述,可以参考Unity Mesh 官方文档,介绍的很详细,其中 基础方法 包括:SetVertices、SetNormals、SetUVs、SetTriangles、SetIndices、SetColors、SetTa

    2024年03月27日
    浏览(52)
  • Unity 获取组件宽高的方法

    在Unity中,我们要获取组件的宽高,具体方法要看组件的类型。 假如是2D UI组件,那么我们可以通过RectTransform的Rect属性获取,如获取Image 组件宽高: 假如是3D组件,如 MeshRenderer 对象,那么我们就用MeshRenderer中的bounds属性获取,如: 假如是 2D SpriteRenderer 组件,同样可以用

    2024年02月02日
    浏览(59)
  • Unity 如何启用MSAA?

    抗锯齿对跑在性能受限的平台上的应用来说非常重要,因为使用这种技术可以让图像的边缘显得更加平滑,并减少毛边线下。 如果我们在项目中使用Forward Rendering,那么就需要在Quality Setting中启用MSAA。 启用MSAA的方法如下: Edit-ProjectSettings。  选择您的质量类别。 Quality-Ant

    2024年02月16日
    浏览(45)
  • 【Unity3D】获取子组件方法汇总

    一、遍历获取一级子组件(不包括子组件的子组件) 二、获取所有子组件(包括子组件的子组件)   三、通过数组下标获取指定子组件

    2024年02月11日
    浏览(48)
  • Unity获取物体组件的所有方法以及优缺点

    1.GetComponent(): 获取物体上的指定组件 T,如果物体上不存在该组件,则返回 null。 优点:简单易用,可以快速获取指定组件的实例,方便直接操作组件。 缺点:如果需要获取多个组件,需要多次调用该方法,较为繁琐。 2.GetComponentInChildren(): 在物体及其子物体中查找指定组件

    2024年02月13日
    浏览(44)
  • unity 之 GetComponent 获取游戏对象上组件实例方法

    GetComponent 是Unity引擎中用于获取游戏对象上组件实例的方法。它允许您从游戏对象中获取特定类型的组件,以便在脚本中进行操作和交互。 GetComponent ComponentType (): 这是一个泛型方法,用于从当前游戏对象上获取指定类型的组件。在 ComponentType 部分,您应该提供您想要获取的

    2024年02月02日
    浏览(49)
  • Unity中纹理启用SRGB的坑

    __先说结论,在shader中不使用SRGB与Linear的转换函数的前提下,如果该纹理是Albedo、Emissive、Ramp或者其它颜色贴图,建议勾上SRGB,如果是Normal、Mask、Metallic等数据纹理,不需要勾SRGB。 __在PS中,导出的纹理默认是SRGB,这个可以在首选项中看到。 __开启SRGB,没有使用SRGB与Linea

    2024年02月10日
    浏览(36)
  • Unity之获取游戏物体对象或组件的几个方法

    在unity的实际项目开发中,往往都要获取游戏内的各种物体,比如玩家(Player),怪物(Monster),或者其他,那有什么方法可以快速获取呢,下面就来介绍unity获取游戏对象的几个方法 GameObject.Find GameObject.Find 通过游戏物体的名称获取对象 使用方法 缺点: 会遍历当前整个场

    2024年02月01日
    浏览(43)
  • 【unity】基于Obi的绳/杆蓝图、绳杆区别及其创建方法

    绳索 是通过使用距离和弯曲约束将粒子连接起来而形成的 。由于规则粒子没有方向(只有位置),因此无法模拟扭转效应(维基百科),绳子也无法保持其静止形状。然而,与杆不同的是,绳索可以被撕裂/劈开,并且可以在运行时改变其长度。 杆 是通过使用拉伸/剪切和弯曲/扭

    2024年01月25日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包