Всем добра! Снова нужна помощь. Пишу небольшое приложение, имеется несколько кнопок выполняющих разные задачи при одном нажатии (SingleClick) и двух (DoubleClick). Для этого нашел скрипт на форуме. Все работает идеально с одной кнопкой, добавил еще 2 кнопки и заметил, что при быстром нажатии к примеру btn1 и btn2 срабатывает doubleClick для btn2, То есть необходимо чтобы, DoubleClick срабатывал при двойном нажатии одной и той же кнопки, подскажите как подправить скрипт под несколько кнопок. Заранее извиняюсь если объясняю сумбурно, я новичок и немного плаваю в терминологии. Скопированный скрипт:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class DoubleClickTest : MonoBehaviour
{
private float doubleClickTimeLimit = 0.35f;
bool clickedOnce = false;
public Button = btn1, btn2, btn3;
float count = 0f;
void Start(){
btn1.onClick.AddListener(Task1);
btn2.onClick.AddListener(Task2);
btn3.onClick.AddListener(Task3);
}
public void startClick(){
StartCoroutine (ClickEvent ());
}
public IEnumerator ClickEvent()
{
if (!clickedOnce && count < doubleClickTimeLimit) {
clickedOnce = true;
} else {
clickedOnce = false;
yield break; //If the button is pressed twice, don't allow the second function call to fully execute.
}
yield return new WaitForEndOfFrame();
while(count < doubleClickTimeLimit)
{
if(!clickedOnce)
{
DoubleClick();
count = 0f;
clickedOnce = false;
yield break;
}
count += Time.deltaTime;// increment counter by change in time between frames
yield return null; // wait for the next frame
}
SingleClick();
count = 0f;
clickedOnce = false;
}
private void SingleClick()
{
Debug.Log("Single Click");
}
private void DoubleClick()
{
Debug.Log("Double Click");
}
}
У тебя отсчёт времени до 2-го нажатия единый для всех кнопок.
Вариант 1. Раздели скрипты на:
DoubleClickTest1
DoubleClickTest2
Вариант 2. Определяй какая нажата кнопка (например по тегу или имени) и считай отдельно
clickedOnce1
clickedOnce2
Вариант 3. Определяй какая нажата кнопка и храни clickedOnce
внутри кнопки/объекта
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите как получать скрин под нужное разрешение,но и не обрезать в это время скрин?
Хотя уникальность каждого отдельного GUID не гарантируется, общее количество уникальных ключей настолько велико (2128 или 3,4028×1038), что вероятность...
При написании кода студия начинает сильно тормозить (1-2) секунды, потом отлагивает, и так все времяПроблема появилась пару дней назад