Страница 2 из 2
Re: Урон при попадании.
Добавлено:
26 ноя 2011, 08:22
reimon245
Извините,но немного не понял.Цели стоят на полу, условие >0 поставил чтобы ошибка ушла,но не помогло). Как убрать эту ошибку я немного не понимаю.
Re: Урон при попадании.
Добавлено:
26 ноя 2011, 09:02
waruiyume
Проверить на null collision.rigidbody.
Используется csharp
public void OnCollisionEnter(Collision collision) {
if(collision.rigidbody==null) return;
if(collision.rigidbody.mass<1){}
А лучше, пусть пуля вызывает метод отнимания здоровья.
Используется csharp
using UnityEngine;
public class Bullet : MonoBehaviour
{
public int damage = 10;
void OnCollisionEnter (Collision other)
{
EnemyHealth eh = other.transform.root.GetComponent<EnemyHealth>();
if(eh)
eh.ShowCurrentHealth(-damage);
Destroy(gameObject);
}
}
Re: Урон при попадании.
Добавлено:
26 ноя 2011, 09:22
reimon245
СПАСИБО БОЛЬШОЕ ПОМОГЛО! И насчет пули полезно,огромное спасибо за конкретные примеры, без них очень тяжело!Спасибо!
Просто я скрипт для объекта делал ,т.к. не знал как получать информацию в какой именно объект попало из нескольких и что у именно этого объекта нужно забрать здоровье, поэтому сделал чтобы объекты в которые стреляют это делали, а теперь похоже все упростится и я смогу сделать чтобы пули отдавали команды,это проще и удобнее ,ведь я буду делать несколько видов пуль)Спасибо!
Re: Урон при попадании.
Добавлено:
27 ноя 2011, 15:51
DDDENISSS
waruiyume, не, лучше, чтобы пуля не могла принять сама отнять здоровье на случай, если у игрока есть еще бронь или бессмертие.
Я бы сделал скрипт или интерфейс, который принимал бы удары от пуль. В этом способе плохо то, что используются не стандартные средства т.е. перенести такой объект в другой проект и он принимать пули не будет, если в проекте это по другому реализовано.
OnCollisionEnter более стандартизовано выглядит, но как отличить пулю от обычного столкновения я что-то не понял.
Re: Урон при попадании.
Добавлено:
30 ноя 2011, 16:09
bomberest