Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2009, 16:14   #11
Djem1991
Форумчанин
 
Аватар для Djem1991
 
Регистрация: 05.01.2009
Сообщений: 130
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Для меня лучше делать все на Canvas'е одной формы. Нет ничего сложного написать интерфейс на базе стандартных процедур вывода канваса.
согласен,и канваса хватит)
Хотя зачем перерисовывать весь канвас,скажем, что бы показать меню в игре? можно же,например,панель показать с кнопочками...

Хотя , вам решать)
В жизни нет reset'а, а жаль...
Djem1991 вне форума Ответить с цитированием
Старый 08.07.2009, 17:58   #12
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Канва - штука не цельная, есть методы добраться до определенной области, или до каждого пикселя в отдельности, и даже разложить его на RGB.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 08.07.2009, 20:17   #13
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
зачем перерисовывать весь канвас,скажем, что бы показать меню в игре?
Лично у меня канвас перерисовывается автоматичемки каждые 30 миллисекунд в таймере. Да и выглядель это меню будет не очень , например в игре на Canvas с разрешением 640x480 на весь экран , к тому же панель модет не подойти к цветовому оформлению игры да и панелей придется делать по количеству столько же сколько и меню.
Вадим Буренков вне форума Ответить с цитированием
Старый 08.07.2009, 22:19   #14
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Игровое меню сразу подразумевает декор, а с этими квадратными серыми панелями, далеко не уедешь, ...ну и что, что цвет можно ставить, но не красиво это, монотонно. Лучше графикой пользоваться, и отслеживать координаты курсора.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 08.07.2009, 23:07   #15
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Согласен с Beermonza , что в прикладных приложениях (ну типа Калькулятор, Тест-программа и т.п.) достаточно применять стандартные компоненты (кнопки, панели, Edit-ы и т.д.). Здесь важна функциональность компонента, ну и , конечно, правильно подобранный размер, шрифт, цвет. Но в игровых приложениях, в демонстрационных презентациях подход должен быть другой. Здесь уже важна зрелищность каждого элемента программы.
Конечно проще выставить в Инспекторе Объектов свойства стандартного компонента, чем ручками прописывать , к примеру, код для кнопки
Код:
with Form1.Canvas do
  begin
    Font.Name:= 'Tahoma';
    Font.Size:= 18;
    Font.Style:= [fsBold];
    SetBkMode(Form1.Canvas.Handle,Transparent);
  end;
   ...........
     Form1.Canvas.Font.Color:= clWhite;
     Form1.Canvas.TextOut(19,529,'СПРАВКА');
      Form1.Canvas.Font.Color:= clBlack;
     Form1.Canvas.TextOut(21,529,'СПРАВКА');
      Form1.Canvas.Font.Color:= clGray;
     Form1.Canvas.TextOut(20,529,'СПРАВКА');
А потом еще в обработчике мыши опять вручную прописывать
Код:
 if ((X > 18) and (X < 220)) and ((Y > 525) and (Y < 555)) then
  begin
    Form1.Canvas.Font.Color:= clWhite;
     Form1.Canvas.TextOut(19,529,'СПРАВКА');
      Form1.Canvas.Font.Color:= clBlack;
     Form1.Canvas.TextOut(21,529,'СПРАВКА');
      Form1.Canvas.Font.Color:= clRed;
     Form1.Canvas.TextOut(20,529,'СПРАВКА');
     <выполнить показ Справки>
  end;
Но в таких случаях нестандартный результат оправдывает ручные затраты.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 09.07.2009, 08:54   #16
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

К тому же если кнопки используются не часто то можно пользоваться кодом как у DeKot, а ели их много то можно написать класс для удобства.
Вадим Буренков вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопросы по созданию игры blackstersl Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 03.11.2008 21:22
Самоучитель по созданию игры, типа дальнобойщиков. multik Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 07.07.2008 10:08
Работа по созданию ПО remix Фриланс 3 22.04.2007 11:00