Bird

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Bird

Сообщение chiefPAIN 20 янв 2018, 19:58

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class BirdScript : MonoBehaviour
{

    // Эта глобальная переменная будет установлена из инспектора. Представляет силу прыжка пртицы.
    public Vector2 jumpForce = new Vector2();
    public GameObject pLost;
    public GameObject bird;

    void Start()
    {
        // Добавляем птицу
        transform.position = new Vector2(-2f, 0f);
    }

    void Update()
    {
        // Ожидания тапа
        if (Input.anyKeyDown)
        {
            // Установка скорости rigid body птицы равной нулю
            GetComponent<Rigidbody2D>().velocity = Vector2.zero;
            // Добавление силы прыжка к rigid body птицы
            GetComponent<Rigidbody2D>().AddForce(jumpForce);
        }
        if(bird.transform.position.x == 0)
        {
            Die();
        }
    }
    void OnTriggerEnter()
    {
        Destroy(gameObject);
    }

    void Die()
    {
        //  Уничтожает птицу и вызывает панель проигрыша
        Destroy(gameObject);
        pLost.SetActive(true);
    }
}



По задумке, птица при соприкосновении с препятствием/уходе со сцены должна уничтожаться, но этого не происходит
Что может быть не так?
chiefPAIN
UNец
 
Сообщения: 19
Зарегистрирован: 24 дек 2017, 21:35

Re: Bird

Сообщение seaman 20 янв 2018, 20:26

По уходу со сцены - не проверяйте позицию на равенство, проверяйте на < или >
По коллизии. На птице Rigidbody есть?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Bird

Сообщение chiefPAIN 20 янв 2018, 20:35

seaman писал(а):По уходу со сцены - не проверяйте позицию на равенство, проверяйте на < или >
По коллизии. На птице Rigidbody есть?


Ригид бади 2д стоит, всё по дефолту.
Да, после ухода со сцены он удаляется.
chiefPAIN
UNец
 
Сообщения: 19
Зарегистрирован: 24 дек 2017, 21:35

Re: Bird

Сообщение samana 20 янв 2018, 22:11

Во-первых метод OnTriggerEnter должен принимать параметр.
Во-вторых, если у вас 2d физика, то это должен быть метод OnTriggerEnter2D (https://docs.unity3d.com/ScriptReferenc ... ter2D.html)
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Bird

Сообщение Fehler 24 янв 2018, 13:04

chiefPAIN писал(а):
Синтаксис:
Используется csharp
    void OnTriggerEnter()
    {
        Destroy(gameObject);
    }

    void Die()
    {
        //  Уничтожает птицу и вызывает панель проигрыша
        Destroy(gameObject);
        pLost.SetActive(true);
    }
 

По задумке, птица при соприкосновении с препятствием/уходе со сцены должна уничтожаться, но этого не происходит
Что может быть не так?

вы удаляете дважды один и тот же обьект
хотя не удаляете вовсе
Синтаксис:
Используется csharp
if(bird.transform.position.x == 0)
 

у вас птица падает не вниз а вбок? влево наврное

вот для тригерра
Синтаксис:
Используется csharp
void OnTriggerEnter2D(Collider2D other) {
        Destroy(other.gameObject);
    }
Fehler
UNец
 
Сообщения: 37
Зарегистрирован: 02 янв 2018, 11:41

Re: Bird

Сообщение chiefPAIN 25 янв 2018, 22:22

Fehler писал(а):
chiefPAIN писал(а):
Синтаксис:
Используется csharp
    void OnTriggerEnter()
    {
        Destroy(gameObject);
    }

    void Die()
    {
        //  Уничтожает птицу и вызывает панель проигрыша
        Destroy(gameObject);
        pLost.SetActive(true);
    }
 

По задумке, птица при соприкосновении с препятствием/уходе со сцены должна уничтожаться, но этого не происходит
Что может быть не так?



вы удаляете дважды один и тот же обьект
хотя не удаляете вовсе
Синтаксис:
Используется csharp
if(bird.transform.position.x == 0)
 

у вас птица падает не вниз а вбок? влево наврное



вот для тригерра
Синтаксис:
Используется csharp
void OnTriggerEnter2D(Collider2D other) {
        Destroy(other.gameObject);
    }

уже всё сделано
chiefPAIN
UNец
 
Сообщения: 19
Зарегистрирован: 24 дек 2017, 21:35


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 22