Unity 3D (C#), моя мышь смещена, но я не знаю, почему - PullRequest
0 голосов
/ 16 апреля 2020

Хорошо, поэтому я пытаюсь создать окно, которое загорается при наведении на него курсора, я пытался использовать функцию «OnMouseOver», но она не работает, каждый из блоков представляет собой собственный элемент пользовательского интерфейса, это просто прямоугольное преобразование с компонентом изображения. Вот сценарий, который я использую, я использовал штуковины для радиопередачи и красные прямоугольники слева, но по какой-то причине мышь должна быть отклонена в сторону, чтобы она появилась, я хочу, чтобы она была сверху самого ящика * 55 в сценарии потому, что размер ящика 55 в группе сетки, которую я использую для хранения всех объектов.

Script:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class SlotScript : MonoBehaviour
{


    private void Update()
    {
        if(Input.mousePosition.x > (transform.position.x*55) - 20 && Input.mousePosition.x < (transform.position.x*55) + 20)
        {
            if (Input.mousePosition.y > (transform.position.y*55) - 20 && Input.mousePosition.y < (transform.position.y*55) + 20)
            {
                Debug.Log("White");
                gameObject.GetComponent<Image>().sprite = Resources.Load<Sprite>("Sprites/Rack/WhiteBox");
            }
            else
            {
                gameObject.GetComponent<Image>().sprite = Resources.Load<Sprite>("Sprites/Rack/DarkBox");
            }
        }
        else
        {
            gameObject.GetComponent<Image>().sprite = Resources.Load<Sprite>("Sprites/Rack/DarkBox");
        }
    }

    private void OnDrawGizmos()
    {
        Gizmos.color = Color.red;
        Gizmos.DrawCube(transform.position, transform.lossyScale * 55);
        Gizmos.DrawLine(transform.position, GameObject.Find("Cursor").transform.position);
    }
}

Слева - вид сцены, справа - вид игры. Изображение: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...