[SFML] C++ SFML编程之旅 - 刘傲天

in 默认分类Game with 0 comment

SFML是什么?

既然你都来搜这个了,你理应知道它大概是干什么的,它大多用来写游戏,是C++的一个库,也有人用它来做一些可视化,也有人用它来左物理引擎

怎么使用?

sudo apt install libsfml-dev

第一个Demo

#include <SFML/Graphics.hpp>                                                
    //导入它的库才可以使用它的功能
 
int main()
{
    sf::RenderWindow window(sf::VideoMode(800, 600), "This is demo");     //创建一个窗口,第一个参数是一个VideoMode,表示窗口大小,第二个表示窗口标题
    sf::CircleShape shape;                                                    //创建一个物体
    shape.setPosition(400, 300);
    shape.setRadius(40.0f);
    shape.setFillColor(sf::Color::Cyan);
//设置这个物体的参数
 
    while (window.isOpen()){                                                  //不断执行这个循环
    sf::Event event;
    
    while (window.pollEvent(event)){                                      //获取这个窗口的事件
        if (event.type == sf::Event::Closed)                              //如果关闭窗口
            window.close();
        if (event.type == sf::Event::KeyPressed){                         //键盘输入事件
        if (event.key.code == sf::Keyboard::Escape)                   //获取按键输入如果是ESC
            window.close();
        }//end if
    }//end while
 
        window.clear();                                                       //每次处理完成都要把屏幕清空在画
    window.draw(shape);                                                   //在绘制一遍这个窗口
    window.display();                                                     //绘制完之后显示出来,这是一套流程
    }//end while
 
    return 0;
 }

编译(假设文件名称为demo.cc)

g++ demo.cc -o demo -lsfml-system -lsfml-window -lsfml-graphics

把库链接上才可以,运行一下看看效果吧!
刘傲天-球

Responses