SFML从入门到放弃(1) 窗口和交互

SFML从入门到放弃(1) 窗口和交互

创建一个新窗口:

sf::RenderWindow window(sf::VideoMode(500,500),"new window");

但是光创建一个窗口并不能显示

还要加一个循环

    while (window.isOpen()){
        sf::Event event;  //接受窗口事件
        while (window.pollEvent(event)){
            if (event.type == sf::Event::Closed){ // 检测关闭
                window.close();
            }
        }
    }

然后就能看到一个黑色的窗口了

Event是一个union 可以通过 event.type 来判断

具体可以参考官网

 

键盘鼠标交互:

鼠标的操作信息可以通过event来检测

void check_mouse(const sf::Event &event)
{
    if (event.type == sf::Event::MouseButtonPressed){ //检测鼠标 输出鼠标坐标
        if (event.mouseButton.button == sf::Mouse::Right){
            std::cout << event.mouseButton.x << std::endl;
            std::cout << event.mouseButton.y << std::endl;
        }
    }

    if (event.type == sf::Event::MouseButtonReleased){ //检测鼠标释放
        std::cout << "realease" << std::endl;
    }

}

键盘的话一种是类似于鼠标的方式通过event检测

另外一种就是直接检测当前键有没有按下

if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)){ //检测键盘信息 上键是否按下
    std::cout << "up\n";
}

 

 

参考:https://www.sfml-dev.org/tutorials/2.5

 

by karl07

转载于:https://www.cnblogs.com/karl07/p/10285692.html

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值