我想大多数初学 C++ 的人都有这样一个疑惑,那就是学完这门编程语言以后接下来能作什么。而且大多数初学者学习过程都应该是看着这么一个黑框框。就像是这样php
这么一看学习 C++ 确实是挺无聊的一件事,实际上 C++ 能作的事情远比咱们想象中的要多,它在游戏、科学计算、网络软件、分布式应用、操做系统、设备驱动程序和嵌入式系统等领域都有应用。应用领域很是普遍,可是缺点也很明显,开发效率低。c++
这里我会写一个系列文章,经过 SFML(Simple and Fast Multimedia Library)来介绍 C++ 在游戏方面的一些应用,以及如何用它来实现一个简单的游戏,文章内容大多数翻译自Maxime Barbier的**《SFML Blueprints》**,有兴趣的朋友能够搜一下这本书。编程
SFML 是多媒体库,它为PC的各个组件提供简单的界面,用来简化游戏和多媒体应用程序的开发。 主要由五个模块组成,分别是:系统,窗口,图形,音频和网络。网络
SFML 是跨平台的,经过 SFML,你的应用程序能够在最多见的操做系统上进行编译和运行:Windows,Linux,macOS以及Android和iOS。框架
SFML 支持多种语言,具体能够在官网查看支持的语言。编程语言
安装过程在这里就不详细说了,官网有很详细的过程,根据你的平台选择对应的教程安装就行了。分布式
当你把环境都配置好了之后,就能够敲一个简单的例子了。ide
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
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所示,在一个窗口里面绘制出了一个圆。虽然是一个很简单的功能,可是咱们已经脱离了**黑框框!**经过后面的学习,咱们能作的事情会更多。学习
下一篇文章咱们将会搭建游戏的基本框架,Game 类的建立。😃spa