|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.04.2010, 21:56 | #1 |
Пользователь
Регистрация: 11.04.2010
Сообщений: 13
|
SDL, текст
Я тут новенький, помогите пожалуйста, пишу игрушку на Си, довольно таки примитивная пока что, просто пингвин бегает по льду и умеет врезаться в гору, которая по середине карты, ну да неважно. Меня интересует, как можно текст отгородить от стирания, чтобы допустим когда пробегал пингвин по месту, где расположен текст он его не стирал? Допустим я вот сделаю счетчик кол-ва собранных объктов пингвином, отображу его, но когда он пройдет, он же его сотрет. И на будущее, а как можно сделать текст по центру экрана? Заранее спасибо за помощь.
Последний раз редактировалось Plobzik; 18.04.2010 в 22:11. |
19.04.2010, 06:26 | #2 | |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Цитата:
В более общем виде структура игры обычно выглядит так: имеется главный игровой цикл, обычно основанный на срабатываниях таймера, в котором происходит основное действие. При каждой итерации цикла игра реагирует на действия пользователя (на нажатие/отпускание клавиш, кнопок мыши и т.д.), в соответствии с ними и со своими внутренними законами (AI, физика и т.п.) изменяя состояние игрового мира. Затем в каждой же итерации игрового цикла происходит и отрисовка всего чего нужно. Часто это включает в себя рисование фона, различных игровых объектов, элементов интерфейса (в т.ч. счетчика очков) и все это обычно рисуется как элементы общей картинки, которая и выводится на экран. Если у вас пока из всех объектов только пингвин, гора и счетчик очков, то можно ограничиться перерисовкой каждого из них по отдельности в тот момент, когда они друг друга перекрывают. Если будет более масштабное рисование, то имеет смысл при каждом, например, срабатывании таймера заново собирать всю картинку вместе с такими элементами как счетчик очков в буфер и выводить его на экран. Вообще с подобными общими игровыми вопросами, если дело не касается конкретных языковых средств и конкретного кода, можете обращаться в раздел "Создание и обсуждение игр" данного форума.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
|
19.04.2010, 12:33 | #3 |
Пользователь
Регистрация: 11.04.2010
Сообщений: 13
|
Спасибо большое, все отлично работает, только вот еще один вопрос, как можно текст к середине экрана приделать? Ну не измерять же это постоянно по пикселям, вдруг текст будет меняться.
|
19.04.2010, 13:10 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Вообще то для измерения ширины текста по пикселям как раз функциями рассчитывается.
I'm learning to live...
|
19.04.2010, 13:21 | #5 |
Пользователь
Регистрация: 11.04.2010
Сообщений: 13
|
скажите какая функция, пожалуйста
|
19.04.2010, 13:25 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
В Win API есть GetTextExtentPoint
I'm learning to live...
|
19.04.2010, 14:00 | #7 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
смотря как рисуешь текст. если с использованием либы sdl_ttf - то TTF_SizeText
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
19.04.2010, 14:07 | #8 |
Пользователь
Регистрация: 11.04.2010
Сообщений: 13
|
pproger
спасибо, sdl пользуюсь, должно подойти |
19.04.2010, 14:10 | #9 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Plobzik
sdl сама по себе не умеет рисовать текст (как и opengl). поэтому нужно либо рендерить самому (т.е частично самому, используя какой нить freetype), либо использовать либу sdl_ttf. то, что ты используешь sdl я понял
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
23.04.2010, 23:11 | #10 |
Пользователь
Регистрация: 11.04.2010
Сообщений: 13
|
pproger
да я библиотеку sdl_ttf использую, все вышло, спасибо большое |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++. Текст | bpystep | Помощь студентам | 4 | 15.03.2010 14:41 |
Текст | Olalya da Silva | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 15.01.2009 19:11 |
Как узнать какой текст выделен в текст поле | mogul82 | JavaScript, Ajax | 2 | 02.11.2008 16:32 |
Текст | Sanek_ntsk | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 10.03.2008 15:23 |
Текст | [Smarik] | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 19.02.2008 18:26 |