Среда, 24 Апреля 2024, 22:57

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » Hasuni [7]
Результаты поиска
HasuniДата: Среда, 29 Мая 2019, 20:14 | Сообщение # 1 | Тема: Пуля не летит ( Создание объекта -> velocity -> печалька)
был не раз
Сейчас нет на сайте
Написала скрипт для создания пулек. Но почему-то работает некорректно. Пули создаются, стоят и уничтожаются. Помогите, пожалуйста.

Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BulletSpawn : MonoBehaviour {
    public Transform spawnPoint;
    public GameObject spawnable;
    public float bulletSpeed = 100f;

     void Update()
    {

        if (Input.GetAxis("Fire1") > 0)
   {
    GameObject bulletInstance = Instantiate(spawnable, spawnPoint.position, Quaternion.identity);
    bulletInstance.GetComponent<Rigidbody>().velocity = spawnPoint.forward * bulletSpeed;
    Destroy(bulletInstance,3);
   }
    }
}

Скрин редактора:
HasuniДата: Среда, 13 Июня 2018, 21:03 | Сообщение # 2 | Тема: Ошибка при вызове статического метода из публичного класса
был не раз
Сейчас нет на сайте
О, нашлась ошибка.
Спасибо :3
Я думала, что внимательно посмотрела, ан нет...
Второй раз меня спасаете )
HasuniДата: Среда, 13 Июня 2018, 20:42 | Сообщение # 3 | Тема: Ошибка при вызове статического метода из публичного класса
был не раз
Сейчас нет на сайте
В DialogueManager :

Код
void Awake()
    {
  _internal = this;
  button.gameObject.SetActive(false);
  scrollRect.gameObject.SetActive(false);
    }
HasuniДата: Среда, 13 Июня 2018, 20:35 | Сообщение # 4 | Тема: Ошибка при вызове статического метода из публичного класса
был не раз
Сейчас нет на сайте
Добрый вечер, уважаемые знатоки!
-.- Уже долго-долго пытаюсь понять, что не так...

При срабатывании триггера должно запуститься:

Код
DialogueTrigger tr = this.GetComponentInParent<DialogueTrigger> ();
      Debug.Log (tr.fileName); //Тут окей
      if(tr != null && tr.fileName != string.Empty)
      {
       DialogueManager.GetInternal.DialogueStart(tr.fileName); //Ошибка тут =(
      }


Триггер срабатывает, tr.fileName выводится, но насчет DialogueManager.GetInternal.DialogueStart(tr.fileName); пишет следующую ошибку:
NullReferenceException: Object reference not set to an instance of an object

Кусочек из класса DialogueManager:
Код
private static DialogueManager _internal;

public void DialogueStart(string name)
    {
  if(name == string.Empty) return;
  fileName = name;
  Load();
    }

    public static DialogueManager GetInternal
    {
  get{ return _internal; }
    }


Как можно тут спастись? -.-
HasuniДата: Понедельник, 11 Июня 2018, 22:35 | Сообщение # 5 | Тема: Ошибка при создании экземпляра из префаба
был не раз
Сейчас нет на сайте
Спасибо Вам всем огромное!
Все заработало, и я все поняла :3
Мр ~♥
HasuniДата: Понедельник, 11 Июня 2018, 21:39 | Сообщение # 6 | Тема: Ошибка при создании экземпляра из префаба
был не раз
Сейчас нет на сайте
Цитата
первый раз вижу такую конструкцию

В одном из видео-уроков на ютубе нашла : D И там все работает, естественно)

Цитата
у тебя есть папка Assets/Resources, в ней лежит файл Bullet.prefab?

Да, есть такие папки.

Цитата
в таком случае походу надо загрузить его как GameObject и с него уже GetComponent<Bullet>

Вы имеете в виду так?

Код
public GameObject bullet;
private void Awake()
    {
  bullet = Resources.Load("Bullet") as GameObject;
                Debug.Log (bullet.tag);
    }

  private void Shoot() //Метод бросания камней во врагов
    {
  Vector3 position = transform.position; position.y += 0.8F; //Где создается пуля? (относительно позиции игрока)
  GameObject newBullet = Instantiate(bullet, position, bullet.transform.rotation) as GameObject; //Создание пули
  newBullet.gameObject.GetComponent<Bullet>().Parent = GameObject.Find("Player"); //Теперь ошибка тут -_-
  newBullet.gameObject.GetComponent<Bullet>().Direction = newBullet.transform.right * (RightDirection ? -1.0F : 1.0F); // Направление пули
  Debug.Log ("Пиф-паф");
    }


Тогда следующая ошибка возникает в Shoot():
Object reference not set to an instance of an object
Дебаг первый работает >.< Не пойму, что ему не нравится...
HasuniДата: Понедельник, 11 Июня 2018, 20:42 | Сообщение # 7 | Тема: Ошибка при создании экземпляра из префаба
был не раз
Сейчас нет на сайте
Здравствуйте!
Делаю 2D-платформер в учебных целях.
При создании пули из префаба Bullet в скрипте (ниже) появляется ошибка "Object reference not set to an instance of an object" на строке. С чем это может быть связано? Уже пару часов сижу и переписываю то так, то сяк, но работать не хочет -.-

Кусок срипта:

Код
public Bullet bullet; // Есть класс отдельный с описанием

private void Awake()
    {
                bullet = Resources.Load<Bullet>("Bullet");  // Если после этого пишу дебаг.лог, то ошибка тут
    }

private void Shoot() //Метод бросания камней во врагов
        {
                Vector3 position = transform.position; position.y += 0.8F; //Где создается пуля? (относительно позиции игрока)
                Bullet newBullet = Instantiate(bullet, position, bullet.transform.rotation) as Bullet; //Создание пули, если не пишу дебаг.лог выше, то пишет ошибку тут
                newBullet.Parent = GameObject.Find("Player");
                newBullet.Direction = newBullet.transform.right * (RightDirection ? -1.0F : 1.0F); // Направление пули
        }


Спасите-помогите! Т.т
Форум игроделов » Записи участника » Hasuni [7]
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг