旋转风车。

rotate

 

#include<windows.h>
#include <SFML/Audio.hpp>
#include <SFML/Graphics.hpp>

using namespace sf;
float x = 0.03;

int main() {

	RenderWindow window(VideoMode(900, 500), "My Window");

	ConvexShape con1(4);
	con1.setPoint(0, Vector2f(0, 0));
	con1.setPoint(1, Vector2f(200, 0));
	con1.setPoint(2, Vector2f(0, 100));
	con1.setOrigin(0, 100);
	con1.setPosition(450, 250);

	ConvexShape con2(4);
	con2.setPoint(0, Vector2f(0, 0));
	con2.setPoint(1, Vector2f(200, 0));
	con2.setPoint(2, Vector2f(0, 100));
	con2.setOrigin(0, 100);
	con2.setPosition(450, 250);

	ConvexShape con3(4);
	con3.setPoint(0, Vector2f(0, 0));
	con3.setPoint(1, Vector2f(200, 0));
	con3.setPoint(2, Vector2f(0, 100));
	con3.setOrigin(0, 100);
	con3.setPosition(450, 250);

	ConvexShape con4(4);
	con4.setPoint(0, Vector2f(0, 0));
	con4.setPoint(1, Vector2f(200, 0));
	con4.setPoint(2, Vector2f(0, 100));
	con4.setOrigin(0, 100);
	con4.setPosition(450, 250);

	con2.rotate(90);
	con3.rotate(180);
	con4.rotate(-90);

	con1.setFillColor(Color::Red);
	con2.setFillColor(Color::Blue);
	con3.setFillColor(Color::Yellow);
	con4.setFillColor(Color::Green);

	while (true)
	{
		con1.rotate(x);
		con2.rotate(x);
		con3.rotate(x);
		con4.rotate(x);

		window.clear(Color::White);

		window.draw(con1);
		window.draw(con2);
		window.draw(con3);
		window.draw(con4);

		window.display();
	}
}

命名空间名称:sf

using namespace sf;

控制旋转的速度
float x = 0.03;

绘制窗体

    RenderWindow window(VideoMode(900, 500), "My Window");

绘制风车扇叶con1

    ConvexShape con1(4);

设置扇叶的三点坐标
    con1.setPoint(0, Vector2f(0, 0));
    con1.setPoint(1, Vector2f(200, 0));
    con1.setPoint(2, Vector2f(0, 100));

设置图案中心点
    con1.setOrigin(0, 100);

移动风车的位置坐标
    con1.setPosition(450, 250);

初始化各个风车叶片的位置,方位角度

    con2.rotate(90);
    con3.rotate(180);
    con4.rotate(-90);

给叶片染色

    con1.setFillColor(Color::Red);
    con2.setFillColor(Color::Blue);
    con3.setFillColor(Color::Yellow);
    con4.setFillColor(Color::Green);

旋转叶片

    while (true)
    {
        con1.rotate(x);
        con2.rotate(x);
        con3.rotate(x);
        con4.rotate(x);  
}

刷新背景色

     window.clear(Color::White);

将各个叶片绘制到图板上

        window.draw(con1);
        window.draw(con2);
        window.draw(con3);
        window.draw(con4);

显示叶片

        window.display();
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值