Как уничтожить конкретный объект при нажатии мышкой?

См. эту ссылку

Обнаружение многоугольника Touch Map API V2

Его алгоритм RayCasting может помочь вам:)

Краткое описание алгоритма:

Горизонтальная линия выводится из вашей точки вправо, если она пересекает стороны многоугольника нечетным числом раз, тогда точка находится внутри другого многоугольника :)

Эти ссылки wiki дадут вам полную идею:

http://en.wikipedia.org/wiki/Point_in_polygon

http://rosettacode.org/wiki/Ray-casting_algorithm

0
задан Draco18s 17 February 2019 в 18:02
поделиться

2 ответа

Реализуйте то, что вам нужно, но это основа.

using UnityEngine;

public class Test : MonoBehaviour
{
    private float distance = 10;
    private float offset = -4;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Mouse1))
        {
            GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);

            go.transform.position = new Vector3
            {
                x = offset += 1.5f,
                y = 0,
                z = 0
            };
        }

        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            if(Physics.Raycast(ray, out RaycastHit hit, distance))
            {
                Destroy(hit.transform.gameObject);
            }
        }
    }
}
0
ответ дан Lobsang White 17 February 2019 в 18:02
поделиться

Вы должны взглянуть на IPointerClickHandler . Прикрепите этот скрипт к объектам, которые вы хотите щелкнуть по

using UnityEngine;
using UnityEngine.EventSystems;

public class DestroyOnRightClick : MonoBehaviour, IPointerClickHandler 
{
    public void OnPointerClick (PointerEventData eventData) 
    {
        if (eventData.button == PointerEventData.InputButton.Right) 
        {
             Debug.Log ("Right Mouse Button Clicked on: " + name);
             Destroy(gameObject);
        }
    }
}

Примечание

Убедитесь, что в сцене существует EventSystem, чтобы разрешить обнаружение щелчков. Для обнаружения щелчков на не-UI GameObjects, убедитесь, что PhysicsRaycaster подключен к Camera.

0
ответ дан derHugo 17 February 2019 в 18:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: