Выполнение любого метода в первый раз - оно жручее, может в первый раз оно долго инициализируется?
Попробуй вызвать его разок фоном, вхолостую так сказать, до показа игрового экрана.
Спасибо, beaver, помогло. Время выполнения первого Fire() после полной прогрузки методов упало до 1 мс, а потом, когда уже CLR создает на все эти функции постоянную ссылку время падает до 0.1 - 0.2 мс. Плюс еще прогнал в инициализации все методы создания партиклей, что убрало микрифриз при первом разрушении блока.
Чертов GC всю малину портит. Если подождать секунд 30, и снова выстрелить, то снова произойдет задержка.
Изменил(а) Hellmapper, 29.01.2014 17:40:16
Объявил Player.Fire() и CreateWeaponFire() статичными по сути теперь вообще CLR должен их не трогать. Но все равно, если подождать и произвести выстрел - микрофриз. Так же вызываю их пустую реализацию в конце каждого Update() карты - все равно микрофриз. Но хотя бы в начале его нет.
Перелопатить архитектуру надо.
У меня большинство обработки игрового цикла в статиках. Вызовы любых методов исключаю по максимуму, отсюда сборщику работы нет. Проседаний и фризов не ловил пока.
Т.е все Update, которые возможно сделать статичными, сделать таковыми. А с вызовом оружия к примеру: сделать переменную FiredWeapon с типом оружия, а в Update карты смотреть, если таковой не None, то добавлять оружие и переключать FiredWeapon в None. А из Player уже переключать у карты FiredWeapon. Ну это так, что сразу в голову пришло.
Новое оружие - генератор молний. Разрушает столбец блоков. YouTube Video
Еще изменил блоки в начальном меню. Вопрос: предыдущий вариант, там где они разбивались был лучше или лучше этот?
Изменил(а) Hellmapper, 29.01.2014 20:25:07
general написал:
ну поперло фаталити, анималити ...
Непонятно к чему это относится, оружие как оружие, такого "фаталити", чтобы все 5 молний истратить за несколько секунд и снова их собрать на реальных уровнях не выйдет - шанс появления на карте ~5%, а без такого мгновенного разрушения столбца дальше 7 уровня не пройти - блоки появляются достаточно быстро.
Мне надо еще комикс-заставку закончить плюс музыку фоновую написать, а так из программной части:
Последнее оружие, пока не знаю как оно будет выглядеть, но оно будет сносить 1 строку блоков, возможно разновидность молнии.
Бонусы - при поднятии заменяют 1 или несколько текущих цветов в обойме на белый, который повреждает блоки независимо от их цвета.
Босс - продумать механику обычную и повышенной сложности, реализовать все это.
Дописать UI, настройки, онлайн счет.
К летней сессии думаю успею. Это будет 1/3 часть компании полностью не раскрывающая сюжет. Остальные 2/3 в виде обновления будут выпущены в зависимости от популярности в сторе.
Изменил(а) Hellmapper, 29.01.2014 23:28:43
Немного скриншотов из проектирования фрема помощи, который появляется автоматически на первом уровне, а потом отключается. Его можно всегда включить в настройках и посмотреть еще раз. Хотелось бы услышать что стоит подправить/добавить.