Unity3D】【Unity基础】unity的toggle控件属性?

2020-11-30 18:28发布

7条回答
清屿
2楼 · 2020-11-30 19:00

Unity 3D Toggle 控件用于在屏幕上绘制一个开关,通过控制开关的开启与闭合来执行一些具体的操作。

当用户切换开关状态时,Toggle 控件的绘制函数就会根据不同的切换动作来返回相应的布尔值。

无需指教
3楼 · 2020-12-01 08:35

toggle类似按钮,但是toggle有一个特点,可以成组操作,比如把5个toggle放在一组,点击其中一个,其他的则显示已经转移,那么怎么实现呢,完全不需要代码,需要的是unity的inspector的操作,当你在uinty的gameobject选择ui,toggle创建多个之后,创建一个空对象,即gameobject-enemy对象,然后再这个空对象点击Add Component,添加Toggle Group。

然后将所有的想分成一组的toggle拖动到空对象,enemy对象下,成为子节点,然后给toggle的inspector的Group接口赋值,即把空对象,enemy拖动到Group接口中,这样,被拖动到一个空对象的所有toggle为一组。

 

下面就是使用代码操控toggle点击背后的逻辑,里用改变一张image颜色实例,有两种方法,一种是调用inspector的OnValueChanged,另一种是完全使用代码,然后挂载到toggle上,第一种也需要代码,要把你写的代码先挂在到一个控制器,及一个空对象,enemy,一般enemy都用来实现逻辑,当然这空对象也存在于场景中,点下OnValueChanged的加号,在选择器选择场景对象enemy,然后再function选择你写好的函数,就可以了,第二种是纯手写代码,代码如下,

[SerializeField] private Toggle m_toggle;
    [SerializeField] private Image m_image;


 // Use this for initialization
 void Start () {
        m_toggle.onValueChanged.AddListener(DoChangeImageColor);
       
 }

    public void DoChangeImageColor(bool Value)
    {
        if (Value == true)
        {
          //  GameObject obj = GameObject.Find("Image");
            m_image.color=Color.black;
           
            m_image.gameObject.SetActive(true);
           
        }
    }

 

挂在到Inspector的加号的函数如下

public void SettoggleOne(bool Value)
    {
        m_image.color = Color.yellow;
    }


魏魏姐
4楼 · 2020-12-01 10:16

在代码里 获取Toggle 组件里的ison属性 ,通过false 或者true来判断是否被选中,其实这个时候界面上是不会显示效果的 你在代码里 吧toggle的父类或者本身 先setactive(false),再setactive(true)下现在你在界面上就可以看到用代码控制的选中状态了

是开心果呀 - 热爱生活
5楼 · 2020-12-01 10:34

Is On:目前是处于开还是关。用鼠标点击那个Toggle按钮,将发现其中的对勾符号会在出现与不出现之间切换,同时与之相对应的,在其Inspector面板中,属性In On后面的对勾也在勾选与不勾选之间切换。

Graphic:图像。用鼠标点击那个Toggle按钮,其对勾符号会在出现与不出现之间切换,它的原理就是控制那个对勾图像出现与不出现而实现的,这个Graphic就是设置这个属性值的,你可以通过Group:组(单选框功能)。

在Hierarchy面板中,选中我们刚才创建的Toggle,然后按键盘Ctrl+D两次,就可复制出两个Toggle了,并在场景视图中拖动它们的位置,使它们都可见,运行,我们将发现这个三个都可选中,即它们是复选框。

如果我们把这2个组成一个组,让它们关联,就可做成单选了。从Group属性可看出它需要一个ToggleGroup。

浅浅77
6楼 · 2020-12-01 10:43

Toggle开关: 
这里写图片描述 
当我们创建它后发现它也为一个复合型控件,它有Background与Label两个子控件,而Background控件中还有一个Checkmark子子控件,Background是一个图像控件,而其子控件Checkmark也是一个图像控件,其Label控件是一个文本框,它们与我们所讲的控件是一致的,我们通过改变它们所拥有的属性值,即可改变Toggle的外观,如颜色、字体等等。下面来看看Toggle的一些重要属性。 
这里写图片描述 
Is On:目前是处于开还是关。用鼠标点击那个Toggle按钮,将发现其中的对勾符号会在出现与不出现之间切换,同时与之相对应的,在其Inspector面板中,属性In On后面的对勾也在勾选与不勾选之间切换。 
这里写图片描述 
Graphic:图像。用鼠标点击那个Toggle按钮,其对勾符号会在出现与不出现之间切换,它的原理就是控制那个对勾图像出现与不出现而实现的,这个Graphic就是设置这个属性值的,你可以通过
这里写图片描述设置。 
Group:组(单选框功能)。在Hierarchy面板中,选中我们刚才创建的Toggle,然后按键盘Ctrl+D两次,就可复制出两个Toggle了,并在场景视图中拖动它们的位置,使它们都可见,运行,我们将发现这个三个都可选中,即它们是复选框。如果我们把这2个组成一个组,让它们关联,就可做成单选了。从Group属性可看出它需要一个ToggleGroup。我们先在画布上建立一个空对象, 
在其Inspector中单击AddComponent这个按钮,为其添加组件,在弹出的菜单中选择UI,在后续弹出菜单中选择“Toggle Group”,这样我们就为此对象添加了ToggleGroup组件了。 
这里写图片描述 
在Hierarchy中同时选中要成组的那2个Toggle,把已添加了ToggleGroup组件的空物体拖到Inspector的中即可, 
这里写图片描述 
这样我们便把这2个Toggle成组了,于是它们2个就只能单选其中一个了。为了更完美,首先调整空对象的位置与大小,让其包含那2个Toggle控件,然后在Hierarchy中,把2个Toggle选中并拖到空物体中成为子物体, 
这里写图片描述 
这样在逻辑上与外观上均完备,且移动父物体时子物体也会跟着移动。 
这里写图片描述

