Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Handles.Slider

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public static function Slider(position: Vector3, direction: Vector3): Vector3;
public static Vector3 Slider(Vector3 position, Vector3 direction);
public static function Slider(position: Vector3, direction: Vector3, size: float, drawFunc: Handles.DrawCapFunction, snap: float): Vector3;
public static Vector3 Slider(Vector3 position, Vector3 direction, float size, Handles.DrawCapFunction drawFunc, float snap);

Параметры

position @param position Позиция текущей точки.
direction @param direction Направление скольжения.
size @param size Размер маркера.
drawFunc @param drawFunc Функция, вызываемая для действующего отображения - по умолчанию, Handles.ArrowCap, могут использоваться функции с такой же сигнатурой.
snap @param snap Значение "захвата" (см. Handles.SnapValue).

Возврат значений

Vector3 @return Новую позицию. Если пользователь не выполнил операцию, будет возвращено то же значение, что вы передавали в позицию.

Описание

Делает 3D слайдер.

Важно: Используйте HandleUtility.GetHandleSize если вам нужны маркеры постоянного размера.

На экране будет отображен перетаскиваемый маркер. Маркер вынужден скользить на плоскости.


"Маркер слайдера в окне Scene".


        
// Name this script "SliderHandleEditor"
using UnityEngine;
using System.Collections;
using UnityEditor;

[CustomEditor(typeof(SliderHandle))] public class SliderHandleEditor : Editor {

// Simple script that creates a Slide Handle that // allows you to drag a 'look at' point along the X axis

void OnSceneGUI() {

SliderLook t = (target as SliderLook); EditorGUI.BeginChangeCheck(); Vector3 lookTarget = Handles.Slider(t.lookTarget, new Vector3(1, 0, 0), 2, Handles.ConeCap, 0.1f); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Slider Look Target"); t.lookTarget = lookTarget; t.Update(); } }

}

И скрипт, прикрепленный к данному маркеру:


        
// Name this script "SliderHandle"
using UnityEngine;
using System.Collections;

[ExecuteInEditMode] public class SliderHandle : MonoBehaviour { public Vector3 lookTarget = new Vector3(0,0,0); public void Update() { transform.LookAt(lookTarget); }

}