Version: 5.3 (switch to 5.4b)
IdiomaEnglish
  • C#
  • JS

Idioma de script

Selecciona tu lenguaje de programación favorito. Todos los fragmentos de código serán mostrados en este lenguaje.

Handles.ScaleValueHandle

Sugiere un cambio

¡Éxito!

Gracias por ayudarnos a mejorar la calidad de la documentación de Unity. A pesar de que no podemos aceptar todas las sugerencias, leemos cada cambio propuesto por nuestros usuarios y actualizaremos los que sean aplicables.

Cerrar

No se puedo enviar

Por alguna razón su cambio sugerido no pudo ser enviado. Por favor <a>intente nuevamente</a> en unos minutos. Gracias por tomarse un tiempo para ayudarnos a mejorar la calidad de la documentación de Unity.

Cerrar

Cancelar

Cambiar al Manual
public static function ScaleValueHandle(value: float, position: Vector3, rotation: Quaternion, size: float, capFunc: Handles.DrawCapFunction, snap: float): float;
public static float ScaleValueHandle(float value, Vector3 position, Quaternion rotation, float size, Handles.DrawCapFunction capFunc, float snap);

Parámetros

value The value the user can modify.
position The position of the handle.
rotation The rotation of the handle.
size The size of the handle.
capFunc The function to use for drawing the handle e.g. Handles.RectangleCap.
snap The new value after the user has modified it.

Valor de retorno

float The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.

Descripción

Make a single-float draggable handle.

Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.

This is used to make the center scale handle. The user can click and drag to scale a single float up and down.


Scale Value handle in the scene view with an arrow cap as the handle.


        
// Name this script "ScaleValueEditor"
using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(ScaleValue))] [CanEditMultipleObjects] public class ScaleValueEditor : Editor { public void OnSceneGUI() { ScaleValue t = (target as ScaleValue);

EditorGUI.BeginChangeCheck(); float scale = Handles.ScaleValueHandle(t.scale, Vector3.zero, Quaternion.identity,3,Handles.CircleCap,.5f); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Scale Value"); t.scale = scale; t.Update(); } } }

And the script attached to this Handle:

no example available in JavaScript
// Name this script "ScaleValue"
using UnityEngine;
[ExecuteInEditMode]
public class ScaleValue : MonoBehaviour
{
    public float scale = 0.5f;
    public void Update()
    {
        GetComponent<Renderer>().sharedMaterial.color = Color.Lerp(Color.red, Color.green, scale);
    }
}