У меня есть поезд, которые двигается по горизонтали. Имеется слайдер, который должен отвечать за скорость передвижения поезда. Как прописать данный код? Вот код который у меня уже есть:
public bool flag = false;
float speed = 0.2f;
public GameObject cub;
public Text text;
public Light l;
public void button(){
if (flag)
flag = false;
else
flag = true;
}
void Update() {
if (flag) {
transform.Translate (new Vector3 (speed, 0, 0));
}
}
void OnTriggerEnter(Collider col) {
Debug.Log ("Сработал триггер и остановился поезд");
if (col.gameObject.name == "Cube") {
flag = false; // остановится
}
}
Картинка для наглядности.
В данном случае не совсем понятно, слайдер будет сам отвечать за скорость (то есть его значение и есть speed
) или слайдер будет влиять на скорость speed
.
Предположим, что у нас изначально управление идет кнопками влево/вправо. Движение будет такое:
void Update () {
transform.Translate(new Vector3(Input.GetAxis("Horizontal") * speed * Time.deltaTime, 0, 0));
}
Чтобы воспользоваться значением слайдера нужно это значение оттуда взять. Это можно сделать тысячей способов и всё зависит от ситуации и сложности игры и пр.
Способ — сделать публичную переменную в скрипте
public Slider slider;
Она потребует импорта пространства имен using UnityEngine.UI;
И далее в эту переменную в инспекторе перенести сам слайдер из канваса
Способ — тоже сделать переменную в скрипте, но при этом найти слайдер при старте программы
void Start () {
slider = GameObject.Find("Canvas/Slider").gameObject.GetComponent<Slider>();
}
Как работать с Find
можно посмотреть в документации.
Способ — еще куча вариантов...
В итоге в переменной slider
будет ссылка на объект. Теперь просто смотрим на его параметры и банально применяем его переменную value.
void Update () {
// var x = new Vector3(Input.GetAxis("Horizontal") * slider.value * Time.deltaTime;
var x = new Vector3(Input.GetAxis("Horizontal") * speed * slider.value * Time.deltaTime;
transform.Translate(x, 0, 0));
}
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Подскажите пожалуйста, как сделать так чтобы при нажатии на вкладку tabPage выделялась нужная кнопка buttonСпасибо
Создал свою секцию в файле конфигов, могу править значения в существующих строках, но не получается удалять и добавлять строкиМой код:
В ASPNet Web Forms пробую создать кнопки и добавить в определенное место, привязать к событию щелчку по ней, передать уникальный индификатор кнопки...
Подскажите пожалуйста, как закруглить (сгладить) углы у элемента (например TextView) в Xamarin?