Метод # 1
Существует много разных способов отображения изображения.Например, у вас может быть изображение с компонентом изображения, и вы включаете и выключаете компонент всякий раз, когда хотите, чтобы изображение появлялось / исчезало.Вы можете сделать это, используя код, подобный следующему:
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Image drumstick;
public void Start()
{
toggleDrumstick(); // This will toggle the drumstick. For example, if the drumstick is not being shown at the time, the drumstick will show on the screen. The opposite is true.
}
public void toggleDrumstick() {
drumstick.enabled = !drumstick.enabled;
}
}
Метод # 2
Приведенный выше код является отличным решением, но есть более модульный способ сделать это.
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Drumstick : MonoBehaviour
{
public static bool enabled = this.image.enabled;
}
Я рекомендую метод выше.Причина этого в том, что теперь каждый скрипт может получить доступ к статусу барабанной палочки.Например, ваш скрипт проигрывателя может сделать это.
using UnityEngine;
using System.Collections;
public class Player : MonoBehaviour
{
void doSomething () {
Drumstick.enabled = true; // make the image appear.
}
}
Чтобы любой из этих методов работал, убедитесь, что ваша барабанная палочка использует компонент изображения.
EDIT :Чтобы ответить на ваш вопрос далее, вот способ реализации метода # 2 в вашем коде.В вашем скрипте игрока вы можете использовать OnCollisionEnter
и метод, описанный выше, для отображения голени.
using UnityEngine;
using System.Collections;
public class Player : MonoBehaviour
{
void OnCollisionEnter (Collision collision)
{
if (collision.gameObject.tag == "drumstick") Drumstick.enabled = false;
}
}
Чтобы это работало, убедитесь, что на голени есть тег "drumstick"
.