Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/88: Рейтинг темы: голосов - 88, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 14
1

Действия при наведении на объект

22.12.2019, 21:49. Показов 17483. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет. Собсна, не могу разобраться уже долгое время. В чём суть... Создал canvas с картинкой моего маленького круглого курсора. Нужно сделать так, чтобы при наведении на объект о нём высвечивалась информация, пример: подхожу к палке, навожусь на неё свои курсором, ниже под курсором высвечивается, что это палка, если же курсор убрать, то надпись, соответственно, пропадает. В качестве примера можно взять игру TheLongDark, когда надпись появляется при наведении, Скриншот во вложениях ниже.
Вот мой код, который ни в какую не работает, тем более с моим кастомным canvas курсором:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class MouseOnObject : MonoBehaviour
{
    public GameObject obj;      // вставляю сюда объект, над которым будем работать наведение
    public GameObject textDescriprion;       // вставляю сюда текст, который должен отображаться при наведении курсора
 
    void Start()
    {
        textDescriprion.SetActive(false);
    }
 
    void OnMouseEnter()
    {
        textDescriprion.SetActive(true);
        
    }
    void OnMouseExit()
    {
        textDescriprion.SetActive(false);
    }
}
Миниатюры
Действия при наведении на объект  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2019, 21:49
Ответы с готовыми решениями:

Вывод сообщение при наведении на объект
Здрасте, объект состоит из разных частей, как мне сделать что б при наведении на определенную...

При наведении на объект и нажатии на клавишу перемещение
Привет! Как сделать что бы при наведении на объект и нажатии на клавишу перемещает на другую...

Воспроизведение анимации при наведении мыши на объект + обратная анимация
В C# новичок, задача такова: Есть два объекта, при наведении курсора мыши на "объект 1" "объект 2"...

Изменение текста при наведении на объект и
На сайте имеется меню. Под меню - текстовый блок с лозунгом. При наведении курсора на пункт меню...

7
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
22.12.2019, 23:18 2
на объектах колайдеры висят?
0
3353 / 1769 / 1025
Регистрация: 26.10.2018
Сообщений: 5,198
22.12.2019, 23:23 3
Коллайдер на объекте висит?

Добавлено через 27 секунд
Steroid, Шустрый какой...
0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 14
22.12.2019, 23:53  [ТС] 4
в общем то, я перелопатил вообще весь код и юзаю теперь лучи, но теперь появилась ещё более тупая и нелогичная проблема, код вот:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class MouseOnObject : MonoBehaviour
{
    public GameObject obj;
    void Start()
    {
        obj.SetActive(true);
    }
    // public GameObject textDescriprion;
 
    public float rayDistance;
    public void Update()
    {
        var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        Debug.DrawRay(transform.position, ray.direction * rayDistance);
        if (Physics.Raycast(ray))
        {
            obj.SetActive(false);
 
        }
        else
        {
            obj.SetActive(true);
        }
 
    }
}
Я решил потестить эту функцию на одном объекте, будем называть его СТОЛ, то я впал в шок: когда я навожусь на объекты моей сцены, включая терреин, СТОЛ исчезает, а если смотрю в небо, то СТОЛ появляется.... Но есть во всём этом загвоздка: если на объектах будут стоять коллайдеры и я буду на них наводится, то СТОЛ будет исчезать, а если на объектах нет коллайдеров и они прозрачны - СТОЛ будет появляться................. WHAAATTTt????
0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 14
22.12.2019, 23:57  [ТС] 5
Хз, увидел ли ты прошлое сообщение, новичок на форуме и не соображаю, что тут да как, но вот пример на скринах к прошлому сообщению про исчезающий объект
Миниатюры
Действия при наведении на объект   Действия при наведении на объект  
0
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
23.12.2019, 00:06 6
Цитата Сообщение от EncodeR1 Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
if (Physics.Raycast(ray))
        {
            obj.SetActive(false);
}
        else
        {
            obj.SetActive(true);
        }
ничего удивительного, ты ведь сам выключаешь объект если луч во чтото попадает
0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 14
23.12.2019, 19:38  [ТС] 7
А как тогда сделать, чтобы объект пропадал, когда я навожусь только на него?
0
109 / 81 / 37
Регистрация: 13.01.2016
Сообщений: 406
23.12.2019, 21:57 8
Например проверять тег или название объекта, на который указывает луч
1
23.12.2019, 21:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2019, 21:57
Помогаю со студенческими работами здесь

Загрузка контента при наведении на объект
Вот с чем столнулся! Есть два бока ! В одном есть картинки а во втором пусто Нада чтобы при...

Всплывающее окно при наведении на объект
Всем привет, Как сделать так, чтобы в Visual С++ при наведении на объект вылазило всплывающее...

Остановка анимации при наведении на объект
Добрый вечер, уважаемые форумчане Есть код, где планета, вращается вокруг другой планеты по кругу...

Изменение курсора при наведении на объект
Хочу сделать так b.cursor:=windows.forms.cursors.WaitCursor; а выдаёт: menu.pas(33) : cursor не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru