繁体   English   中英

SFML Sprite调整大小错误

[英]SFML Sprite resizing error

每当我尝试使用sfml 1.6 Sprite.Resize(x,y)函数调整sprite的大小时,它都会尽可能多地复制最右边和最底端的内容以使其达到该大小。 有没有办法使它实际缩放图像? 我有一个30 x 30的图像,我想重新缩放为90 x 90,但这是发生的情况 (第一张图片是它给我的90 x 90,第二张是我给它的30 x 30)。

另外,我只是在这段代码中发现了这一点:

    void changeI(sf::Image I,int x,int y){
        std::cout<<"h"<<std::endl;
        CI = I; // CI is another sf::Image object declared earlier in my code
        CS.SetImage(CI);
}

如果我将其更改为:

        void changeI(sf::Image I,int x,int y){
            std::cout<<"h"<<std::endl;
            CI = I;
            CS.SetImage(I); //changed CI to I here 

它没有显示任何内容,而不是显示侧面带有奇怪缓冲区的图像。

我找到了一个解决方案,这是一个相当烦人的错误,当您首先将精灵设置为图像时,请确保使用您打算使用的最小对象,然后将其调整为所需的大小。 然后,您可以使用任何想要的图像。 我想这只是SFML的疏忽,希望他们会在SFML 2.0中修复它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM