用C++和SFML写游戏-SFML介绍(1)

admin 2023年2月12日13:54:39评论71 views字数 1325阅读4分25秒阅读模式

我想大多数初学 C++ 的人都有这样一个疑惑,那就是学完这门编程语言之后接下来能做什么。并且大多数初学者学习过程都应该是看着这么一个黑框框。就像是这样

用C++和SFML写游戏-SFML介绍(1)

这么一看学习 C++ 确实是挺无聊的一件事,实际上 C++ 能做的事情远比我们想象中的要多,它在游戏、科学计算、网络软件、分布式应用、操作系统、设备驱动程序和嵌入式系统等领域都有应用。应用领域非常广泛,但是缺点也很明显,开发效率低。

这里我会写一个系列文章,通过 SFML(Simple and Fast Multimedia Library)来介绍 C++ 在游戏方面的一些应用,以及如何用它来实现一个简单的游戏,文章内容大多数翻译自Maxime Barbier的**《SFML Blueprints》**,有兴趣的朋友可以搜一下这本书。

一、SFML是什么

用C++和SFML写游戏-SFML介绍(1)

SFML 是多媒体库,它为PC的各个组件提供简单的界面,用来简化游戏和多媒体应用程序的开发。主要由五个模块组成,分别是:系统,窗口,图形,音频和网络。

SFML 是跨平台的,通过 SFML,你的应用程序可以在最常见的操作系统上进行编译和运行:Windows,Linux,macOS以及Android和iOS。

SFML 支持多种语言,具体可以在官网查看支持的语言。

二、安装 SFML

安装过程在这里就不详细说了,官网有很详细的过程,根据你的平台选择对应的教程安装就好了。



用C++和SFML写游戏-SFML介绍(1)



三、一个简单的小例子

当你把环境都配置好了以后,就可以敲一个简单的例子了。

#include #include int main(int argc, char const *argv[]){    sf::RenderWindow window(sf::VideoMode(400, 400), "Circle");    window.setFramerateLimit(60);
sf::CircleShape circle(150); circle.setFillColor(sf::Color::Red); circle.setPosition(10, 20);
while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed or (event.type == sf::Event::KeyPressed and event.key.code == sf::Keyboard::Escape) ) { window.close(); } window.clear(); window.draw(circle); window.display(); } } return 0;}

运行之后的效果如图3.1所示,在一个窗口里面绘制出了一个圆。虽然是一个很简单的功能,但是我们已经脱离了**黑框框!**通过后面的学习,我们能做的事情会更多。

用C++和SFML写游戏-SFML介绍(1)

下一篇文章我们将会搭建游戏的基本框架,Game 类的创建。😃


作者:sshpark
链接:https://juejin.cn/post/6844903860260061192
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


原文始发于微信公众号(汇编语言):用C++和SFML写游戏-SFML介绍(1)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月12日13:54:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   用C++和SFML写游戏-SFML介绍(1)https://cn-sec.com/archives/1549406.html

发表评论

匿名网友 填写信息