Форум программистов, компьютерный форум CyberForum.ru

Графическая заставка на С - C++

Восстановить пароль Регистрация
 
SerchLebid
1 / 1 / 0
Регистрация: 04.10.2010
Сообщений: 31
16.10.2010, 12:40     Графическая заставка на С #1
кто может поделиться кодом заставки на С с динамическими объектами.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2010, 12:40     Графическая заставка на С
Посмотрите здесь:

C++ заставка по линукс
C++ Графическая заставка С++
Графическая библиотека C++ C++
Графическая оболочка C++
графическая оболочка C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
16.10.2010, 13:35     Графическая заставка на С #2
Экранной заставки, что ли ?
SerchLebid
1 / 1 / 0
Регистрация: 04.10.2010
Сообщений: 31
16.10.2010, 17:16  [ТС]     Графическая заставка на С #3
да. кто может поделиться или подкинуть идейку.
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
16.10.2010, 18:22     Графическая заставка на С #4
Вопрос №1 на чистом C или на C++?
*Заставку графическую написать довольно сложное дело. На это время надо.

Как в общих чертах ("идейка" может тебе)

Используй фнкции WinAPI, сделай окно на весь экран, которое закрывает панель задач. Далее рисуц на этом окне. Сделай чтобы при нажатии на кнопку мыши прога закрывалась. Хочешь используй OpenGL. Потом смени расширение с exe на scr. И можно ставить как заставку.

А так - если просто сказать - или в ресурсы засунуть картинки в открытом виде, и потом обрабатывать в проге, или, если заставка абстрактная, писать всё в коде. Я пока C знаю, C++ учу. Просенькую можно быстро написать, а хорошую, чтобы можно было показать, надо долго.
SkArt
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 3
21.05.2012, 21:32     Графическая заставка на С #5
Вот у меня есть, по экрану двигаются точки,прямоугольники и круги.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <stdlib.h>
#include <time.h>
#include <grx20.h>
#include <grxkeys.h>
struct TPoint{
 int x,y;
 int color;
 TPoint(int ix,int iy,int icolor);
 virtual ~TPoint();
 virtual void Draw(int icolor);
 void Show();
 void Hide();
 void MoveXY(int ix, int iy);
};
struct TBox: public TPoint{
 int w,h;
 TBox(int ix,int iy,int icolor,int iw,int ih);
 virtual ~TBox();
 virtual void Draw(int icolor);
};
struct TCircle: public TPoint{
 int r;
 TCircle(int ix,int iy,int icolor,int ir);
 virtual ~TCircle();
 virtual void Draw(int icolor);
};
TPoint::TPoint(int ix,int iy,int icolor)
{
 x=ix; y=iy;
 color=icolor;
}
TPoint::~TPoint()
{
 Hide();
}
void TPoint::Draw(int icolor)
{
 GrPlot(x,y,icolor);
 GrPlot(x+1,y,icolor);
 GrPlot(x,y+1,icolor);
 GrPlot(x+1,y+1,icolor);
}
void TPoint::Show()
{
 Draw(color);
}
void TPoint::Hide()
{
 Draw(0);
}
void TPoint::MoveXY(int ix,int iy)
{
 Hide();
 x=ix; y=iy;
 Show();
}
TBox::TBox(int ix,int iy,int icolor,int iw,int ih):
 TPoint(ix,iy,icolor)
{
 w=iw; h=ih;
}
TBox::~TBox()
{
 Hide();
}
void TBox::Draw(int icolor)
{
 GrBox(x-w/2,y-h/2,x+(w-w/2),y+(h-h/2),icolor);
}
TCircle::TCircle(int ix,int iy,int icolor,int ir):
 TPoint(ix,iy,icolor)
{
 r=ir;
}
TCircle::~TCircle()
{
 Hide();
}
void TCircle::Draw(int icolor)
{
 GrCircle(x+2,y+5,r-1,icolor);
}
#define N 10
main()
{TPoint *obj[N];
 GrSetMode(GR_default_graphics,640,480);
 srand(time(0));
 int i;
 for(i=0;i<N;i++){
 switch (1 + rand()%3) {
  case 1:
  obj[i]=new TPoint(rand()%(GrMaxX()+1),rand()%(GrMaxY()+1),15);
  obj[i]->Show();
  break;
  case 2:
  obj[i]=new TBox(rand()%(GrMaxX()+1),rand()%(GrMaxY()+1),15,rand()%(GrMaxX()+1),rand()%(GrMaxY()+1));
  obj[i]->Show();
  break;
  case 3:
  obj[i]=new TCircle(rand()%(GrMaxX()+1),rand()%(GrMaxY()+1),15,rand()%(GrMaxX()+1));
  obj[i]->Show();
  break;
  default:; }}
GrKeyType key;
 do{
  while (!GrKeyPressed()){
   GrSleep(20);
   for(i=0;i<N;i++){
    obj[i]->MoveXY(obj[i]->x+rand()%7-3,obj[i]->y+rand()%7-3);
}
  }
  key=GrKeyRead();
 }while(key!=GrKey_Escape);
for(i=0;i<N;i++){
  delete obj[i];
 }
}
Yandex
Объявления
21.05.2012, 21:32     Графическая заставка на С
Ответ Создать тему
Опции темы

Текущее время: 23:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru