Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

dobryj den, popytalas otkryt prikreplionnyj fail ctoby posmotret kak rabotaet, no mne ego ne pokazyvaet vydajet osibku. Pochemu?
Очень интересно! ии сайт крутой жалко что умирает(
У Вас число превысит максимальное число int. Можно использовать в Вашем случае uint, но лучше все переписать на double.
Добавление к программе строки glutReshapeFunc(changeSize); приводит к тому, что треугольник перестаёт совсем отрисовываться.
Выдаёт ошибку glut32.dll не найден! При том, что он лежит в System32! Всё решил) Нужно отправить не в System32, а в System.

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика
http://magazin-veshalok.ru пкф наше дело предлагает цепи торговые.
Подробное описание электрика под ключ цена на нашем сайте.
Язык программирования: 
C/C++
Среда программирования: 
Visual Studio 2015

#include <SFML\Graphics.hpp>
#include <vector>
 
using namespace std;
 
const int winW = 350; // Ширина окна
const int winH = 300; // Высота окна
 
int main() {
	sf::ContextSettings set;
	set.antialiasingLevel = 8; // Уровень сглаживания
	sf::RenderWindow window (sf::VideoMode(winW, winH), "Lights", sf::Style::Default, set); //Создаем окно
 
	int radius = 75; // Радиус окружности
 
	sf::CircleShape c1 (radius, 40); // Создаем красную окружность
	c1.setPosition(50, 50);
	c1.setFillColor(sf::Color::Red);
 
	sf::CircleShape c2(radius, 40); // Создаем зеленую окружность
	c2.setFillColor(sf::Color::Green);
	c2.setPosition(50 + radius/2, 50);
 
	sf::CircleShape c3(radius, 40); // Создаем синюю окружность
	c3.setFillColor(sf::Color::Blue);
	c3.setPosition(50 + radius, 50);
 
	// Скорости для наших окружностей
	float speed1 = 1.3, speed2 = -1.3, speed3 = 1.3;
	while (1) {
		sf::Event event; // Для захвата событий
		while (window.pollEvent(event)) {
			// События закрытия окну по клику на крестик и по нажатию Esc
			if (event.type == sf::Event::Closed || event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Escape)
				return 0;
		}
		window.clear(); // Очищаем окно
 
 
		if (c1.getPosition().x >= 160 || c1.getPosition().x <= 30) // Если дошли до одной из границ, меняем направление
			speed1 *= -1;
 
		if (c2.getPosition().x >= 160 || c2.getPosition().x <= 30) // Если дошли до одной из границ, меняем направление
			speed2 *= -1;
 
		if (c3.getPosition().x >= 160 || c3.getPosition().x <= 30) // Если дошли до одной из границ, меняем направление
			speed3 *= -1;
 
		c1.move(sf::Vector2f(speed1, 0)); // Передвигаем каждую окружность
		c3.move(sf::Vector2f(speed3, 0));
		c2.move(sf::Vector2f(speed2, 0));
 
		window.draw(c1, sf::BlendAdd); // Отрисовываем окружности и устанавливаем смешивания цветов как сложение
		window.draw(c2, sf::BlendAdd);
		window.draw(c3, sf::BlendAdd);
 
		sf::sleep(sf::microseconds(8000)); // Чтобы анимация не проиходила слишком быстро, делаем паузу.
 
		window.display(); // Отображаем нарисованное
	}
 
	return 0;
}

Прикрепленный файлРазмер
Lights Release.zip63.92 кб
Lights.zip1.1 Мб