Unity3D кнопка не откликается

120
12 октября 2021, 22:20

У меня есть сцена, на протяжении которой вертикально вниз бесконечно создаются кнопки, по мере уничтожения. Получается камера движется вниз, а кнопки стоят на месте, задача пользователя нажимать и ломать кнопки, но некоторые кнопки не прожимаются с 1 клика, приходится несколько раз кликнуть, чем больше скорость, тем реже кнопки отвечают на клик, что делать?

private Vector2 StartPos;
    private Camera cam;
    public Text tm;
    private float Timer;
    private float curTimeout = 0.05f;
    void Start()
    {
        cam = GetComponent<Camera>();
    }
    void Update()
    {
        Timer = float.Parse(tm.text);
        Timer += Time.deltaTime;
        tm.text = Timer + "";
        if (Mathf.Ceil(Timer) % 1 == 0)
        {
            curTimeout += 0.00002f;
            Timer++;
        }
        transform.position = new Vector3(transform.position.x, transform.position.y - curTimeout, transform.position.z);
    }

И как в этот код добавить EventTrigger?

using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
internal class Button_Create1 : MonoBehaviour
{
    public Canvas canvas;
    public Font font;
    public Sprite img;
    private float y = 1;
    public int kray = 0;
    void Start()
    {
    }
    void Update()
    {
        if (kray < 10)
            CreateButton();
    }
    void CreateButton()
    {
        GameObject newButton = new GameObject("Let", typeof(Image), typeof(Button), typeof(BoxCollider2D), typeof(Rigidbody2D));
        newButton.transform.SetParent(canvas.transform);
        BoxCollider2D bc = newButton.GetComponent<BoxCollider2D>();
        bc.size = new Vector2(139, 188);
        Rigidbody2D rgb = newButton.GetComponent<Rigidbody2D>();
        rgb.isKinematic = true;
        rgb.useFullKinematicContacts = true;
        newButton.GetComponent<Image>().sprite = img;
        RectTransform ret = newButton.GetComponent<RectTransform>();
        ret.sizeDelta = new Vector2(192, 192);
        ret.localScale = new Vector2(1, 1);
        ret.position = new Vector2(Random.RandomRange(-2.1f, 2.1f), y);
        y -= 2;
        GameObject newText = new GameObject("New text", typeof(Text));
        newText.transform.SetParent(newButton.transform);
        newText.GetComponent<Text>().text = "Let";
        newText.GetComponent<Text>().font = font;
        RectTransform rt = newText.GetComponent<RectTransform>();
        rt.anchorMin = new Vector2(0, 0);
        rt.anchorMax = new Vector2(1, 1);
        rt.anchoredPosition = new Vector2(0, 0);
        rt.sizeDelta = new Vector2(423.5f, 1137.5f);
        rt.localScale = new Vector2(0.01f, 0.01f);
        newText.GetComponent<Text>().color = new Color(0, 0, 0);
        newText.GetComponent<Text>().alignment = TextAnchor.MiddleCenter;
        newButton.GetComponent<Button>().onClick.AddListener(delegate
        {
            TapLet scrp = GetComponent<TapLet>();
            scrp.l = newButton;
            scrp.txt = newText.GetComponent<Text>();
            scrp.click();
        });
        kray++;
    }
    public void press()
    {
        CreateButton();
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
internal class Button_Create1 : MonoBehaviour
{
    public Canvas canvas;
    public Text Score;
    public Text Time;
    private float y = 1;
    public int kray = 0;
    public GameObject balls;
    void Start()
    {
    }
    void Update()
    {
        if (kray < 10)
            CreateButton();
    }
    void CreateButton()
    {
        kray++;
        GameObject ball = Instantiate(balls);
        ball.transform.SetParent(canvas.transform);
        Transform rets = ball.GetComponent<Transform>();
        rets.position = new Vector2(Random.RandomRange(-2.1f, 2.1f), y);
        y -= 2;
        TapLet tp = ball.GetComponent<TapLet>();
        tp.score = Score;
        tp.tm = Time;
    }
    public void press()
    {
        CreateButton();
    }
}
READ ALSO
Запуск службы через консоль

Запуск службы через консоль

Как средствами С# на Linux запустить консоль и выполнить в ней определённую команду (в моём случае это запуск/остановка/проверка статуса службы...

203
Неопределенный объект

Неопределенный объект

2 проекта, серверный и клиент, сервер ASPNET Core, Клиент- Angular 8

86
Вызов хранимой процедуры

Вызов хранимой процедуры

Есть код на VBТаблица выводит данные

168
Загрузка файла с именем в mysql при помощи php

Загрузка файла с именем в mysql при помощи php

задача в том, чтоб передать в таблицу имя pdf файла, но при попытке отправить текстовое значение в поле namep поле таблицы не заполняется структура...

74