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

创建一个新窗口:

sf::RenderWindow window(sf::VideoMode(,),"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

SFML从入门到放弃(1) 窗口和交互的更多相关文章

  1. SFML从入门到放弃(3) 视角和碰撞检测

    SFML从入门到放弃(3) 视角和碰撞检测 视角 window.draw();所画出的对象是在世界坐标的绝对位置. 视角可以选定在窗口中显示世界坐标下的的哪一个区域. sf::View init_vi ...

  2. SFML从入门到放弃(2) 图像和音频

    SFML从入门到放弃(2) 图像和音频 精灵 精灵(sf::Sprite)就是截取纹理(sf::Texture)的一块 或者重复纹理贴图 初始化精灵和纹理的一些方法: sf::Sprite init_ ...

  3. SFML从入门到放弃(0) 配置环境

    SFML从入门到放弃(0) 配置环境 恩..开始划水..学sfml的时候顺便做点笔记什么的.. 安装 在linux里面打开终端 然后输入 sudo apt-get install libsfml-de ...

  4. 绕过校园网的共享限制 win10搭建VPN服务器实现--从入门到放弃

    一.开篇立论= =.. 上次说到博主在电脑上搭建了代理服务器来绕过天翼客户端的共享限制,然而经过实际测试还不够完美,所以本着生命不息,折腾不止的精神,我又开始研究搭建vpn服务器= =... (上次的 ...

  5. QML 从入门到放弃

    发现了一个问题: QQuickView only supports loading of root objects that derive from QQuickItem. If your examp ...

  6. dotnet 从入门到放弃的 500 篇文章合集

    本文是记录我从入门到放弃写的博客 博客包括 C#.WPF.UWP.dotnet core .git 和 VisualStudio 和一些算法,所有博客使用 docx 保存 下载:dotnet 从入门到 ...

  7. 发布 Android Library 到 JCenter 从入门到放弃

    最近想倒腾一个小小的 UIKit 到 JCenter,为开源社区贡献一点绵薄之力,于是就有了一系列惨无人道的踩坑史.好,接下来,直奔主题,以下是发布流程. 发布到 JCenter 发布到 JCente ...

  8. 史上最强Java NIO入门:担心从入门到放弃的,请读这篇!

    本文原题“<NIO 入门>,作者为“Gregory M. Travis”,他是<JDK 1.4 Tutorial>等书籍的作者. 1.引言 Java NIO是Java 1.4版 ...

  9. Linux从入门到放弃、零基础入门Linux(第三篇):在虚拟机vmware中安装linux(二)超详细手把手教你安装centos6分步图解

    一.继续在vmware中安装centos6.9 本次安装是进行最小化安装,即没有图形化界面的安装,如果是新手,建议安装带图形化界面的centos, 具体参考Linux从入门到放弃.零基础入门Linux ...

随机推荐

  1. faster-rcnn目录介绍

    data 用来存放pretrained模型,比如imagenet上的,以及读取文件的cache缓存 experiments 存放配置文件以及运行的log文件,另外这个目录下有scripts可以用end ...

  2. vim全局替换命令-乾颐堂

    语法为 :[addr]s/源字符串/目的字符串/[option] 全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行. 如:“1,20” :表示从第1行到2 ...

  3. Flip

    Flip是一个能够让任意HTML.文本或jQuery Element产生漂亮翻转效果的jQuery插件. 可以配置翻转方向:从右到左.上到下或从左到右.下到上.翻转的速度也可以配置. 效果如下图所示: ...

  4. IntelliJ IDEA开发golang环境配置

    IntelliJ IDEA开发golang环境配置 首先把GO安装好...(自行安装,附上一篇我之前写的MAC安装GO) 安装IntelliJ IDEA,下载地址: https://www.jetbr ...

  5. 往数据库添加的时候(只添加以前未添加的记录的写法)c#

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  6. SDN网络工具

    TcpDump 根据使用者的定义对网络上的数据包进行截获的包分析工具. http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html ...

  7. Smarty的基本语法------变量调节器

    (1)首字母大写capitalize示例:{$articleTitle|capitalize}(2)字符串连接 cat示例:{$articleTitle|cat:" yesterday.&q ...

  8. app里面嵌套的H5页面上电话号码怎么才能点击拨号?

    代码: <p>联系我们:<a href="tel://66666666666">66666666666</a> </p>

  9. 20160214 2016-2017-2 实验二《Java面向对象》实验报告

    实验二 面向对象程序设计 (一)单元测试 写一段关于分数标准的代码,如下: public class MyUtil{ public static String percentage2fivegrade ...

  10. SOAP协议初级指南 (三)

    独立元素 在SOAP中, 一个独立元素表示至少被一个多引用存取元素引用的类型的实例.所有的独立元素用soap:id属性作标记,而且这个属性的值在整个SOAP envelope中必须是唯一的.独立的元素 ...