Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> графика в турбо си 
:(
    Опции темы
Truegirl
Дата 14.2.2009, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



Помогите пожалуйста!
Надо в турбо си нарисовать  картинку. Вобщем я нарисовала самолетик, а залить его не могу,заливается весь экран, продскажите, что  делать?   
Код

#include<dos.h>
#include<graphics.h>
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int main()
{
 int gd,gm,err;
 gd=DETECT;
 initgraph(&gd,&gm,"");
 err=graphresult();
 if(err!=grOk)
  {
   printf("Error");
   getch();
   return 0;
  }
 setbkcolor(3);
 setcolor(8);
 floodfill(30,31,5);
 setfillstyle(3,13);

 line (250,470,250,450);
 line (250,450,280,420);
 line (280,420,280,360);
 line (280,360,270,350);
 line (270,350,220,380);
 line (220,380,220,350);
 line (220,350,270,320);
 line (270,320,270,310);
 line (270,310,280,300);
 line (280,300,280,270);
 line (280,270,290,255);
 line (290,255,300,270);
 line (300,270,300,300);
 line (300,300,310,310);
 line (310,310,310,320);
 line (310,320,360,350);
 line (360,350,360,380);
 line (360,380,310,350);
 line (310,350,300,360);
 line (300,360,300,420);
 line (300,420,330,450);
 line (330,450,330,470);
 line (330,470,310,470);
 line (310,470,300,460);
 line (300,460,280,460);
 line (280,460,270,470);
 line (270,470,250,470);
getch();
closegraph();
return 0;
}


Это сообщение отредактировал(а) Truegirl - 14.2.2009, 19:09
PM MAIL   Вверх
Gluttton
Дата 14.2.2009, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



Цитата

Вобщем я нарисовала самолетик, а залить его не могу


Не правда, ты сначала заливаешь, а потом рисуешь самолетик. А нужно именно так какт ты сказала  smile .

Это сообщение отредактировал(а) Gluttton - 14.2.2009, 22:21


--------------------
Слава Україні!
PM MAIL   Вверх
Truegirl
Дата 15.2.2009, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



не получается!!!
всеравно заливается весь экран

Это сообщение отредактировал(а) Truegirl - 15.2.2009, 00:01
PM MAIL   Вверх
Gluttton
Дата 15.2.2009, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



0. Попробуй третим параметром в функцию floodfill передать цвет, которым ты рисуешь границы самолета  smile .
1. Возможно у тебя самолет не является ограниченой областью (т.е. имею место "дыры"). Смотри внимательнее.
2. Заливать нужно область внутри самолета, а не снаружи. У тебя самолет расположен по Х примерно 220 на 360, по Y 255 на 470, а область для заливки ты указываешь 30, 31? Хотя если бы проблема была в этом, то у тебя бы заливался весь экран кроме самолета.





--------------------
Слава Україні!
PM MAIL   Вверх
Truegirl
Дата 15.2.2009, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



Спасибо за советы, все учла, вот только когда floodfill  третьим параметром передала цвет самолета, то самолет закрашивается белым, и setfillstyle не меняет цвет и стиль, а почему?
PM MAIL   Вверх
Gluttton
Дата 16.2.2009, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



Цитата

когда floodfill  третьим параметром передала цвет самолета, то самолет закрашивается белым, и setfillstyle не меняет цвет и стиль, а почему?


Если приведенный выше код актуален, то проблема в том, что ты сначала заливаешь, а лишь потом меняешь цвет заливки.


--------------------
Слава Україні!
PM MAIL   Вверх
Soah
Дата 18.2.2009, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 6
Всего: 54



ИМХО, лучше так
Код

...
int poly[54] = {250, 470, 250, 450, 280, 420, 280, 360,
                        270, 350, 220, 380, 220, 350, 270, 320,
                        270, 310, 280, 300, 280, 270, 290, 255,
                        300, 270, 300, 300, 310, 310, 310, 320,
                        360, 350, 360, 380, 310, 350, 300, 360,
                        300, 420, 330, 450, 330, 470, 310, 470,
                        300, 460, 280, 460, 270, 470};

setcolor(8);
setfillstyle(3, 13);
fillpoly(27, poly);
...

PM MAIL   Вверх
bsa
Дата 18.2.2009, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196




M
bsa
Truegirl, если ответ на вопрос получен, то пометь тему решенной

PM   Вверх
Truegirl
Дата 22.2.2009, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



Спасибо всем за помощь, но у меня есть еще неколько вопросов. Я дописала код, чтоб самолетик двигался и взрывался, а взрыв не получается, раскажите как его реализовать
Код
 #include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<dos.h>
#include<graphics.h>
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
char *fname[] = { "DEFAULT font",
  "TRIPLEX font",
  "SMALL font",
  "SANS SERIF font",
  "GOTHIC font"
};
char *lname[] = {
"SOLID_LINE",
"DOTTED_LINE",
"CENTER_LINE",
"DASHED_LINE",
"USERBIT_LINE"
};
int main()
{
 int gd,gm,err;
 gd=DETECT;
 int i;
 char msg[80];
 initgraph(&gd,&gm,"");
 err=graphresult();
 if(err!=grOk)
  {
   printf("Error");
   getch();
   return 0;
  }

 setcolor(13);
 setfillstyle(2,13);
 fillellipse(310,230,220,160);
 setcolor(15);
 settextstyle(0,0,6);
 outtextxy(110,210,"RooD INC.");

 settextstyle(0,0,3);
 outtextxy(220,290,"presents");


 getch();
 cleardevice();
 //samoletik
 setcolor(8);
 setbkcolor(11);
 line (250,220,250,200);
 line (250,200,280,170);
 line (280,170,280,110);
 line (280,110,270,100);
 line (270,100,220,130);
 line (220,130,220,100);
 line (220,100,270,70);
 line (270,70,270,60);
 line (270,60,280,50);
 line (280,50,280,20);
 line (280,20,290,5);
 line (290,5,300,20);
 line (300,20,300,50);
 line (300,50,310,60);
 line (310,60,310,70);
 line (310,70,360,100);
 line (360,100,360,130);
 line (360,130,310,100);
 line (310,100,300,110);
 line (300,110,300,170);
 line (300,170,330,200);
 line (330,200,330,220);
 line (330,220,310,220);
 line (310,220,300,210);
 line (300,210,280,210);
 line (280,210,270,220);
 line (270,220,250,220);
 setfillstyle(1,8);
 floodfill(269,219,8);

  //oblachko
 setfillstyle(1,3);
 setcolor(3);
 fillellipse(100,100,23,15);
 fillellipse(130,100,15,15);
 fillellipse(160,100,23,15);
 fillellipse(120,80,18,15);
 fillellipse(140,80,18,15);

  //animaciya
 int size1,size2,size3;
 size1=imagesize(200,2,380,325);
 void *arrow;
 arrow=malloc(size1);
 getimage(200,2,380,325,arrow);

 size2=imagesize(75,50,200,15);
 void *oblachko;
 oblachko=malloc(size2);
 getimage(75,50,200,130,oblachko);

 cleardevice();

 for (int y=0; y<400; y=y+150)
 {
  for(int x=100;x<600;x=x+300)
  {
   putimage(x,y,oblachko,COPY_PUT);
   delay(50);
  }
 }
 free(oblachko);
 //lychi
 setcolor(14);
 setfillstyle(1,14);
 fillellipse(0,0,100,100);
 setlinestyle(2,4,3);
 line(50,50,150,150);
 line(10,50,45,200);
 line(15,50,100,180);
 line(55,150,75,200);
 line(140,70,190,100);
 line(150,110,190,149);
 setcolor(14);
 setfillstyle(1,14);
 fillellipse(0,0,100,130);
 for ( y=480; y>0; y--)
 {
   putimage(220,y,arrow,COPY_PUT);
   delay(10);
 }
 free(arrow);

 setlinestyle(0,0,0);
 setfillstyle(1,3); fill_patterns(11);
// floodfill(290,7,11);

  //bigest_boom
   setcolor(4);
 line(300,40,280,90);
 line(280,90,230,80);
 line(230,80,260,150);
 line(260,150,240,180);
 line(240,180,280,190);
 line(280,190,290,210);
 line(290,210,320,170);
 line(320,170,340,190);
 line(340,190,350,130);
 line(350,130,390,100);
 line(390,100,340,90);
 line(340,90,300,40);
 setfillstyle(1,4);
 floodfill(300,50,4);

  //big_boom
 setcolor(14);
 line(350,100,330,100);
 line(330,100,310,60);
 line(310,60,290,100);
 line(290,100,260,110);
 line(260,110,280,130);
 line(280,130,260,175);
 line(260,175,310,140);
 line(310,140,340,160);
 line(340,160,330,130);
 line(330,130,350,100);
 setfillstyle(1,14);
 floodfill(310,61,14);
 delay(50);

  //smaller_boom
 setcolor(6);
 line(330,110,320,110);
 line(320,110,310,80);
 line(310,80,300,110);
 line(300,110,280,120);
 line(280,120,290,130);
 line(290,130,280,150);
 line(280,150,310,130);
 line(310,130,330,150);
 line(330,150,320,130);
 line(320,130,330,110);
 setfillstyle(1,6);
 floodfill(285,120,6);

 setcolor(4);
 settextstyle(0,0, 4);
 outtextxy(150,400,"PlaneKi11er");
 setcolor(1);
 settextstyle(0,0,0);
 outtextxy(420,470,"Press Enter to continue");
 getch();
 closegraph();
 return 0;
}

расскажите пожалуйста как сделать так что бы кусочки самолета разлетались, и еще как написать код для управления клавиатурой?
зараннее огромное спасибо!
PM MAIL   Вверх
Gluttton
  Дата 22.2.2009, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



Цитата

Я дописала код, чтоб самолетик двигался


Тот же принцип и в реализации взрыва: сначала стираешь существующее изображение, а потом рисуешь новое.
Прининципиальное отличие взрыва от движения заключается в том, что при нормальном движении у тебя все "части" самолета двигаються с одинаковой скоростью и в одном направлении. В случае же взрыва различные "части" самолета (сама определяй какие) двигаються в различных направлениях (не всегда по линейной траектории - самое время разобраться с синусами и косинусами   smile), кроме того появляються и новые обьекты такие как дым и огонь.

Логичнее всего взрыв реализовать при помощи циклов, изменяя различные параметры (скорость, размер, направление, цвет, и т.д.)

Управление с клавиатуры поищи на форуме около двух недель назад кто-то уже интересовался.
(1 вопрос - 1 тема).


--------------------
Слава Україні!
PM MAIL   Вверх
Truegirl
Дата 22.2.2009, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



спасибо за совет! учту
вот только когда я пыталась закрасить(убрать) самолет floodfill();закрашивался весь экран,кроме того цвета который указан в качестве 3 го параметпра floodfill();, может сущетвует оператор закрашивающий только нужную часть, а вот насчет огня и дыма проблематично, на 16 цвеиах имеющихся в наличии особо не разгонишься, и еще как можно сделать, чттобы кусочки самолета разлеталить не закрашивая при это тучи и солнце? 

Это сообщение отредактировал(а) Truegirl - 22.2.2009, 00:49
PM MAIL   Вверх
Gluttton
Дата 22.2.2009, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



Мухи отдельно, котлеты отдельно.
Не нужно мешать две проблемы.
1. Концепция реализации:
Цитата

а вот насчет огня и дыма проблематично, на 16 цвеиах имеющихся в наличии особо не разгонишься

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

Цитата

как можно сделать, чттобы кусочки самолета разлеталить не закрашивая при это тучи и солнце
  

Во время взрыва переризовывать тучи и солнце сразу после отображения очередной итерации "летящей запчасти самолета". Т.е. взрыв, и полетело крыло в сторону - рисуем в цикле:
1. Закрашиваем текущее изображение крыла.
2. Рисуем новое изображение крыла.
3. Рисуем фон.

2. Проблемы в реализации:
Цитата

вот только когда я пыталась закрасить(убрать) самолет floodfill();закрашивался весь экран,кроме того цвета который указан в качестве 3 го параметпра floodfill();, 


С учетом предистории данного топика, рекомендую "порисовать" пошагово. Возможно я ошибаюсь, но у меня предчуствие, что ты этого не делала. Ряд вопросов отпадет сам собой.

Цитата

может сущетвует оператор закрашивающий только нужную часть


Весьма возможно, лично мне с графикой сталкиваться не приходилось, но, по опыту работы с другими библиотеками, рекомендую просто ознакомиться со всеми существующими функциями. Тогда ты будешь наверняка знать существуют ли или нет, и кроме того ты сможешь (зная возможности инструментария) грамотно производить декомпозицию решаемой задачи.

Попробуй "стерать" путем рисования прямоугольника цвета фона.

У меня однажды была проблема: заливка "просачивалась" через границу, когда линия была под углом (т.е. не вертикальная и не горизонтальная). Решил проблему путем увеличения толщины линии на пиксел.


--------------------
Слава Україні!
PM MAIL   Вверх
andrew_121
Дата 22.2.2009, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Gluttton, Ну ты МОНСТР smile  Это сколько же примитивного кода нашлепать нужно smile 
Респект smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Truegirl
Дата 22.2.2009, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



andrew_121 , может хочешь предложить другие варианты?
PM MAIL   Вверх
Gluttton
Дата 22.2.2009, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



To andrew_121
Цитата

Это сколько же примитивного кода нашлепать нужно 


+1. Рассмотреные в топике метод реализации поставленой задачи, мягко говоря, не рациональный.
В намерениях автора просматривается амбициозное желание творить, в свое время не чуждое и мне.
К сожаления автор топика (как и я в свое время, а может быть и ещё много-много людей) не обладает необходимым уровнем знаний проблемной области и это не позволяет ей реализовать задачу проще и быстрее. Кроме того, на лицо факт не только проблем с реализацией, но и с построением алгоритма. Я думаю, что Truegirl так и не сможет сделать то чего хочет, но решение данной задачи должно будет научить ее не только рисовать самолетики  smile , но и писать программы в принципе. 

Если в ее созние закрадется мысль о том, что люди пишущие игры "рисуют самолетики" иначе, то тогда она будет морально готова узнать и применить на практике, а главное оценить приемущество, этих методов и тогда, как говориться, Level Up, а иначе Game Over  smile .

To Truegirl Извини за назедательный тон, но в самом деле bigest_boom, big_boom, smaller_boom так и просяться замениться на boom в цикле с изменяемым размером  smile . Это так на вскидку  smile .


--------------------
Слава Україні!
PM MAIL   Вверх
Soah
Дата 22.2.2009, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 6
Всего: 54



Цитата(Truegirl @  22.2.2009,  00:40 Найти цитируемый пост)
может сущетвует оператор закрашивающий только нужную часть

Код

int aeroplan[54] = {250, 470, 250, 450, 280, 420, 280, 360,
                    270, 350, 220, 380, 220, 350, 270, 320,
                    270, 310, 280, 300, 280, 270, 290, 255,
                    300, 270, 300, 300, 310, 310, 310, 320,
                    360, 350, 360, 380, 310, 350, 300, 360,
                    300, 420, 330, 450, 330, 470, 310, 470,
                    300, 460, 280, 460, 270, 470};


setfillstyle(1, RED);
fillpoly(27, aeroplan);

int tail[20] = {300, 420, 330, 450, 330, 470, 310, 470,
                300, 460, 280, 460, 270, 470, 250, 470,
                250, 450, 280, 420};

setfillstyle(1, BLUE);
fillpoly(10, tail); // закрашиваем хвост

setcolor(RED);
line(300, 420, 280, 420); // закрашиваем стык

PM MAIL   Вверх
andrew_121
Дата 22.2.2009, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(Gluttton @  22.2.2009,  14:28 Найти цитируемый пост)
Рассмотреные в топике метод реализации поставленой задачи, мягко говоря, не рациональный.

Да, именно МЯГКО говоря... smile 
Truegirl - Soah предложил вариант на много логичнее и практичнее. Если еще немного вложиться в его идею, то можно будет реализовать, нечто, вроде конструктора. Т.е. Механизм отрисовщика стандартизовать, и только создавать массивы параметров для него. Или, что еще лучше, файлы с параметрами. А еще чуток добавить, и сценариями.
Это будет уже что-то стоящее внимания.

P.S.
Господа, ваши комментарии...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Gluttton
Дата 22.2.2009, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



Цитата

Господа, ваши комментарии...


Цитата

Soah предложил вариант на много логичнее и практичнее


1. Почему бы не уйти от "магических чисел". Описать константами основные параметры самолета: длины физюляжа, крыла, хвостового оперения и т.д. (можно ввести масштаб, тогда самолет сможет летать с отличной от нуля радиальной скоростью относительно наблюдателя). К координатам дописать "+d", где d - расстояние.
Можно в цикле и паузу добавить и менять, тогда самолет и с разной скоростью летать сможет.
2. Реализовать отображение самолета функцией и обернуть циклом по d, ИМХО после этого летать будет легче.

Цитата

Механизм отрисовщика стандартизовать, и только создавать массивы параметров для него


Это и будет функция.

Цитата

создавать массивы параметров для него. Или, что еще лучше, файлы с параметрами. А еще чуток добавить, и сценариями


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

Цитата

расскажите пожалуйста как сделать так что бы кусочки самолета разлетались, и еще как написать код для управления клавиатурой?
зараннее огромное спасибо!


ей такой вариант не подойдет.

Ну вообще бы то не мешало и саму Truegirl послушать  smile . Может быть мы вообще не в ту сторону рассуждаем.


Это сообщение отредактировал(а) Gluttton - 22.2.2009, 17:02


--------------------
Слава Україні!
PM MAIL   Вверх
andrew_121
Дата 22.2.2009, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Gluttton, С первым и вторым пунктами абсолютно согласен.

Цитата(Gluttton @  22.2.2009,  16:59 Найти цитируемый пост)
В принципе если в функцию отображения добавить и код направления, то можно будет трассу ручками прописывать и менять в файле. 

Это я и имел в виду.

Цитата(Gluttton @  22.2.2009,  16:59 Найти цитируемый пост)
ИМХО после этого летать будет легче.

Парить... smile 

Цитата(Gluttton @  22.2.2009,  16:59 Найти цитируемый пост)
Может быть мы вообще не в ту сторону рассуждаем. 

Варриант... smile

Добавлено через 12 минут и 29 секунд
Кстати. Замечание: В этой теме присутствуют все, кроме самой создательницы темы smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Truegirl
Дата 22.2.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



ве замечания, конечно, умесны, но это моя первая работа с  графикой впринципе, поэтому  как только освою хотя бы  элементарне вещи, перейду  к более рациональной записи,  а есть у кого - нибудь материалы помогающие освоить графику быстрее ?
PM MAIL   Вверх
andrew_121
Дата 22.2.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(Truegirl @  22.2.2009,  18:03 Найти цитируемый пост)
как только освою хотя бы  элементарне вещи

Замечу: Освоила. Элементарней некуда.
Цитата(Truegirl @  22.2.2009,  18:03 Найти цитируемый пост)
а есть у кого - нибудь материалы помогающие освоить графику быстрее

Учебник по геометрии.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Truegirl
Дата 22.2.2009, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



andrew_121, не издевайся пожалуйста, я за помощью обратилась....
PM MAIL   Вверх
Gluttton
Дата 22.2.2009, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



Спроси у Google "Графика на си"... 



--------------------
Слава Україні!
PM MAIL   Вверх
andrew_121
Дата 22.2.2009, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(Truegirl @  22.2.2009,  18:53 Найти цитируемый пост)
не издевайся пожалуйста, я за помощью обратилась.... 

Я бы себе не позволил.
Я в правду пытаюсь помочь. Могла бы заметить.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Soah
Дата 22.2.2009, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 6
Всего: 54



Надо определится зачем тебе всё это.
Если делаешь для себя, то советую взять другую IDE и другую библиотеку(OpenGL/DirectX).
Ну а если для университета, тогда можно у преподавателя спросить где можно взять материал.

А вообще всё что можно сделать в этой среде можно узнать в Help, 
конкретно для графики: HELP -> Index, набираем graphics.h, и смотрим что там есть.

Насчёт книг, конкретно для графики в этой среде я не видел,
но немного рассказывается в этой книге(Практика программирования: Бейсик, Си, Паскаль)

также советую посмотреть функции: setviewport() и clearviewport().
маленький пример
Код

circle(50, 50, 30);

setviewport(170, 70, 250, 150, 1);
circle(50, 50, 30);
getch();

clearviewport();

посмотри что будет.

Будут ещё вопросы, создавай темы, попробуем помочь.
PM MAIL   Вверх
nerezus
Дата 22.2.2009, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Я бы посоветовал бы обертку над DirectDraw: HGE
Естественно, советую выкинуть компилятор, которому лет больше, чем мне. Не надо предаваться некрофилии =)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Truegirl
Дата 22.2.2009, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



