Другие языки программирования и технологии
помогите с си++, пожалуйста)
Нужно сделать что-то вроде анимации (как я поняла) в си++. Я выбрала "магический круг" из предложенных тем. Ну и как мне объяснили, нужно чтобы он выполнял какие-нибудь действия (катался, лопался, цвет меня и т. п) ) вот. . посоветуйте пожалуйста литературу, где можно примеры найти подобные и подробное (желательно даже понятное) ) описание- как, что, откуда и куда) если кто-нибудь может помочь или хотя бы объяснить-тоже буду рада)
Visual C++, приложение WinForms:
Добавить компонент Timer. Обработчики событий таймера Tick и формы OnPaint:
System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) {
this->Invalidate();
}
System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {
static double g;
// получить координаты левого верхнего угла области рисования окружности
auto x = this->ClientRectangle.Width / 2 - 20 + int(Math::Cos(g) * 60);
auto y = this->ClientRectangle.Height / 2 - 20 + int(Math::Sin(g) * 60);
// увеличить угол
g += 0.05;
e->Graphics->SmoothingMode = Drawing2D::SmoothingMode::AntiAlias;
// очистить старый рисунок
e->Graphics->Clear(SystemColors::Window);
// нарисовать новую окружность
e->Graphics->DrawEllipse(Pens::Black, x, y, 40, 40);
}
Получаем:
Дальше все зависит от твоей фантазии, можно, к примеру, сделать так, чтобы окружность "догоняла" мышь, пульсировала (циклически изменяя радиус) и т. д.
Добавить компонент Timer. Обработчики событий таймера Tick и формы OnPaint:
System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) {
this->Invalidate();
}
System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {
static double g;
// получить координаты левого верхнего угла области рисования окружности
auto x = this->ClientRectangle.Width / 2 - 20 + int(Math::Cos(g) * 60);
auto y = this->ClientRectangle.Height / 2 - 20 + int(Math::Sin(g) * 60);
// увеличить угол
g += 0.05;
e->Graphics->SmoothingMode = Drawing2D::SmoothingMode::AntiAlias;
// очистить старый рисунок
e->Graphics->Clear(SystemColors::Window);
// нарисовать новую окружность
e->Graphics->DrawEllipse(Pens::Black, x, y, 40, 40);
}
Получаем:

Дальше все зависит от твоей фантазии, можно, к примеру, сделать так, чтобы окружность "догоняла" мышь, пульсировала (циклически изменяя радиус) и т. д.
если у вас нет опыта вы не сделаете подобную задачу
погугли примеры
например, вот для Borland Builder
http:// www. cyberforum. ru/cpp-builder/thread154198.html
например, вот для Borland Builder
http:// www. cyberforum. ru/cpp-builder/thread154198.html
Если рассматривать консольное приложение, то вам понадобится graphics.h и time.h
Справочник по Графике:
http://valera.asf.ru/cpp/scpp/cppd_graphics.h.htm
Этого должно хватить. просто изменяйте координаты во времени и не забывайте очищать экран до рендринга.
Справочник по Графике:
http://valera.asf.ru/cpp/scpp/cppd_graphics.h.htm
Этого должно хватить. просто изменяйте координаты во времени и не забывайте очищать экран до рендринга.
Бубен и бегай навколо компа)
Сделай чтобы он от стен отскакивал, я думаю уже готовые программы такие есть в инете:)
Похожие вопросы
- помоги с СИ++..
- Помогите решить задачи на Си! Пожалуйста!!!
- Помогите доделать программу пожалуйста ) На языке Си
- Помогите решить написать программу в СИ пожалуйста
- Помогите написать программу пожалуйста на Си
- народ! помогите помочь в Си++
- помогите на си или на паскале
- помогите с си
- помогите на си++
- Помогите с Си. Вопрос по заданию (насчет типизированной функции, которая должна возвращать массив)