SFML 2.1 开发之旅 1

最近开始学用SFML了,觉得SFML是个挺好的东西,尤其是对于游戏开发来说,因此一边学一边分享吧(我用的c++版本的)!


一、配置


首先是SFML的配置,在http://www.sfml-dev.org/这里进行lib的下载,下载后解压到自己的目录中,然后打开VS2010进行配置。


配置流程,新建项目,选择属性,在VC++目录里面对包含目录和库目录进行配置,这个不解释……


配置VC++的目录属性后,再在链接器里面的输入选项的附加依赖项中加入

sfml-system-d.lib;sfml-window-d.lib;sfml-graphics-d.lib;sfml-network-d.lib;sfml-audio-d.lib;sfml-main-d.lib;

以上是debug模式的项,如果是release模式只需要把上面的每个项的-d去掉就行了。


二、第一个程序

我们新建一个工程,加入cpp新文件main.cpp,内容如下:

#include <SFML/Graphics.hpp>                                                  //不解释,目前只需要包含图像部分就行了。

int main()
{
    sf::RenderWindow window(sf::VideoMode(800, 600), "SFML Application");     //对新建窗口的封装,第一个参数是一个VideoMode,表示窗口大小,第二个表示窗口标题
    sf::CircleShape shape;                                                    //目前的物体,一个圆,暂时把他当成精灵就行了。
    shape.setPosition(400, 300);
    shape.setRadius(40.0f);
    shape.setFillColor(sf::Color::Cyan);

    while (window.isOpen()){                                                  //不断执行这个循环
        sf::Event event;
        
        while (window.pollEvent(event)){                                      //sfml中的事件,每次读取窗口的事件。
            if (event.type == sf::Event::Closed)                              //关闭事件,也就是按了窗口上的叉叉
                window.close();
	    if (event.type == sf::Event::KeyPressed){                         //按键事件
	        if (event.key.code == sf::Keyboard::Escape)                   //如果按了esc,也是关闭的效果
	            window.close();
	    }//end if
        }//end while

        window.clear();                                                       //每次清屏
        window.draw(shape);                                                   //东西还是要画的
        window.display();                                                     //画完之后还是要显示的
    }//end while

    return 0;
 }

以上就是一个最小型的示例。话说SFML真的挺不错的,作为游戏引擎来用的话个人觉得还是很不错的!慢慢学习吧!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值