Я хочу чтобы при столкновении один Объект удалялся
Ошибка
Destroying assets is not permitted to avoid dataq loss. If you really want to remove an asset use DestroyImmeduate (theObject, true);
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class shield : MonoBehaviour {
public GameObject slot_1;
void OnTriggerEnter2D(Collider2D other) {
if (other.CompareTag("Finish")) {
DestroyProjectile();
}
}
void DestroyProjectile() {
Destroy(slot_1);
}
}
Скорее всего, у вас возникает такая ошибка потому что вы пытаетесь выполнить Destroy()
к ассету (например префабу из файлов вашего проекта), тогда как его можно применить к GameObject
, который создан на сцене в запушеной игре. То есть вы можете применить эту оперцию к конкретному объекту в вашей игре, а не ресурсу этой игры.
Похожий вопрос есть на официальном форуме юнити.
Например, если вы сначала создите объект с помощью Instantiate из префаба, то далее сможете его уничтожить:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class shield : MonoBehaviour {
public GameObject slot_1;
GameObject projectiileClone;
void OnTriggerEnter2D(Collider2D other) {
if (other.CompareTag("Finish")) {
projectileClone = (GameObject)Instantiate(slot_1);
DestroyProjectile();
}
}
void DestroyProjectile() {
Destroy(projectileClone);
}
}
Данный код создаст и сразу уничтожит объект. По этому код создания объекта вам нужно перенести в нужное вам место.
Пытаюсь освоить xamarin как было бы грамотнее реализовать расположение компонентов на activity так как на картинкепримечание компоненты генерируются...
У меня есть дата грид и в ресурсах к ней определено контекстное менюОно статичное, но мне нужно динамично добавлять sub MenuItem для одного из айтемов...