Oleg Linkov
Выдает ошибку
error CS1061: 'float' does not contain a definition for 'toString' and no accessible extension method 'toString' accepting a first argument of type 'float' could be found (are you missing a using directive or an assembly reference?)
Mr_Kapitoshka
на самом деле твой вариант должен был работать тоже. Тогда он какую ошибку выдавал?
Oleg Linkov
я просто не могу в префаб передать текст
Mr_Kapitoshka
т.е. ошибки он никакой не выдавал, просто текст не выводился?
я еще вчера твои скрипты почитал, и там есть прилично несуразиц всяких, из-за которых, я подозреваю, твой код просто не исполняется. а это не тоже самое что ошибка. поэтому верни все как было и подумай вот о чем:
у тебя два класса - shot и bullet. в shot ты делаешь вот так -
public GameObject Bullet; public GameObject BulletPrefab;
оба объекта имеют тип GameObject, не должны ли они быть типа Bullet? соответственно объект Bullet в первой строчке надо переименовать как-то. далее -
Instantiate(BulletPrefab, Bullet.transform.position, Bullet.transform.rotation);
здесь ты создаешь экземпляр объекта BulletPrefab, в который копируется трансформ от Bullet, НО! ты нигде не создал экземпляр Bullet, поэтому вопрос - что же собственно у тебя копируется в BulletPrefab? скорее всего там дефолтные значения, если Юнити не ругается на это. А по дефолту там могут быть все нули. Т.е. BulletPrefab это пустой GameObject висящий где-то в 0, 0, 0 и ничего не делающий.
Соответственно, твой код на Update() и код на OnTriggerEnter никогда не исполняется, поэтому ты ничего и не видишь.
Дальше, даже если бы код исполнялся, то в OnTriggerEnter ты делаешь опять что-то странное -
void OnTriggerEnter(Collider Other){ if(Other.gameObject.CompareTag ("Enemy")){ Destroy(gameObject); Destroy(Other.gameObject); KillingZombie += 1; Text.text = "Kills:" + KillingZombie; }
а если точнее то вот тут:
Destroy(gameObject); Destroy(Other.gameObject);
ты только что уничтожил объект самой пули и теперь пытаешься изменить одну из его переменных?
KillingZombie += 1;
как? этой переменной уже не существует.
Вообще сама идея считать количество убитых зомби в пуле это .. неправильно как минимум. Счетчик убийств должен быть в классе представляющим твоего игрока, а то и вовсе в каком-то высокоуровневом менеджере игровой статистики. Но хотя бы в игроке.
Oleg Linkov
Так а как в префаб передать текст?
Mr_Kapitoshka
перечитай все что я написал, внимательно, еще раз. и так до тех пор пока ты не поймешь как передать в префаб текст
Тема в архиве.