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

анимация в С++

03.10.2011, 22:14. Просмотров 2949. Ответов 7
Метки нет (Все метки)

как заставить шарик вращаться?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2011, 22:14
Ответы с готовыми решениями:

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

Анимация
Здравствуйте. Помогите, пожалуйста, сделать такую анимацию. Смог сделать 1 объект, который катается...

анимация
Помогите пожалуйста составит какую-нибудь анимацию на тему География Казахстана

Анимация
$('#anim-header').css('background','linear-gradient(184deg, #db4437 43%, transparent 43.34%)');...

7
Каратель
Эксперт С++
6598 / 4019 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
03.10.2011, 22:16 2
в цикле с задержкой изменять координаты по заданной функции
0
2 / 2 / 1
Регистрация: 05.03.2011
Сообщений: 73
03.10.2011, 22:17  [ТС] 3
а как через синус и косинус?
0
Каратель
Эксперт С++
6598 / 4019 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
03.10.2011, 22:32 4
Natasall, покажите что у вас есть

Цитата Сообщение от Natasall Посмотреть сообщение
а как через синус и косинус?
проходом цикла от 0 до 2-х Пи
0
2 / 2 / 1
Регистрация: 05.03.2011
Сообщений: 73
03.10.2011, 22:46  [ТС] 5
Цитата Сообщение от Jupiter Посмотреть сообщение
[b]


проходом цикла от 0 до 2-х Пи
напиши пожалуйста примерно как писать? я понимаю что через ПИ,а дальше незнаю
0
930 / 755 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
03.10.2011, 22:58 6
Цитата Сообщение от Natasall Посмотреть сообщение
напиши пожалуйста примерно как писать? я понимаю что через ПИ,а дальше незнаю
Natasall, вот пример накидал "издевательство" над калькулятором будем вращать его по часовой стрелке.
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
#include <windows.h>
#include <math.h>
#pragma warning(disable:4244)
 
int main(){
   WinExec("calc.exe", SW_SHOW);
   POINT pos, pt;
   RECT  rc;
   HWND  wnd = GetForegroundWindow();
   GetWindowRect(wnd, &rc);
   HRGN  rgn = CreateEllipticRgn(20, 20, rc.right-rc.left-20, rc.bottom-rc.top-20);
   SetWindowRgn(wnd, rgn, TRUE);
   DeleteObject(rgn);
    
   double pi = atan(1.0) * 4;
   int radx = GetSystemMetrics(SM_CXSCREEN) / 100 * 30;//радиус в 30%
   int rady = GetSystemMetrics(SM_CYSCREEN) / 100 * 30;
   int angle  = 0;
   pos.x = GetSystemMetrics(SM_CXSCREEN)/2-(rc.right-rc.left)/2;
   pos.y = GetSystemMetrics(SM_CYSCREEN)/2-(rc.bottom-rc.top)/2;
 
   while(++angle < 360*2) {
         pt.x = pos.x + radx * cos(angle*2*pi/180);
         pt.y = pos.y + rady * sin(angle*2*pi/180);
         SetWindowPos(wnd, HWND_TOPMOST, pt.x, pt.y, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
         Sleep(14u);
   };
   PostMessage(wnd, WM_QUIT, 0, 0);
   return 0;
}
0
2 / 2 / 1
Регистрация: 05.03.2011
Сообщений: 73
03.10.2011, 23:14  [ТС] 7
while(++angle < 360*2) {
pt.x = pos.x + radx * cos(angle*2*pi/180);
pt.y = pos.y + rady * sin(angle*2*pi/180);
SetWindowPos(wnd, HWND_TOPMOST, pt.x, pt.y, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
Sleep(14u);

Как я понимаю это можно и к кругу применить?

Добавлено через 3 минуты
Цитата Сообщение от xAtom Посмотреть сообщение
Natasall, вот пример накидал "издевательство" над калькулятором будем вращать его по часовой стрелке.
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
#include <windows.h>
#include <math.h>
#pragma warning(disable:4244)
 
int main(){
   WinExec("calc.exe", SW_SHOW);
   POINT pos, pt;
   RECT  rc;
   HWND  wnd = GetForegroundWindow();
   GetWindowRect(wnd, &rc);
   HRGN  rgn = CreateEllipticRgn(20, 20, rc.right-rc.left-20, rc.bottom-rc.top-20);
   SetWindowRgn(wnd, rgn, TRUE);
   DeleteObject(rgn);
    
   double pi = atan(1.0) * 4;
   int radx = GetSystemMetrics(SM_CXSCREEN) / 100 * 30;//радиус в 30%
   int rady = GetSystemMetrics(SM_CYSCREEN) / 100 * 30;
   int angle  = 0;
   pos.x = GetSystemMetrics(SM_CXSCREEN)/2-(rc.right-rc.left)/2;
   pos.y = GetSystemMetrics(SM_CYSCREEN)/2-(rc.bottom-rc.top)/2;
 
   while(++angle < 360*2) {
         pt.x = pos.x + radx * cos(angle*2*pi/180);
         pt.y = pos.y + rady * sin(angle*2*pi/180);
         SetWindowPos(wnd, HWND_TOPMOST, pt.x, pt.y, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
         Sleep(14u);
   };
   PostMessage(wnd, WM_QUIT, 0, 0);
   return 0;
}
у меня показывает ошибку в 9,12 и 26 строчке
0
1184 / 540 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
03.10.2011, 23:54 8
xAtom, у меня открывается калькулятор, а рядом с ним окошко с чёрным кругом, которое вращается, разве это и было задумано?
Я просто из любопытства откомпилировал Ваш код.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2011, 23:54

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

Анимация в VB
перерыл кучу ссылокно так и не понял как это сделать,необходимо картинку двигать снизу вверх по...

Анимация
Ребята, как можно на форму загрузить анимацию?

2D Анимация
Скажите а какие есть способы создания анимации для спрайтов? не может же быть только покадрово?...

Анимация
Ребят помогите, очень нужно!!! По данным уравнениям движения фигуры построить ее анимационную...


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

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

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