Forum > Russian

Три вопроса новичка: OnPaint, ImageList и логика программы

<< < (5/6) > >>

majolika:

--- Quote from: Seenkao on February 21, 2025, 05:37:35 pm ---Проблема только в том, что когда создаёшь минимальное приложение, оно обычно идёт без использования LCL и множество элементов приходится рисовать вручную (в LCL это уже сделано).

--- End quote ---
Когда уже набил руку и берёшься делать что-то серьёзное, то, понятное дело, и контролы вручную рисовать можно, и на голом WinAPI писать, и всё, что угодно.
Но когда ты новичок, во все эти глубины лезть вообще не с руки. Ты и с тем-то, что имеется постоянно запинаешься и чертыхаешься.
Так что совет «бери движок и вперёд» — для новичка совершенно не подходит.
Да, LCL, конечно, далеко от идеала, но на ней, по крайней мере, сел и поехал. Да, колёса могут быть с восьмёрками, да, руль несимметричный, да, сидушки может не оказаться, ну, чё делать: костылей понаставим да поедем. Но ругаться в процессе я, простите, всё равно буду. :))

Seenkao:
Когда я начинал заниматься и хотел создать игру, то делал всё сам, вручную. Думая примерно так же как ты.

Бесполезный это был период? Нет, точно нет. Но далеко не продуктивный. Да, я узнал способы взаимодействия с LCL/VCL, изучил немного их. Научился взаимодействию с ними и сейчас это где-то использую периодически.

Но если бы я тогда использовал уже какой-то готовый движок, то наиболее уверен, что я получил бы и больше знаний и быстрее бы их получил (но меньше бы знаний по LCL/VCL получил, что для меня менее критично). А я любитель во внутрянке покопаться и узнать как всё работает. Сейчас то какие-то примеры делаю и перебираю движок, который дорабатываю (исправляю неточности и огрехи).

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

На своём опыте я понял, что использование какого-либо движка (если он достаточно хорошо разработан и подходит тебе), больше подходит, чем просто использование LCL/VCL. Но тут есть один нюанс. Нужно выбрать этот движок!  :)


--- Quote ---Но ругаться в процессе я, простите, всё равно буду.
--- End quote ---
а это всегда так, так что это нормально. )))

majolika:

--- Quote from: Seenkao on February 21, 2025, 06:30:49 pm ---использование какого-либо движка, <...> больше подходит, чем просто использование LCL/VCL

--- End quote ---
Ну, по сути-то, LCL/VCL — это тоже движок, только не графический, а GUI.
Вместо расстановки моделек и настраивания их взаимодействий, ты расставляешь контролы и настраиваешь их взаимодействие.
Это  раз.

Два:
Мне не нужна графика, мне нужны нативные контролы: окна, менюшки, кнопки, чекбоксы и т.д. Максимум — картинку вклячить да анимашку простейшую отрисовать.
Т.е. мне нужны табуретка и стол, а ты предлагаешь взять вагон досок, пилу, рубанок, стамеску и сделать себе стол и табуретку. :)

А насчёт покопаться во внутрянке... Я когда-то ради этого на ассемблере и голом WinAPI написал простенький блокнот.
Не из надобности, конечно, а чисто из интереса, как оно там всё устроено.
Но сейчас мне уже совершенно неохота лезть во все эти низкоуровневые дебри. Дайте стол и табуретку! :)

Seenkao:

--- Quote from: majolika on February 21, 2025, 07:58:59 pm ---Ну, по сути-то, LCL/VCL — это тоже движок, только не графический, а GUI.
Вместо расстановки моделек и настраивания их взаимодействий, ты расставляешь контролы и настраиваешь их взаимодействие.
Это  раз.

Два:
Мне не нужна графика, мне нужны нативные контролы: окна, менюшки, кнопки, чекбоксы и т.д. Максимум — картинку вклячить да анимашку простейшую отрисовать.
Т.е. мне нужны табуретка и стол, а ты предлагаешь взять вагон досок, пилу, рубанок, стамеску и сделать себе стол и табуретку. :)

--- End quote ---
нет, я предлагаю взглянуть на это по другому. )))

Всё достаточно просто, большинство движков дают возможность работать с LCL/VCL (BRGA тоже своеобразный движок). Эти движки не только позволяют работать с графикой, но как ты понимаешь и с LCL/VCL и со звуком и имеет дополнительный функционал (по большей части): коллизии, возможно физику, дополнительные математические функции, обработка групп объектов (да, сейчас не нужно это, но чисто в перспективе), работа с INI-файлами и подобные вещи, загрузка ресурсов (не только графики, но и звука и ещё каких-то ресурсов).

Когда работаешь чисто с LCL/VCL - это приходится всё самому прицеплять, возможно даже искать какие-то решения. В движках, зачастую, это уже всё сделано.  :)

Я тебя не отговариваю, а просто предлагаю посмотреть в сторону движков, если вдруг понравится делать игры.  ;)

majolika:

--- Quote from: Seenkao on February 21, 2025, 11:35:08 pm ---работа с INI-файлами и подобные вещи, загрузка ресурсов
Когда работаешь чисто с LCL/VCL - это приходится всё самому прицеплять, возможно даже искать какие-то решения.

--- End quote ---
В LCL всё это есть: и работа с INI-файлами, и загрузка ресурсов... Даже работа со звуком и графикой — на самом минимальном уровне, но есть. Для простых проектов бо́льшего и не требуется.
Ну, а когда надо больше и подробнее, тогда идёшь и берёшь движок: звуковой, графический, игровой — какой угодно.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version