Обновление мира на сервере
|
|
|
Vigilem | Дата: Пятница, 06 Сентября 2013, 16:20 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| Здесь всё правильно. Ищите ошибку в другом месте.
|
|
| |
Vinchensoo | Дата: Пятница, 06 Сентября 2013, 16:23 | Сообщение # 3 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Есть вариант сделать нормально. Timer
|
|
| |
VolkodavAD | Дата: Пятница, 06 Сентября 2013, 21:45 | Сообщение # 4 |
частый гость
Сейчас нет на сайте
| С чего цифра 20, незнаю. и как реализовано "задержка(4 сек)"? просто переменная? Просто похоже что startTime доходит до 55-59, и все! DateTime.Now.Seconds уже не может быть больше 59, поэтому и totalTime = currentTime - startTime не больше 3.
я бы по другому немного делал: Код int currentTime = DateTime.Now.Seconds;
if( ((currentTime - startTime ) > 4) || ((startTime - currentTime) > 4) ) { startTime = currentTime; UpdateWorld(); }
Думай, что говоришь. Говори, что думаешь.
Сообщение отредактировал VolkodavAD - Пятница, 06 Сентября 2013, 21:50 |
|
| |
FadeBaker | Дата: Пятница, 06 Сентября 2013, 22:08 | Сообщение # 5 |
JavaSE Game Developer
Сейчас нет на сайте
| Цитата (VolkodavAD) я бы по другому немного делал: Код if (DateTime.Now.Seconds / 4 % 2 == 0) UpdateWorld(); Должно работать, если я правильно понял.
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Сообщение отредактировал Fade - Пятница, 06 Сентября 2013, 22:09 |
|
| |
VolkodavAD | Дата: Понедельник, 09 Сентября 2013, 18:30 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| Fade, Цитата (Fade) Должно работать, если я правильно понял. чето кто то чего то не понял, может и я проверь: Если брать за начало 0 секунд, то до истечения 1 секунды деление целочисленное выдает всегда ноль. Остаток деления будет то же нось. Далее, от 8, до 11 - деление на 2 даст в результате 2. Остаток от деления останется 0, то есть равенство будет выполняться с начало 999млс, потом около 4 секунды подряд, причем при при каждом вызове uodate в этих временных промежутках. а надо ж при каждой 4 секунде, и на сколько я понял, один раз
Думай, что говоришь. Говори, что думаешь.
Сообщение отредактировал VolkodavAD - Понедельник, 09 Сентября 2013, 19:27 |
|
| |