Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 25.01.2008, 01:43   #1
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Запуск функции по таймеру

Драсте.
Каким макаром заставить функцию запускаться через определённый
промежуток времени?
Подскажите.
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 01:46   #2
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Ответ: Запуск функции по таймеру

if прошло_определенное_время then запустить_функцию
3Д-программирование тут при чем?
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 02:00   #3
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Запуск функции по таймеру

как причём, вопрос по blitz3d

жалко что к таким ответам нету кнопки не полезно
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 02:26   #4
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Ответ: Запуск функции по таймеру

юзай Millsecs()
типо так
каждые 3 секунды будет выполняться фунция (вроде так)
В цикле:
If (Millisecs() - StartTime) < 3000 Then
         Функция()
          StartTime = Millisecs()
EndIf
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 08:44   #5
jimon
 
Сообщений: n/a
Ответ: Запуск функции по таймеру

Blitzerg

у тебя и так 90% сообщений не полезно, так что не можешь винить всех
 
Ответить с цитированием
Старый 25.01.2008, 13:02   #6
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Запуск функции по таймеру

Ибо эти сообщения в одном разделе болтовня.
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 13:14   #7
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Запуск функции по таймеру

Кристалл, вообще так не делается.
если у тебя будет ф-ия вызываться один раз за игровой цикл, то таймер ставь в ф-ию, проще будет менять значение таймера.
ЗЫ. ты кстати какой IDE пользуешся?
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 13:29   #8
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Запуск функции по таймеру

Родным пользуюсь потому, что хелп нужен.

Global ta

Global Fun

Function Timer()

If ta < MilliSecs() Then 
ta = MilliSecs() + 200.
Fun=1
Else
Fun=0
End If
End Function

If MouseDown(1) And Fun=1 Then s_construct.s(User,pricel)
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 13:43   #9
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Запуск функции по таймеру

Function Timer()

If ta < MilliSecs() Then
ta = MilliSecs() + 200.
//do_something
End If
End Function
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 14:51   #10
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Ответ: Запуск функции по таймеру

У меня так:
Есть массив timer(кол-во кнопок-функций+один обьект массива для времени)
В цикле timer(1)=MilliSecs () - это и есть тот "один обьект массива для времени"
дальше если нужно определенное действие раз в определенное время (стрельба, разгон и т.д.), то так:
If KeyDown(сканкод)=1 Then
If timer(1)>timer(2) Then
motor%=motor%+10
timer(2)=timer(1)+200
End If
Else
timer(2)=0
End If
тут еще один подводный камень, для каждого действия или кнопки нужен свой таймер, то есть
timer(2)=таймер для первого действия
timer(3)=для второго
timer(4)=и т.д.
Иначе происходит конфликт и нипашет ничего. Выше пример сделан для кнопок, но убрать кнопки и сделать вызов функций не так уж и труден.
Ну вродь так , если что гуру меня поправят.

Последний раз редактировалось Bagration, 25.01.2008 в 16:53. Причина: забыл дописал слово "времи", а надо "времени"
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 16:08   #11
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Запуск функции по таймеру

Не... Так как у меня щас лучше,
ибо просчётом времени общим пользуется не только
юзер но и все боты.
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 16:46   #12
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Запуск функции по таймеру

(хинт) очень аккуратно используйте Millisecs() в ф-иях обновления для ботов, пуль, еще чего то, чего может быть не 1 на сцене.
могут быть глюки.
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 16:52   #13
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Ответ: Запуск функции по таймеру

Ага, замечен глюк если одну и туже переменную таймера, скажем timer=MilliSecs ()+1000 использовать в двух-трех разных условиях - то баг, и ничего не пашет. Спасают тока массивы когда для разных условий свой таймер.
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 18:32   #14
Taugeshtu
scientist.alien
 
Аватар для Taugeshtu
 
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений
(для 2,593 пользователей)
Ответ: Запуск функции по таймеру

Багратион, это уже проблема алгоритма - вернее его ошибочность.
По поводу Иде: VisualBlitz IDE точно умеет работать со справкой - проверено. По другим - не знаю.
В тему: если делать таймер для чего-то, чего может быть МНОГА - то имеет смысл забирать Millisecs() 2-3 раза за цикл логики в разных местах ("тяжесть" участков примерно одинаковая) в какую нибудь переменную - меньше ошибок, однако же меньше и точность.
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab.
We LOVE you. We MADE you.
(Offline)
 
Ответить с цитированием
Старый 26.02.2008, 20:12   #15
Alex_Noc
Разработчик
 
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений
(для 289 пользователей)
Ответ: Запуск функции по таймеру

Да и не забывайте про одинаковые имена переменных совпадающими с названием переменных загруженных моделек - ваще глюк такой тяжелый - хрен найдешь . Потому что блиц даже не ругаеться по этому поводу
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lib_timer: выполнение процедуры по таймеру ViNT Библиотеки 18 14.03.2011 16:46
Анимация по таймеру. Fatalix3d 3D-программирование 1 08.08.2009 17:55
Запуск на Samsung'ах Skythrone Прочие вопросы 1 13.08.2008 02:47
Выключение или перезагрузка компьютера по таймеру Prof. BiG BanG PureBasic 2 05.11.2007 20:35
Запуск отдельногоприложения из VB Raiter Visual Basic 5 29.10.2007 16:50


Часовой пояс GMT +4, время: 12:53.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com