![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1201 | |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
![]()
Beermonza, большое спасибо! Не знаю, почему надо задавать отрицательную высоту, но главное что код работает.
К сожалению, форум не дает повысить репутацию: Цитата:
|
|
![]() |
![]() |
![]() |
#1202 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
В оперативной памяти данные могут располагаться в разном направлении для облегчения и ускорения операций вычисления. В данном случае они расположены задом наперед. Некоторые структуры читают данные с реверсом, а некоторые читают как есть. Ты задаешь направление чтения в структуре самостоятельно.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#1203 |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
![]()
Здравствуйте.
Загружаю кадры анимации персонажа в массив PByteArray, но почему-то некоторые кадры не загружаются. Сделал упрощенную версию процедуры загрузки, однако это-то тоже не помогло. Прошу более опытных программистов сказать, что я делаю не так. 1) Пример упрощенного кода: Код:
Код:
Для пояснения, прикрепляю загружаемое изображение и результат вывода 74-го кадра. |
![]() |
![]() |
![]() |
#1204 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Выходи на пикселы загруженного файла в двумерном цикле. Компоненты забери вот так:
Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#1205 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Немного непонятно, почему Вы задействуете такие хитрые методы для простого выведения изображений на экран (хотя полагаю, в простой версии этого нет, но в "сложной" есть).
Несколько непонятно при этом ещё использование canvas.pixels (ну, опять же, предположу, что для теста). Я бы всё же посоветовал использовать более надёжный TBitmap.ScanLine. Ну или почитать эту тему со страницы 40 где-то, там тотальные исследования скорости работы всего, чего можно поюзать на процессоре. Вообще , немного внушают непоняток расчёты -96 используется как множитель, например (я бы abs брал ), в целом бы под отладкой прошёлся и сопоставил с пачкой примеров из сети. Сделал бы на сканлайне и сравнил - есть ли различия. И вообще неплохо бы проектик архивчиком пощупать. Авось, глаз замылился, тоже не исключается ведь. |
![]() |
![]() |
![]() |
#1206 | ||
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
![]()
Beermonza, phomm, спасибо за ответы. Извините, что оставил столько вопросов.
И так, код, который я хочу отладить, используется в игре. Раньше я пользовался Canvas, но потом перешел на массив пикселей. В результате скорость повысилась где-то в два раза. Сейчас у меня процессор загружается под 40%, а в некоторых местах под 70, причем это с отсечением объектов, если они вне зоны видимости. Для меня очень много, так как на уровне практически только 5 объектов. Основная нагрузка, как показали тесты, это вывод графики, который работает так:
В основном коде, разумеется, ни каких Canvas и GetRValue нет. Процедура отрисовки идет через два цикла (высота, ширина), путем присваивания пикселя массиву TRGBTriple соответствующего пикселя из PByteArray, взятому через формулу [i*h*3+j*3] со смещением по компоненту цвета и прозрачности (если она присутствует). Понижение нагрузки в два раза очень радует, однако то, что некоторые картинки не загружаются, заставляют еще тщательнее отлаживать код, и искать ошибки. В общем, проблема с непонятным черным квадратом и пикселями, которые как-то интересно располагаются, заставила меня упростить код. Но, это не помогло. Иногда этот черный квадрат появляется, чаще на 74-ом кадре, а иногда нет. Вот только, почему такое происходит, я пока не смог понять ![]() Цитата:
Если не трудно прошу скомпилировать и написать результат, так как есть вероятность, что черный квадрат только на моем компьютере выводится. Цитата:
|
||
![]() |
![]() |
![]() |
#1207 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]() Цитата:
Вот тут забери библиотеку для работы с PNG: http://programmersforum.ru/showpost....&postcount=824 Во вложении пример вывода изображений, разберись с ним и примени для своего проекта.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
![]() |
![]() |
![]() |
#1208 |
Gamedeveloper
Форумчанин
Регистрация: 11.07.2012
Сообщений: 149
|
![]()
Сам, стараюсь не влезать в графику и физику. Но работаю с командой, и разрабатываю механику для движка. Кто сказал что на Delphi нельзя делать ? - "Да если руки от куда надо, все можно сделать, и кризис мизис ваш, и Сталкер..".
- Будут вопросы, обращайтесь. |
![]() |
![]() |
![]() |
#1209 | |
Играюсь с Python
Форумчанин
Регистрация: 12.12.2012
Сообщений: 340
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#1210 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Ну какой турбо паскаль? ...ты подумал прежде чем написать эту глупость?
Изучаешь Си, ну и изучай, только хомяком безбашенным не становись, ...промыли уже содержимое головы видать. Delphi - Object Pascal, мощнейшая среда на ряду с Сями, так же можно использовать и OpenGL и DirectX, и под любые ОС. Глупый народ просто ищет готовое, а оно на С++ готовое, ничего знать не нужно. Кто на чем привык, на том и пишет. А если понятий о Delphi нет, то и занижать его возможности не следует.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Уроки по созданию игр для новичков... | -=DeS=- | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 750 | 14.11.2017 20:26 |
Музыка программистов - как вы относитесь к АРИИ? | Весёлый Жека | Свободное общение | 46 | 10.10.2008 22:32 |
Конкурсы по созданию игр на Delphi | mutabor | Свободное общение | 0 | 15.06.2007 12:40 |
Работа по созданию ПО | remix | Фриланс | 3 | 22.04.2007 11:00 |