Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   таймер или счетчик (http://www.flasher.ru/forum/showthread.php?t=211209)

Zebestov 13.07.2015 13:52

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

delphic 13.07.2015 14:04

Цитата:

Сообщение от Zebestov (Сообщение 1184886)
Дело даже не в том, насколько это видно. Просто если fps по каким-то причинам просядет, то все процессы игры замедлятся. Как правило на это пофиг. Но если игра требует хоть какой-то защиты от читеров, то лучше эти процессы (вычисление игровых процессов и их отображение) разделить.

читеров в смысле подобие артмани?если взять public static var ее тоже можно отлавливать? ну а как от них избавятся, это как игла)), один раз применил,все остальное вроде как сложнее, особенно для первого написания
трудно спрыгнуть.
ну так игра и зависит же от fps,если просядет, так она и с таймером сядет, не могу понять

callme 13.07.2015 14:18

Цитата:

Сообщение от delphic (Сообщение 1184888)
ну так игра и зависит же от fps,если просядет, так она и с таймером сядет, не могу понять

Zebestov про такие ситуации: Летит птица слева направо. Если с предыдущего кадра прошло много времени, надо птицу побольше подвинуть.

Тогда игрок и не заметит, что игра просаживалась.

А хотя нет, он похоже про что-то другое.

udaaff 13.07.2015 14:32

Если необходима защита от спидхака, то dt необходимо считать через Date#time. Замедляются как раз таки таймера, дата не изменяется.
Цитата:

если взять public static var ее тоже можно отлавливать?
Для того, чтобы школьнек не смог изменить значение перменной достаточно не хранить её в явном виде. Простое xor шифрование решает проблему.
Код AS3:

public class SafeInt
{
        public function SafeInt(value:int = 0)
        {
                super();
                this.value = value;
        }
 
        private var _key:int = 1e8 * Math.random();
 
        //----------------------------------
        //  value
        //----------------------------------
 
        private var _value:int;
 
        public function get value():int
        {
                return _value ^ _key;
        }
 
        public function set value(value:int):void
        {
                _value = value ^ _key;
        }
}


delphic 13.07.2015 15:26

Итак имеется таймер на 1 сек
Имеем fps скажем на 60, ставлю счетчик, достигаем 60 останавливаемся (тоже 1 сек)
в чем то разница? по существу люди.... меня сейчас именно этот вопрос интересует
есть ли она? и какая конкретно

ZackMercury 13.07.2015 15:34

И таймер, и ФПС может просесть от лагов системы. Нельзя на это полагаться.

delphic 13.07.2015 15:44

Цитата:

Сообщение от ZackMercury (Сообщение 1184893)
И таймер, и ФПС может просесть от лагов системы. Нельзя на это полагаться.

Вооооот то что я и хотел услышать)))
я то еще даже игры не создал,поэтому я многих моментов не знаю, услышу где то и начинаю беспокоится,а вдруг.Вот если есть у кого мнение другое на сей счет пожалуйста давайте обсудим

ZackMercury 13.07.2015 16:01

Весь игровой процесс должен быть построен на дельте.

caseyryan 13.07.2015 17:05

Цитата:

Вооооот то что я и хотел услышать)))
Это было сказано уже несколько раз в этой теме.
Цитата:

оэтому я многих моментов не знаю, услышу где то и начинаю беспокоится,а вдруг.
Проблемы надо решать по мере их поступления. Всего не предусмотришь.

delphic 14.07.2015 10:34

дабы не создавать новый топик, подскажите как получить сколько установлено fps? this. ????? и


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.