Неправильно работающий скрипт

Программирование на Юнити.

Неправильно работающий скрипт

Сообщение bgeyts667 14 ноя 2010, 19:27

Синтаксис:
Используется javascript
function OnTriggerStay (col: Collider) {
if (col.gameObject.tag != "Player") {
finalStrength = Vector3((strength * Input.GetAxis("Jump"))/(col.transform.position.x - transform.parent.Find("Player").position.x), (strength * Input.GetAxis("Jump"))/(col.transform.position.y - transform.parent.Find("Player").position.y), (strength * Input.GetAxis("Jump"))/(col.transform.position.z - transform.parent.Find("Player").position.z));
if (col.rigidbody)
col.rigidbody.AddForce(finalStrength);
//transform.parent.rigidbody.AddForce((transform.position - col.transform.position) * finalStrength * Input.GetAxis("Jump"));
//if (Input.GetAxis("Jump")) charge = 0;
}
}

Этот скрипт должен по нажатию пробела откидывать от центра объекта, к которому прикреплен, предметы в зоне триггера. Вместо этого он заставляет предметы лететь быстро вверх и чуть-чуть в одну сторону, а не от центра.
_bgeyts667@gmail.com
Аватара пользователя
bgeyts667
UNITрон
 
Сообщения: 175
Зарегистрирован: 25 авг 2010, 08:30
  • ICQ

Re: Неправильно работающий скрипт

Сообщение Paul Siberdt 14 ноя 2010, 21:02

Порнографический код... вы б хоть для собственного и машинного удобства оптимизировали его раз в 10. :)
Храните глобальную ссылку на игрока, храните ссылку на трансформ, выносите общие множители за скобки... причем тут инпут - для меня загадка, ну да ладно.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Неправильно работающий скрипт

Сообщение Ert Donuell 15 ноя 2010, 19:11

strength задаёте?
Добавить dmitrii.baranov.yumasoft в Skype
Аватара пользователя
Ert Donuell
Старожил
 
Сообщения: 781
Зарегистрирован: 05 июл 2010, 09:50
Откуда: Санкт-Петербург
  • ICQ

Re: Неправильно работающий скрипт

Сообщение bgeyts667 15 ноя 2010, 19:35

А как же. В данном случае strength определяет лишь как высоко подпрыгнет предмет.
_bgeyts667@gmail.com
Аватара пользователя
bgeyts667
UNITрон
 
Сообщения: 175
Зарегистрирован: 25 авг 2010, 08:30
  • ICQ

Re: Неправильно работающий скрипт

Сообщение Ert Donuell 16 ноя 2010, 20:47

Я бы попробовал заменить "OnTriggerStay" на "OnTriggerEnter"
Добавить dmitrii.baranov.yumasoft в Skype
Аватара пользователя
Ert Donuell
Старожил
 
Сообщения: 781
Зарегистрирован: 05 июл 2010, 09:50
Откуда: Санкт-Петербург
  • ICQ

Re: Неправильно работающий скрипт

Сообщение bgeyts667 16 ноя 2010, 21:02

Да, но тогда скрипт будет работать если только если нажат пробел в тот момент когда предмет только коснулся триггера. А нужно чтобы триггер создавал импульс для всех окружающий его предметов в любой момент а не только когда они его касаются.
_bgeyts667@gmail.com
Аватара пользователя
bgeyts667
UNITрон
 
Сообщения: 175
Зарегистрирован: 25 авг 2010, 08:30
  • ICQ

Re: Неправильно работающий скрипт

Сообщение Ert Donuell 16 ноя 2010, 21:07

Прошу прощения, не заметил. Тогда попробуйте "Input.GetButtonDown("Jump")"
Добавить dmitrii.baranov.yumasoft в Skype
Аватара пользователя
Ert Donuell
Старожил
 
Сообщения: 781
Зарегистрирован: 05 июл 2010, 09:50
Откуда: Санкт-Петербург
  • ICQ

Re: Неправильно работающий скрипт

Сообщение Pyx 16 ноя 2010, 21:29

Определите точку коллизии обьектов,возьмите от нее нормаль и по ней прикладывайте силу.
Pyx
 

Re: Неправильно работающий скрипт

Сообщение bgeyts667 17 ноя 2010, 05:32

А если объект внутри триггера? Тогда белеберда получится.
_bgeyts667@gmail.com
Аватара пользователя
bgeyts667
UNITрон
 
Сообщения: 175
Зарегистрирован: 25 авг 2010, 08:30
  • ICQ


Вернуться в Скрипты

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10