Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
1

Анимация в Borland C++ v.3

16.04.2010, 18:59. Просмотров 4005. Ответов 5
Метки нет (Все метки)

Всем привет!
Подскажите пожалуйста как делать анимацию в графическом(dos) режиме
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2010, 18:59
Ответы с готовыми решениями:

Анимация в borland v6
Доброго времени суток! Подскажите пожалуйста,как мне написать движение объекта в восьми...

Анимация в Borland C++
Выскочила какая то бяка на Timer1->Interval Я не знаю как это рихтовать помогите ктото #include...

Подскажите где можно найти Borland C++ Builder или Borland Developer Studio 2006 C++ ? Очень надо.
Подскажите где можно найти Borland C++ Builder или Borland Developer Studio 2006 C++ ? Очень надо.

не могу запустить ехешник ,Borland 5 и Borland 6
вообщем написал прогу , писал в 6рке когда компилю ругается на Build MYBASE.h(348): E2451...

5
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,283
16.04.2010, 19:55 2
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
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
int main(void)
{
    int gdriver = DETECT, gmode, errorcode;
    int midx, midy;
    int radius = 50;
 
    initgraph(&gdriver, &gmode, "");
 
    errorcode = graphresult();
    if (errorcode != grOk)
    {
        printf("Graphics error: %s\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    }
 
    midx = 0 + radius;
    midy = getmaxy() / 2;
 
    for(float i = midx; i < 640 - radius; i+=0.3){
        setcolor(getbkcolor());
        circle(i-1, midy, radius);
        setcolor(GREEN);
        circle(i, midy, radius);
    }
 
    getch();
    closegraph();
        return 0;
}
рисует круг)
простейший пример анимации - перемещать фигуру с определенным шагом в определенном направлении и за ней рисовать такую же фигуру цвета фона с таким же шагом в таком же направлении, т.е. она будет зарисовывать след от нашей фигурки, и получится движение)

В Хэлпе ВСРР 3.1 есть примеры всех ф-ций граф режима и там все очень просто и доступно написано, а вот с движком могут быть нюансы... но это позже
думаю, суть вам ясна, напишите ф-цию, которая будет реализовывать движение и принимать параметры координат и во всевозможных циклах вставляйте ее)
будут вопросы, обращайтесь)
1
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
16.04.2010, 22:14  [ТС] 3
Спасибо.))
Как сделать так, чтобы короткие линие двигались на определенном интервале бесконечно(например как красные муравьи в Word), подскажите пожалуйста...
0
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,283
17.04.2010, 02:15 4
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
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
 
int main()
{
    int gdriver = DETECT, gmode, errorcode;
 
    initgraph(&gdriver, &gmode, "");
 
    errorcode = graphresult();
    if (errorcode != grOk)
    {
        printf("Graphics error: %s\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    }
 
    int x = 50, y = 50, y1 = y, finish = 400;
    for(int i = x; i < finish; i+=10){
        setcolor(getbkcolor());
        line(i-10, y, i+10, y1);
        if(i+10 == finish)
            i = x;
        setcolor(RED);
        line(i, y, i+10, y1);
        delay(100);
    }
    getch();
        closegraph();
        return 0;
}
Ctrl+Pause Break аварийное завершение программы, т.к. цикл бесконечный)
1
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
18.04.2010, 17:11  [ТС] 5
А как сделать так, чтобы линия шла не вправо, а влево...
0
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,283
18.04.2010, 17:33 6
поменяйте в цикле for( ;; ) значения i
C
1
for(int i = finish; i > x; i-=10){
в данном случае значения i это пиксели экрана 640х480
(0, 0)_____________
|...........................|
|...........................|
|...........................|
|...........................|
|...........................|
|_________________|(640, 480)
таким образом пиксели расположены на экране((0,0) - верхний левый угол и (640,480) - нижний правый)
центр экрана - (320,240) пиксели
или можно узнать такими ф-циями:
C
1
2
3
4
5
int x = getmaxx()/2;
int y = getmaxy()/2;
//нарисовать красную точку в центре экрана
int color = RED;
putpixel(x, y, color);
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2010, 17:33

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

Русские хелпы по Borland C++ 5.* и Borland C++ Bulder
Подскажите где найти русские хелпы на Borland C++ 5.* и Borland C++ Bulder ...

Анимация в OpenGL, а где собсно, анимация?
// Bounce.cpp // Demonstrates a simple animated rectangle program with GLUT // OpenGL SuperBible,...

возможно ли переделать код алгоритма под Borland C переделать под Borland Delphi?
Подскажите возможно ли переделать код алгоритма под Borland C переделать под Borland Delphi? У меня...

Borland C++
как написать в Borland C++ так что бы при нажатий клавиш считало сколько было нажато клавиш????

Borland c++
Помогите, пожалуйста, решить задачу: Даны числа a и b. Сколько в диапазоне чисел, в которых есть...

Borland C++ 3.11
Помогите пожалуйста используя Borland C++ 3.11 Вот задание в формате doc: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.