nerezus,  с удовольтвием выбросила бы и компилятор, и лабараторку делала бы под Windows, а не под DOS,но нельзя! 
PM MAIL   Вверх
Anikmar
Дата 22.2.2009, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(Truegirl @  22.2.2009,  20:05 Найти цитируемый пост)
nerezus,  с удовольтвием выбросила бы и компилятор, и лабараторку делала бы под Windows, а не под DOS,но нельзя!  


Для лабораторки точно хватит. Такое бурное обсуждение ваша тема породила...
PM MAIL ICQ   Вверх
Truegirl
Дата 1.3.2009, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



А вот еще вопрос: можно ли вставить как - нибудь картинку, на задний план, чтобы ее ничего не могло стиреть и т.д и как это можно сделать?
PM MAIL   Вверх
mes
Дата 1.3.2009, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Truegirl @  1.3.2009,  18:00 Найти цитируемый пост)
А вот еще вопрос: можно ли вставить как - нибудь картинку, на задний план, чтобы ее ничего не могло стиреть и т.д и как это можно сделать? 

чтоб не стиралась никак.. но можно подойти с другой стороны и заменить стирание  рисованием участка картинки фона. 


--------------------
PM MAIL WWW   Вверх
Truegirl
Дата 1.3.2009, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



это как?
PM MAIL   Вверх
Soah
Дата 1.3.2009, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 6
Всего: 54



Цитата(Truegirl @  1.3.2009,  19:00 Найти цитируемый пост)
можно ли вставить как - нибудь картинку, на задний план, чтобы ее ничего не могло стиреть

Насколько я знаю, такого сделать нельзя.

А что конкретно хочешь сделать, может есть другое решение.
PM MAIL   Вверх
mes
Дата 1.3.2009, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Truegirl @  1.3.2009,  18:29 Найти цитируемый пост)
это как? 

Допустим у тебя есть регион, который нужно стереть - но вместо стирания рисуешь этот регион соответствующим фрагментом из картинки фона.
Удобнее будет если регионы будут прямоугольной формы.

P.S. windows (да и другие оси) таким же образом создают иллюзию нестираемого фона.

Это сообщение отредактировал(а) mes - 1.3.2009, 21:27


--------------------
PM MAIL WWW   Вверх
nerezus
Дата 1.3.2009, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Truegirl, перерисовывай фон, а потом рисуй поверх него.
способ mes гораздо лучше, но ты его не осилишь.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Truegirl
Дата 1.3.2009, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



а если зарание неизвесно что и где сотрется?
PM MAIL   Вверх
Gluttton
Дата 1.3.2009, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



Цитата

а если зарание неизвесно что и где сотрется?


Если ты (в смысле твоя программа) рисуешь, то и ты указываешь координаты, где рисовать (даже если они вычисляються случайным образом). А раз ты их определяешь, то ты их и знаешь smile. Что бы  код "знал", где будет произведено стирание (рисование) нужно вставить этот код между строками в которых определяються координаты для стирания (рисования)  и в которых оно произоводиться. smile
Если я правильно понял вопрос.


--------------------
Слава Україні!
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0851 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.