|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.11.2009, 17:30 | #11 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Демка по анимациям.
У тебя сложные исходники с ошибками. В них мне нет смысла разбираться поэтому сделал демку с рабочим классом анимации.
Код при запуске: Код:
Код:
|
16.11.2009, 17:34 | #12 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
В редакторе есть класс, но им почему-то не пользуются, вот код:
Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
16.11.2009, 18:16 | #13 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
Beermonza, работает код правильно, но всё равно есть некоторые проблемы, которые уже исправил. Большое спасибо.
Вадим, твой исходник не смотрел - не понадобилось. Спасибо. |
16.11.2009, 18:21 | #14 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
Код:
Последний раз редактировалось Манжосов Денис :); 16.11.2009 в 18:34. |
16.11.2009, 20:20 | #15 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Первое, ...код не совсем политкорректный. Ты в первом цикле наталкиваешься на конкретный объект, именно в нем должна быть запись на счет кадров. Почему? ...да потому, что хоть у них и одинаковая текстура, но они все же разные объекты и у них не должно быть все синхронно. Одной и той же анимацией можно пользоваться по разному. Допустим рубят дерево, пошла анимация его падения, тут же срубили еще одно дерево, ...т.е. на первом дереве еще не завершилась анимация, а на втором нужен 0-й кадр, а если вспомнить, что у тебя на анимацию конкретной текстуры только один счет в конце по переменной "al", то ты получишь глюк на экране, ...не до конца падающее дерево снова встанет на место и синхронно со вторым повторно начнет падать.
Второе, ...ты делаешь лишний цикл по банку текстур, к нему доступ есть на месте в первом цикле. Третье, ...если на участке карты нет объектов с анимацией, но на карте где-то есть объект с такой анимацией, но его не видно, у тебя все равно идет счет, ..."ай, какая мелочь..." скажешь? ...не торопись с выводами. Когда в банке будет не одна сотня текстур и динамический выбор, не только по кадрам, но и по состояниям, то ты в полной мере почувствуешь тормозность кода. Я уже через все это прошел, ты же можешь не тратить попросту время.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
16.11.2009, 21:02 | #16 | |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
Цитата:
Насчёт третьего суждения. У меня проверка только на видимый участок карты идёт: Код:
Код:
Единственное, что меня не устраивает так это то, что при полной загруженности видимого участка карты 16x8 загрузка ЦП 13 %. Последний раз редактировалось Манжосов Денис :); 16.11.2009 в 21:06. |
|
17.11.2009, 00:51 | #17 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Если есть плавающая камера, значит есть видимый участок, на котором может не быть объектов, текстуры и анимация которых все равно загружается при считывании всей карты с файла. Или у тебя при сдвиге камеры заново загружаются текстуры?
По первой у меня тоже были такие вроде бы логичные ответы самому себе: "да это мне не нужно", "какое расширение? ...один вид на всех и хорошо", "какая динамика? ...вот, что в ручную в коде прописано, то и загрузит", ...как видишь, я свои мнения по этому поводу уже сменил, и правильно сделал, ...у меня полный игровой кадр с независимой анимацией всего, кушает 45% ЦП, ...это не предел.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
17.11.2009, 08:49 | #18 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
У меня в самом начале создаются объекты (текстуры), а вместе с ними в самом начале загружаются анимации. Но ведь смысл подгружать текстуры, если на пустом участке карты они не рисуются? Тем более, как мне кажется, это будет слишком большой нагрузкой для ЦП: сначала свыделить память, загрузить текстуру и потом её освободить?
Загруженность процессора 13 % только для видимого полностью загруженного участка карты, если же переключить камеру на 16 позиций, при условии, что на видимом участке нет объектов, то загрузка становиться равной 0 %. Код:
Последний раз редактировалось Манжосов Денис :); 17.11.2009 в 16:16. |
17.11.2009, 14:49 | #19 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Я согласен с Beermonza.
По организации кода: Вообще лучше раскидывать код по разным модулям: анимации в одном, процедуры для работы с камерой в другом и.т.д. Это не только структурирует код, но облегчает работу, один и тот де код не придется писать несколько раз. Такой код отвечающий за элементарное: Код:
|
17.11.2009, 16:12 | #20 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
Читаемость кода облегчать для кого? Мне лучше, когда всё в одном модуле содержится, но некоторые функции или процедуры я всё равно по другим заголовочным файлам распределил, так как я использую их не в одном проекте, а в нескольких. Я ведь проект не для кого-то пишу, чтобы ему читать легче было... Если от меня будут требовать структуризации кода по модулям, то я сделаю так, иначе зачем мне это ?
Насчёт copy-past'ов так у меня их нет. Если код повторяется несколько раз в проекте, то он заносится в отдельную процедуру. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi 7 проблема с Анимацией | Rus 47 | Помощь студентам | 1 | 26.05.2009 00:17 |
Помогите с анимацией проги! | Aboltus | Общие вопросы Delphi | 3 | 29.07.2008 23:21 |
Работа с анимацией в ACCESS | kuk132 | Microsoft Office Access | 1 | 17.07.2008 14:07 |
Задача с анимацией | KpeHDeJIb | Помощь студентам | 1 | 04.07.2008 20:23 |
Помогите с анимацией в Паскале | ЕвгениуS | Помощь студентам | 6 | 06.06.2008 15:10 |