Автор Тема: Invoke, SendMessage или Coroutines  (Прочитано 1390 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Апрель 19, 2015, 01:19:16 am
Прочитано 1390 раз

Zylaks

  • Активный участник

  • Оффлайн
  • ****

  • 271
  • Репутация:
    2
    • Просмотр профиля
Есть скрипт негативных эффектов и скрипт информации о персонаже:

http://pastebin.com/eGKWS1Pi - негативные эффекты
http://pastebin.com/sZNr2Y1u - информация персонажа

Как вызывать метод в другом скрипте, например, каждые 5 секунд? Invoke зацикливает метод и хп "улетает" в 0. Еще интересует, как передавать с каждым вызовом вычет очков здоровья, чтобы в вызываемом методе не прописывать их вычитание?

P.S. Хочу сделать без таймеров, чтобы минимизировать проседание fps (экономия на спичках)

Апрель 19, 2015, 05:31:05 am
Ответ #1

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2454
  • Репутация:
    153
    • Просмотр профиля
InvokeRepeating пробуй

Апрель 19, 2015, 15:40:48 pm
Ответ #2

Zylaks

  • Активный участник

  • Оффлайн
  • ****

  • 271
  • Репутация:
    2
    • Просмотр профиля
InvokeRepeating пробуй

PI.InvokeRepeating("CalculationHP", 2, 2);
Вызывается постоянно, а не каждые 2 секунды

Апрель 19, 2015, 16:01:03 pm
Ответ #3

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2454
  • Репутация:
    153
    • Просмотр профиля
не может такого быть!
Ну если только ты сам его постоянно вызываешь там.
покажи весь код.

Апрель 19, 2015, 16:32:52 pm
Ответ #4

Zylaks

  • Активный участник

  • Оффлайн
  • ****

  • 271
  • Репутация:
    2
    • Просмотр профиля
не может такого быть!
Ну если только ты сам его постоянно вызываешь там.
покажи весь код.

В самом первом посту у меня 2 ссылки на pastebin, 2 скрипта

Апрель 19, 2015, 17:27:15 pm
Ответ #5

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2454
  • Репутация:
    153
    • Просмотр профиля
Ну, и как ты логику эту себе представляешь?
Как оно работать должно?

ну poisonOn у тебя включился, и InvokeRepeating будет запускаться в каждом кадре без остановочно!

Апрель 19, 2015, 21:20:03 pm
Ответ #6

Zylaks

  • Активный участник

  • Оффлайн
  • ****

  • 271
  • Репутация:
    2
    • Просмотр профиля
Ну, и как ты логику эту себе представляешь?
Как оно работать должно?

ну poisonOn у тебя включился, и InvokeRepeating будет запускаться в каждом кадре без остановочно!

А как тогда сделать, чтобы при poison = true, Invoke вызывал функции каждые 2 сек

Апрель 19, 2015, 21:47:38 pm
Ответ #7

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2454
  • Репутация:
    153
    • Просмотр профиля

А как тогда сделать, чтобы при poison = true, Invoke вызывал функции каждые 2 сек

Просто 1 раз запускай RepeatingInvoke. дальше она сама будет бесконечно срабатывать каждые 2 секунды, пока её не остановишь.