Проблема с телепортацией

Программирование на Юнити.

Проблема с телепортацией

Сообщение Page 21 дек 2022, 21:22

Приветствую, братья

Практикуюсь в создании 2d проектов, хочу создать игру-кликер, при нажатии на какой-либо 2d объект он телепортировался в случайное место в заданных координатах, а счёт прибавлялся. Написал код, а он нин на что не реагирует.
(в инспекторе все настроил, коллайдер поставил, накосячил где-то в коде, помогите)
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class gameManager : MonoBehaviour
{
    // Переменная, хранящая текущий счет игрока
    public int score = 0;

    // Переменная, хранящая ссылку на картинку, на которую нужно нажимать
    public GameObject clickableObject;

    // Переменная, хранящая случайную позицию для телепортации картинки
    private Vector2 randomPosition;

    void Start()
    {
        // Получаем случайную позицию в пределах экрана
        randomPosition = new Vector2(Random.Range(-9f, 9f), Random.Range(-4.5f, 4.5f));
    }

    void Update()
    {
        // Проверяем, была ли нажата кнопка мыши
        if (Input.GetMouseButtonDown(0))
        {
            // Получаем расположение курсора мыши в мировых координатах
            Vector2 mousePosition = Camera.main.WorldToScreenPoint(randomPosition);
            // Проверяем, попадает ли расположение курсора мыши в область картинки
            if (clickableObject.GetComponent<Collider2D>().OverlapPoint(mousePosition))
            {
                // Увеличиваем счет на 1
                score++;

                // Перемещаем картинку в случайную позицию
                clickableObject.transform.position = randomPosition;

                // Получаем новую случайную позицию для следующей телепортации
                randomPosition = new Vector2(Random.Range(-9f, 9f), Random.Range(-4.5f, 4.5f));
            }
        }
    }
}
Page
UNец
 
Сообщения: 4
Зарегистрирован: 14 июл 2021, 20:11

Re: Проблема с телепортацией

Сообщение 1max1 21 дек 2022, 22:49

Нажатие на картинку проверяется не коллайдерами, а событиями https://vasundhara.io/blogs/event-trigger-in-unity
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Проблема с телепортацией

Сообщение Page 22 дек 2022, 11:01

1max1 писал(а):Нажатие на картинку проверяется не коллайдерами, а событиями https://vasundhara.io/blogs/event-trigger-in-unity


Ошибка была совсем не в этом (узнал на другом форуме)
Проблема в строке
Синтаксис:
Используется csharp
Vector2 mousePosition = Camera.main.WorldToScreenPoint(randomPosition);

А нужно
Синтаксис:
Используется csharp
Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Page
UNец
 
Сообщения: 4
Зарегистрирован: 14 июл 2021, 20:11

Re: Проблема с телепортацией

Сообщение 1max1 22 дек 2022, 12:10

ААААААААААААААаааааааааааааааааа, ну раз не в этом тогда ладно.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12