【问题标题】:SFML 2.1 texturesSFML 2.1 纹理
【发布时间】:2014-09-05 04:40:54
【问题描述】:

我想看看纹理是否大于 0 像素(检查是否显示),如下所示:

if(image.getSize()>0)

图像是一种纹理。
我收到一条错误消息:

错误:'image.sf::Texture::getSize() > 0'中的'operator>'不匹配

这是什么意思?我怎样才能使它工作?(如果可能的话)
如果不可能,我如何查看纹理中是否存在图像? 我正在使用 SFML 2.1 和 CodeBlocks。
谢谢。

【问题讨论】:

    标签: c++ textures sfml


    【解决方案1】:

    sf::Texture::getSize() 返回一个sf::Vector2<T>,特别是sf::Vector2u。你应该这样做

    sf::Vector2u size = image.getSize();
    if(size.x > 0 || size.y > 0) ...
    

    if(image.getSize() > sf::Vector2u(0, 0)) ...
    

    【讨论】:

    • 没有用于比较向量的操作>;这没有任何意义。
    • 那我该怎么做呢?
    【解决方案2】:

    我找到了方法: 使用if(image.getSize().x>0&&image.getSize().y>0) 它分别比较 x 和 y。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 2014-08-13
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多