Во-первых, избавьтесь от своего пользовательского Instantiate
метода. Уже есть правильно работающий метод Instantiate
на объекте; вам не нужно делать еще один.
Затем добавьте поле public GameObject explosionEffect
в класс. Он будет содержать префаб взрыва, который вы хотите создать. В инспекторе сцены перетащите на него сборный домик.
Кроме того, для обнаружения щелчков мыши с помощью OnMouseDown
вам необходимо прикрепить некоторый компонент Collider
к игровому объекту IceTile
. Возможно, вы уже сделали это. Это можно сделать в редакторе сцены.
В OnMouseDown
перед вызовом Destroy
, позвоните Instantiate
, чтобы вызвать эффект взрыва:
Instantiate (explosionEffect, transform.position);
В целом это может выглядеть так:
using System.Collections.Generic;
using System.Collections;
using UnityEngine;
using System;
public class IceTile : MonoBehaviour
{
internal Vector3 m_MyTravelPoint;
public GameObject explosionEffect;
private void Start()
{
m_MyTravelPoint = transform.position + new Vector3(0, 0.61f, 0);
}
private void OnDrawGizmosSelected()
{
Gizmos.DrawWireSphere(m_MyTravelPoint, 0.5f);
}
void Update()
{
}
void OnMouseDown()
{
// this object was clicked - do something
Instantiate(explosionEffect, transform.position);
Destroy(this.gameObject);
}
}