![]() |
Есть старый бок, что из-за особенностей строения клавиатуры на PC, если зажаты одновременно много (минимум 4, что-ли) клавиш, то есть нерешаемые проблемы с тем, чтобы узнать, какие именно и какие зажимаются ещё. Потому в мортал 4-й на пейси без джойстика нормально не порубиться =\ Но вродь с этими клавишами всё нормально работает.
Код в общем ничего, разве что если нажать что-то типа влево и вправо одновременно, то не напишет что надо. Что не так - не понятно. Если нажимали "влево, вниз, вверх" и не написался upPress, то не знаю, не смог воспроизвести. Код AS3:
|
Там нет никах проблем. Посмотрите
http://www.murmadillo.tut.su/html/co...n-attempt.html Если накидаете много графики или сложные коллизии, то игруля начнет загружать проц на 100%, а это значит что ей надо еще больше, тк. проц же нельзя загрузить на 120 процентов к примеру, поэтому начнется проблемы с кадрами, а клава шлет события нормально, от этого получается не мгновенный отклик (бывают ситуации когда операционочка выделяет файл подкачки для плеера, когда игра использует много графики, этот файл образуется при нехватке оперативной памяти, и периодически файл как-бы разгружается и игра затормаживается не секунд 10-30), при тестировании игры попробуйте на старом компьютере добится загруза процессора не больше 90%. |
Вот решение:
Код AS3:
Как пользователь нажал кнопку - ставим - нажато. Как только отпустил - не нажато. И при EnterFrame проверяем переменную - если нажато - движение. И не будет никаких "заиканий", потомучто они возникают только если вешать движение на событие клавиатуры. В вашем коде причина именно в этом, т.к. он не может грузить процессор на 100+% |
Цитата:
И вот спустя 24 часа с красными глазами и не полностью функционированием мозга я пришёл к такому решению, сделать всё это за счёт скорости. Типа как "Мук" пишет "Анимация построенная на скорости" Вот теперь появилась другая проблема, как это реализовать? Вот собственно и сама идея: Есть объект на сцене (Box), заставляю его вдвигаться по оси "y" с интервалом установленным в "Timer" т.е. сам таймер и сдвигает объект по оси "y". Чего добиться хочу я: нажали клавишу, "Вох" рванул с интервалом в "20" после, интервал медленно увеличивается до "100" что и заставляет объект плавно снижать скорость. Естественно если достигли нужного нам интервала, выключаем "таймер" или попросту перестаём сдвигать объект. Т.е. я так понял что моя проблема была не в отклике клавиш а в плавности объекта. Если кто знаком с таким методом, может поделитесь, а то я себе уже всю голову взорвал. Добавлю, пока скорость объекта плавно достигает нуля, у нас как раз остаётся время на обработку следующих событий. Есть ещё вопрос, если кто делал игры основаны на скорости: Какое количество кадров вы выставляете или обновляете экран после каждого действия? Добавлено через 8 минут Цитата:
НАРОД!!! ПРОШУ, НЕ ОСТАВЛЯЙТЕ ЭТУ ТЕМУ!! Очень важно её правильное решение, это будет полезно всем! Добавлено через 39 минут Вот привожу малость от своей идеи. При нажатие на "stage" указателем мыши объект ускоряется. Помогите додумать плавное поведение объекта. Не отрицаю, ещё немного и я сам додумаю, просто уже на столько измотался, ппц. Игра уже почти готова, а мозгов не осталось. Код AS3:
Придумал вот такую вставку, а вот как правильно её использовать? эх... Код AS3:
|
Чет не понятно, вы сами себе противоречите, вам надо мнгновенный отклик и плавное поведение объекта, не парьте себе мозг, вам прямая дорога на jiglibflash, в гугл, ребята все уже закодили и дали примеры, вот в свою гоночку, что в подписи, вставил эти классы, ниче так, однако нафик ни кому не нужно, не заработал ни копейки на этом.
|
так я же не к копеечкам стремлюсь а к познанию языка или этот форум не в образовательных целях сделан?
Я хочу сделать тот же велосипед но своими руками! А ездить на нём не зная как он устроен, на фиг. Да, в инете Adobe-вских кривых решений море. А по девелопу 0. |
| Часовой пояс GMT +4, время: 09:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.