Mantra
7楼 · 2020-12-01 14:16

主要是通过isOn属性控制,同时还有OnValueChanged回调用来监测是否处于勾选状态。

Ross
8楼 · 2020-12-01 16:54

你问的是toggle控件的属性都是什么,还是toggle属性的含义啊.

以下是toggle的属性

image.png

相关问题推荐

  • 回答 17

    还是要学好编程基础呀如果你觉得编程很苦难 不一定要从c#开始学  学学js flash as等等  有个梯度就好多了如果要用好unity  不会编程那是不行的  学习的过程中都有个头疼的过程  记住  头越痛  代表你要接受的东西越多  坚持 你的大脑在和知识兼容中:D...

  • unity如何自学Unity3D 2022-01-06 15:24
    回答 18

    可以先思考学习的目的,是什么因素在驱动你。是完成一款作品?进入某个行业?还是探究某类问题?否则和技术相关的知识浩如烟海,很容易迷失在细枝末节上。而要找到动力源头。个人的经验,就是关注一些和自己同方向,同类型的创作者。他们输出的作品会激励你,...

  • 回答 23

    可以让模型师直接作出这样的形状,如果用纯Unity制作,就要用基本游戏对象拼接了,包括楼梯,城堡,都可以拼接出来。正常情况不会这样做,因为不够精美,都是建模师来实现,毕竟Unity不属于专业的建模软件,侧重于实现功能。...

  • 回答 2

    Shader Unlit/Test{Properties{_MainTex(MainTex,2D)=white{}_MainColor(MainColor,COLOR)=(1,1,1,1)_AddTex(AddTex,2D)=white{}_Maxset(Max,Range(0.1,1.0))=0.1}SubShader{Tags{RenderType=Transparent Queue=Tran...

  • 回答 4

    文章主要为大家详细介绍了Unity Shader实现水波纹效果,文中示例代码介绍的非常详细具体代码实现如下:Shader Custom/shuibowen{ Properties{ _MainTex(Base (RGB),2D)=white{} _distanceFactor(Distancefactor,float)=1 _timeFactor(time factor,float)=...

  • 回答 7

    策划的最基本的原则就是:改进缺点,做别人没有做到的。无论游戏策划还是其它策划都是一样!    游戏策划的第二个原则:放飞思想。也许你认为我是说策划们应该充满想象力,能想一些匪夷所思的东西!对不起。不是这意思!一个合格的策划不是为了发泄自己的...

  • 回答 7
    已采纳

    可以多玩一些其它的游戏,看一些科幻电影等,寻找灵感。

  • 回答 3
    已采纳

    游戏架构与设计不纯粹是一门科学,它不需要提出假设或探究真理,也不被逻辑或正规方法的严格标准所束缚。游戏的目的就是通过玩来获得娱乐,因此游戏设计即需要艺术家一样的创造力,也需要工程师一样的精心规划。游戏设计是一门手艺,就像好莱坞的电影摄像或服...

  • 回答 10

    1. 在布局文件中给Button按钮添加onClick属性,属性值为任意字符串(此字符串用于设置按钮被点击时运行的方法的方法名)。2.获取控件对象+通过控件对象调用setOnClickListener方法设置点击事件...

  • 回答 9

    FlatStyle按钮的样式可以用这个属性改变。如果把样式设置为PopUp,则该按钮就显示为平面,直到用户再把鼠标指针移动到它上面为止。此时,按钮会弹出,显示为3D外观 Enabled这个属性派生于Control,但这里仍讨论它,因为这是一个非常重要的属性。把Enabled 设...

  • 回答 9

  • 回答 8

    最近在unity3d项目中,需要使用toggle实现多项单选的功能,要实现这样的效果需要给其添加togglegroup,然后设置默认选择项就可以了。打开unity3d在菜单中GameObject--UI--Toggle创建一个选择框。设置其位置大小,以及显示Label为One。同样的方式我们创建三个T...

  • 回答 13

    这里来讲解一下unity3D自带的UI功能,自带的UI也叫UGUI功能非常的强大,比起NGUI,更加的灵活,让用户能够更加容易的去使用。 首先创建一个文本Text 然后是文本相对应的属性 这里的属性比较的简单,一些基本的颜色,格式,字体加粗,字体大小,都有。如果需要...

  • 回答 8

    android:layout_width  控件高度android:layout_height  控件宽度  ps : fill_parent(高/宽度充满整个屏幕),warp_content(宽/高度为内容实际宽/高度大小))android:text   定义组件的显示文字android:maxLength   最大允许长度android:textCol...

  • 回答 12

    * 姓名:* 密码:* 性别:男女* 邮箱:* 地址: 修改

没有解决我的问题,去提问