240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
|
||||||
1 | ||||||
танчики14.07.2011, 00:02. Показов 8137. Ответов 17
Метки нет (Все метки)
здравствуйте, решил попробовать сделать подобие денди-танчиков. Ну и только начал - сразу грабли))
Вопрос: Как лучше оформить движение танка? Мой не правильный подход такой: есть битмап (картинка танчика) 50х50, и координаты относительно его положения в окне. При управлении стрелками, координаты смещаются соответственно направлению на 2 точки, потом картинка перерисовывается, всё это дело работает в интервале 10 м-сек. Грабли в том, что при перемещении картинка дергается, хоть и отрисовую с двойным буфером. Кроме того, при перемещении, грузит проц на 30% ))
1
|
14.07.2011, 00:02 | |
Ответы с готовыми решениями:
17
Танчики C++ Танчики Игрушка Танчики Танчики в graphics.h |
заставил Бендера
|
|
14.07.2011, 18:40 | 2 |
теже грабли были у всех пока дум первый не вышел, все офигели от графики которая стала, после применении какой то технологии прорисовки) в какой то книге читал. Помоему Михаили Фленова.
1
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
14.07.2011, 19:01 | 3 |
У меня ничего не дёргается.
Добавлено через 2 минуты Как вариант, перекрой WM_ERASE (если правильно событие назвал).
1
|
14.07.2011, 19:04 | 4 |
У меня тоже. (Win 7)
Не по теме: Как-то написал одну программу, там тоже было рисование через двойную буферизацию. Так получилось, что она пошла в люди (соц. сети блинн...), так вот мне потом писали, что у некоторых вообще ни чего не показывало, у кого-то жутко тормозило, а у кого-то все было отлично. Писал тоже на Win API, но проблему так и не решил (я вообще с графикой на "извините, я тут в сторонке постою" ))
1
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
14.07.2011, 19:13 | 5 |
У меня тоже Вин7-х64.
Я тут подумал, там же очень сильно переделан механизм отрисовки. По идее, он более тормознутый. Может потому и не дёргается.)
0
|
Kastaneda
|
14.07.2011, 19:17
#6
|
1
|
Deviaphan
|
14.07.2011, 19:22
#7
|
1
|
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
|
||||||
14.07.2011, 20:45 [ТС] | 8 | |||||
когда вызываю InvalidateRect, последний параметр 0, кроме того есть в оконной процедуре обработчик
Не пойму, почему такие лаги на Win7.О_о пока с DirectX я на - Вы, да и хочетси повозиться с API и GDI
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
14.07.2011, 20:51 | 9 |
0
|
14.07.2011, 21:00 | 10 |
Почитай тут (много полезной теории) Создание игры(2d)
Дополнительно не стань заложником того, что случилось с автором по ссылке. Он очень много времени уделил графике, а на игру в итоге забил, потому что логику игры создать ему оказалось не по силам. Попробуй для начала всё-таки реализовать сам механизм игры, пуст танчики хотя бы через ж...у рисуются, но чтобы в это можно было играть. Если сможешь это реализовать - будешь с графикой разбираться
1
|
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
|
|
14.07.2011, 21:21 [ТС] | 11 |
Evg, пасиб большое за ссылочку.
Боюсь, что этот первый блин таким выше подмеченным комом и получится.:cofee:
0
|
14.07.2011, 21:58 | 12 |
Можно сделать тупую скучную игру с меганавороченной супер-пупер графикой. А можно сделать очень интересную игру с примитивной кривой графикой. И второй вариант будет рулить. Основное - это логика игры. Если её нет, то браться за графику особого смысла нет. Вернее смысл есть - получение навыков и самообразование, но игры в этом случае не получится
1
|
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
|
|
19.08.2011, 20:58 [ТС] | 13 |
Итак, после продолжительной мозгоизворотливости удалось слепить что-то хоть немного похожее на "танчики".
Теперь осталось немного дополнить окно и добавить объекты и припятствия (кирпичи,бронь,вода, ну и конечно-же свой штаб. короче чтобы сее было похожее на всем известную battle сity ) Следовательно возникает вопрос: Если к примеру в игре будет 20 уровней, и в каждом уровне примерно, ну пусть 30 объектов. А для каждого уровня естесено над рисовать по разному расположение объектов. Получаетси надо хранить координаты каждого объекта для каждого уровня? Дык эт аж 600!!! Или всё-же есть изворотливость поумнее? зы: выстрел - ноль цифр.
0
|
19.08.2011, 21:17 | 14 | |||||
Вообще-то в этом деле не силен, но как-то смотрел исходники одной игры, там расположение объектов было в виде символьного массива, т.е. например:
1
|
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
|
|
19.08.2011, 21:32 [ТС] | 15 |
ага, ясно. Вариант мне нравится. Спасибо Kastaneda.
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
20.08.2011, 08:31 | 16 |
Не "аж", а всего! 600*sizeof(int) = 2.3 КилоБайта
Для танчиков, действительно, самым простым вариантом будет хранить матрицу, как в примере из предыдущего поста. А вот в играх с более сложным представлением уровней описание делается в XML, бинарном или ещё каком-то виде (как удобнее разработчику) и эти файлы могут десятки мегабайт занимать. Вот под рукой от Black&White сохранёнка, так там каждый юнит, каждый человечек, каждое дерево в текстовом виде описано; и название и положение и прочие свойства. Т.е. делать нужно так, как того требуют обстоятельства. Для танчиков проще и удобнее всего будет именно матрица.
1
|
дерево
|
|
24.10.2012, 10:08 | 18 |
jonson, можешь выложить исходники плиз
|
24.10.2012, 10:08 | |
24.10.2012, 10:08 | |
Помогаю со студенческими работами здесь
18
Графическое задание на С++: танчики Реализовать функцию стрельбы для танка (игра "Танчики") Игра Танчики Танчики на С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |