SFML编程 遇到的问题(一)

目录

创建新项目时需要进行的配置

去掉visual studio运行时的黑色console窗口

事件


安装时遇到的问题已经忘记了,当时参考的网址为:https://www.sfml-dev.org/tutorials/2.5/。什么时候重新装一次遇到问题再补吧。

创建新项目时需要进行的配置

1) 属性->C/C++->附加包含目录:E:\Program Files\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\include

2) 属性->链接器->常规->附加库目录:E:\Program Files\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\lib

3) 属性->链接器->输入->附加依赖项:

sfml-graphics.lib
sfml-system.lib
sfml-window.lib
sfml-audio.lib

注:上面的包含目录和附加库目录是我自己的安装目录,附加依赖项是自己想要使用的内容,自己看情况修改即可。

去掉visual studio运行时的黑色console窗口

先在属性->链接器->系统->子系统中将console切换为windows,再在链接器->高级->入口点中添加mainCRTStartup。

 

事件

--官网翻译开始--

sf::Event类型

    在用events之前,咱先看看类型sf::Event是什么,怎么用。sf::Event,是联合体的一种,因此,同一时间它的成员只有一个是有效的。(回想一下C++课堂上学到的内容:联合体的所有成员共用一块内存。)这个有效地成员,就是能和所发生的事件类型对得上的,比如在事件KeyPressed发生时,event.key就是有效的。试图读取任何其他的成员都会导致一个未定义的行为(最可能的情况是随机或者无效的值)。不要试图用一个不匹配当前发生事件的event成员。

    sf :: Event实例由sf :: Window类的pollEvent或waitEvent函数填充。只有这两个函数可以创建有效的事件,尝试使用没有成功调用的pollEvent(或waitEvent)返回值的sf :: Event,都将导致上面提到的的未定义行为。

    下面是一个典型的事件循环:

sf::Event event;

// while there are pending events...
while (window.pollEvent(event))
{
    // check the type of the event...
    switch (event.type)
    {
        // window closed
        case sf::Event::Closed:
            window.close();
            break;

        // key pressed
        case sf::Event::KeyPressed:
            ...
            break;

        // we don't process other types of events
        default:
            break;
    }
}

--官网翻译结束--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值