当前位置:  开发笔记 > 编程语言 > 正文

使用SFML制作自定义类型

如何解决《使用SFML制作自定义类型》经验,为你挑选了1个好方法。

我最近选择使用SFML,并且我决定使用它作为一种学习经验.我已经定义了一个类Ball,其中draw使用SFML绘制一个RectangleShape.当我尝试使用该window.draw()功能将此自定义类型绘制到屏幕时,我得到错误,因为Ball不是sf::Drawable.我很感激这方面的帮助,是SFML的新手.



1> Conduit..:

要使用window.draw(object)对象的类必须继承drawable接口并实现抽象的sf :: Drawable :: draw函数.

听起来像sf :: RectangleShape是Ball的成员.SFML知道如何渲染形状,但不知道Ball本身.Ball的类声明应如下所示:

class Ball : public sf::Drawable //,...
{
    //...
    private:
    virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const;
    //...
};

绘制应该像这样实现:

void Ball::draw(sf::RenderTarget& target, sf::RenderStates states) const
{
    //assuming m_shape is the sf::RectangleShape
    target.draw(m_shape, states);
}

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有