 |
10.08.2014, 15:34
|
#16
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Толчок
1. Не понятно на каком объекте этот скрипт.
2. Если такой скрипт на игроке, то он применяет силу к игроку.
3. Для поиска врагов можно использовать теги. Наприер если всем врагам назначить тег Enemy, то потом можно получить все объекты с этим тегом http://docs.unity3d.com/ScriptRefere...tsWithTag.html и применить к ним что-то. Например силу взрыва.
4. Если опираться на твой подход, то применить к врагу силу можно так:
GameObject.Find("enemy1").rigidbody.AddExplosionForce(100,transform.position,10);
Шутки мы понимаем, но нормальные шутки
|
(Offline)
|
|
11.08.2014, 02:25
|
#17
|
AnyKey`щик
Регистрация: 09.08.2014
Сообщений: 16
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Толчок
using UnityEngine;
using System.Collections;
[RequireComponent (typeof (Rigidbody))]
public class spacebarImpulse : MonoBehaviour {
void Start () {
}
void Update () {
if(Input.GetKeyDown(KeyCode.Space)) {
GameObject.Find("astar").GetComponent<AstarPath>().enabled = !GameObject.Find("astar").GetComponent<AstarPath>().enabled;
GameObject[] Enemies = GameObject.FindGameObjectsWithTag("enemy");
foreach (GameObject enemy in Enemies) {
GetComponent<AIFollow>().enabled = !GetComponent<AIFollow>().enabled;
rigidbody.AddExplosionForce(10,transform.position,5);
}
}
}
}
После компиляции:
Assets/Handmade/Enemy/spacebarImpulse.cs(18,45): warning CS0219: The variable `enemy' is assigned but its value is never used
При нажатии на пробел:
NullReferenceException: Object reference not set to an instance of an object
spacebarImpulse.Update () (at Assets/Handmade/Enemy/spacebarImpulse.cs:19)
|
(Offline)
|
|
11.08.2014, 02:40
|
#18
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Толчок
ну не будь дураком.
foreach (GameObject enemy in Enemies) {
GetComponent<AIFollow>().enabled = !GetComponent<AIFollow>().enabled;
rigidbody.AddExplosionForce(10,transform.position, 5);
}
|
ты берёшь компоненты AIFollow и rigidbody у вызывающего скрипта, у котрого их нет.
ты делаешь цикл по врагам и НЕ ЮЗАЕШЬ объект enemy.
|
(Offline)
|
|
11.08.2014, 02:50
|
#19
|
AnyKey`щик
Регистрация: 09.08.2014
Сообщений: 16
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Толчок
foreach (GameObject enemy in Enemies) {
enemy.GetComponent<AIFollow>().enabled = !GetComponent<AIFollow>().enabled;
enemy.rigidbody.AddExplosionForce(10,transform.position,5);
}
Так чтоли? Кажется, нет, потому что так все равно не работает.
Это между прочим не так-то просто.
|
(Offline)
|
|
11.08.2014, 03:05
|
#20
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Толчок
= !GetComponent<AIFollow>().enabled;
|
ну а тут почему забыл?
|
(Offline)
|
|
11.08.2014, 03:22
|
#21
|
AnyKey`щик
Регистрация: 09.08.2014
Сообщений: 16
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Толчок
Ох..ну вот, я ведь сказал, что это непросто. с:
Ну..теперь просто ничего не происходит. Вернее, они не отталкиваются, а просто наклоняются в сторону игрока.
|
(Offline)
|
|
11.08.2014, 03:29
|
#22
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Толчок
больше силу попробуй ставить
|
(Offline)
|
|
11.08.2014, 03:38
|
#23
|
AnyKey`щик
Регистрация: 09.08.2014
Сообщений: 16
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Толчок
Бинго! Как жахнуло-то. с:
Большое спасибо, взрыв сам работает.
Но вы бы не могли мне еще объяснить почему, когда я нажимаю второй раз на пробел (ну, скрипты обратно включаются), то все враги встают на те места, откуда улетели?
P.S.: A* Pathfinding Project...кажется, в нем причина..вы случаем не имели с ним дело?
|
(Offline)
|
|
11.08.2014, 06:47
|
#24
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Толчок
Сообщение от Mr_F_
ну не будь дураком.
|
Mr_F_ пожалуйста, тоже не надо таких выражений.
Оффтоп удален.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
11.08.2014, 19:36
|
#25
|
AnyKey`щик
Регистрация: 09.08.2014
Сообщений: 16
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Толчок
Ну так что, никто не проконсультирует?
|
(Offline)
|
|
11.08.2014, 23:31
|
#26
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Толчок
Вероятно никто не использует эту систему поиска путей здесь. Скорее всего тебе надо для каждого объекта после взрыва пересчитать позицию на сетке навигации, а потом заново включать поиск пути к игроку.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:30.
|