![]() |
|
Модераторы: bsa |
![]()
|
|
| Truegirl |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
Помогите пожалуйста!
Надо в турбо си нарисовать картинку. Вобщем я нарисовала самолетик, а залить его не могу,заливается весь экран, продскажите, что делать?
Это сообщение отредактировал(а) Truegirl - 14.2.2009, 19:09 |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
Не правда, ты сначала заливаешь, а потом рисуешь самолетик. А нужно именно так какт ты сказала Это сообщение отредактировал(а) Gluttton - 14.2.2009, 22:21 -------------------- Слава Україні! |
|||
|
||||
| Truegirl |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
не получается!!!
всеравно заливается весь экран Это сообщение отредактировал(а) Truegirl - 15.2.2009, 00:01 |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
0. Попробуй третим параметром в функцию floodfill передать цвет, которым ты рисуешь границы самолета
1. Возможно у тебя самолет не является ограниченой областью (т.е. имею место "дыры"). Смотри внимательнее. 2. Заливать нужно область внутри самолета, а не снаружи. У тебя самолет расположен по Х примерно 220 на 360, по Y 255 на 470, а область для заливки ты указываешь 30, 31? Хотя если бы проблема была в этом, то у тебя бы заливался весь экран кроме самолета. -------------------- Слава Україні! |
|||
|
||||
| Truegirl |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
Спасибо за советы, все учла, вот только когда floodfill третьим параметром передала цвет самолета, то самолет закрашивается белым, и setfillstyle не меняет цвет и стиль, а почему?
|
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
Если приведенный выше код актуален, то проблема в том, что ты сначала заливаешь, а лишь потом меняешь цвет заливки. -------------------- Слава Україні! |
|||
|
||||
| Soah |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 512 Регистрация: 18.2.2009 Репутация: 6 Всего: 54 |
ИМХО, лучше так
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
|
|||
|
||||
| Truegirl |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
Спасибо всем за помощь, но у меня есть еще неколько вопросов. Я дописала код, чтоб самолетик двигался и взрывался, а взрыв не получается, раскажите как его реализовать
расскажите пожалуйста как сделать так что бы кусочки самолета разлетались, и еще как написать код для управления клавиатурой? зараннее огромное спасибо! |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
Тот же принцип и в реализации взрыва: сначала стираешь существующее изображение, а потом рисуешь новое. Прининципиальное отличие взрыва от движения заключается в том, что при нормальном движении у тебя все "части" самолета двигаються с одинаковой скоростью и в одном направлении. В случае же взрыва различные "части" самолета (сама определяй какие) двигаються в различных направлениях (не всегда по линейной траектории - самое время разобраться с синусами и косинусами Логичнее всего взрыв реализовать при помощи циклов, изменяя различные параметры (скорость, размер, направление, цвет, и т.д.) Управление с клавиатуры поищи на форуме около двух недель назад кто-то уже интересовался. (1 вопрос - 1 тема). -------------------- Слава Україні! |
|||
|
||||
| Truegirl |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
спасибо за совет! учту
вот только когда я пыталась закрасить(убрать) самолет floodfill();закрашивался весь экран,кроме того цвета который указан в качестве 3 го параметпра floodfill();, может сущетвует оператор закрашивающий только нужную часть, а вот насчет огня и дыма проблематично, на 16 цвеиах имеющихся в наличии особо не разгонишься, и еще как можно сделать, чттобы кусочки самолета разлеталить не закрашивая при это тучи и солнце? Это сообщение отредактировал(а) Truegirl - 22.2.2009, 00:49 |
|||
|
||||
| Gluttton |
|
||||||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
Мухи отдельно, котлеты отдельно.
Не нужно мешать две проблемы. 1. Концепция реализации:
Не согласен. И на двух цветах разгонялся. Например белым по черному от точки исходящие от центра к перифирии острые углы (равнобердренные треугольники без основания направленые вершиной от центра взрыва) могут символизировать огонь, а окружность постепенно увеличивающаяся в диаметре - дым). Ну это так, на вскидку, если хорошенько покурить можно и не такое придумать
Во время взрыва переризовывать тучи и солнце сразу после отображения очередной итерации "летящей запчасти самолета". Т.е. взрыв, и полетело крыло в сторону - рисуем в цикле: 1. Закрашиваем текущее изображение крыла. 2. Рисуем новое изображение крыла. 3. Рисуем фон. 2. Проблемы в реализации:
С учетом предистории данного топика, рекомендую "порисовать" пошагово. Возможно я ошибаюсь, но у меня предчуствие, что ты этого не делала. Ряд вопросов отпадет сам собой.
Весьма возможно, лично мне с графикой сталкиваться не приходилось, но, по опыту работы с другими библиотеками, рекомендую просто ознакомиться со всеми существующими функциями. Тогда ты будешь наверняка знать существуют ли или нет, и кроме того ты сможешь (зная возможности инструментария) грамотно производить декомпозицию решаемой задачи. Попробуй "стерать" путем рисования прямоугольника цвета фона. У меня однажды была проблема: заливка "просачивалась" через границу, когда линия была под углом (т.е. не вертикальная и не горизонтальная). Решил проблему путем увеличения толщины линии на пиксел. -------------------- Слава Україні! |
||||||||
|
|||||||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
Gluttton, Ну ты МОНСТР
Респект -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| Truegirl |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 20.11.2008 Репутация: нет Всего: нет |
andrew_121 , может хочешь предложить другие варианты?
|
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
To andrew_121
+1. Рассмотреные в топике метод реализации поставленой задачи, мягко говоря, не рациональный. В намерениях автора просматривается амбициозное желание творить, в свое время не чуждое и мне. К сожаления автор топика (как и я в свое время, а может быть и ещё много-много людей) не обладает необходимым уровнем знаний проблемной области и это не позволяет ей реализовать задачу проще и быстрее. Кроме того, на лицо факт не только проблем с реализацией, но и с построением алгоритма. Я думаю, что Truegirl так и не сможет сделать то чего хочет, но решение данной задачи должно будет научить ее не только рисовать самолетики Если в ее созние закрадется мысль о том, что люди пишущие игры "рисуют самолетики" иначе, то тогда она будет морально готова узнать и применить на практике, а главное оценить приемущество, этих методов и тогда, как говориться, Level Up, а иначе Game Over To Truegirl Извини за назедательный тон, но в самом деле bigest_boom, big_boom, smaller_boom так и просяться замениться на boom в цикле с изменяемым размером -------------------- Слава Україні! |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |