如何将精灵从方法返回到主然后绘制它?

qwertyu uytrewq

我写了下面的代码,但它不打印图片。我只看到黑屏,什么也没有。纹理拒绝出现。

这些代码只是我所遇到问题的例证。基本上,我的目标是创建带有特定对象的精灵TextureRect并将其发送到main,在其中我可以为此精灵设置纹理,然后绘制它。

如果可以的话请告诉我

ps。我试图将纹理设置为方法内部的精灵,但后来我得到没有纹理的白色矩形

#include <SFML/Graphics.hpp>

class Sprite_draw
{
public:    
   sf::Sprite print()
    {
        sf::Sprite sprite;
        sprite.setTextureRect(sf::IntRect(10, 10, 10, 10));
        return sprite;
    }    
};

int main()
{
    sf::RenderWindow app(sf::VideoMode(800, 600), "SFML window");

    while (app.isOpen())
    {
        sf::Event event;
        while (app.pollEvent(event))
        {

            if (event.type == sf::Event::Closed)
                app.close();
        }

        Sprite_draw sprite1;
        sf::Texture texture;
        texture.loadFromFile("cb.bmp");
        sprite1.print().setTexture(texture);
        app.clear();
        app.draw(sprite1.print());
        app.display();
    }

    return EXIT_SUCCESS;
}
一些程序员哥们

您的Sprite_draw::print函数有两个问题:一个是它按值返回一个对象,即它是一个副本。另一个问题是它是局部变量的副本因此,每次调用该函数时,都会为局部变量创建一个对象sprite,并返回该对象的新副本

第一个问题意味着每次您做

sprite1.print().setTexture(texture);

您只能修改函数返回的(临时)副本。第二个问题意味着,无论调用该函数多少次,它始终会为局部变量创建一个全新的对象。

一种可能的解决方案是使局部变量成为类中成员变量,并返回对其的引用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将精灵从方法返回到主然后绘制它?

来自分类Dev

如何将更改的对象返回到下载它的组件?

来自分类Dev

如何将值从SOAP函数返回到流星方法?

来自分类Dev

如何将printf()重定向到文件,然后再返回到控制台

来自分类Dev

如何将字符串转换为 ASCII,然后再返回到 Haskell?

来自分类Dev

如何将值返回到数组

来自分类Dev

如何在路径中将精灵移动到中心,然后返回到原始路径?

来自分类Dev

如何将字符串从子窗体返回到主窗体(不打开任何新窗体)?

来自分类Dev

如何将列表转换为字符串,然后将此字符串返回到初始列表?

来自分类Dev

如何将 ondelete 函数重定向到页面以要求输入密码然后返回到 SQLFORM.grid 页面?

来自分类Dev

如何将闭包中的值返回到方法中

来自分类Dev

如何将方法的值从不同的类返回到输出标签

来自分类Dev

在TACTIC中,使用server.execute_cmd()方法时,如何将数据返回到前端?

来自分类Dev

如何将字符串从接受整数的方法返回到单独的类

来自分类Dev

如何将对象从方法列表返回到方法?

来自分类Dev

如何将对象从方法列表返回到方法?

来自分类Dev

如何将JSON结果返回到Ajax.BeginForm

来自分类Dev

如何将SeekBar值返回到先前的活动?

来自分类Dev

ajax调用如何将数据返回到变量?

来自分类Dev

如何将数据从片段返回到活动?

来自分类Dev

如何将类从C ++代码返回到C#

来自分类Dev

如何将错误消息从SQL Server返回到网页

来自分类Dev

如何将值从存储过程返回到EF

来自分类Dev

如何将值从递归函数返回到数组

来自分类Dev

如何将数组返回到Excel VBA范围

来自分类Dev

如何将文本输入返回到React组件

来自分类Dev

如何将PowerShell变量返回到VBScript

来自分类Dev

C:如何将多个值从函数返回到main

来自分类Dev

如何将更新后的数组元素返回到DOM?

Related 相关文章

  1. 1

    如何将精灵从方法返回到主然后绘制它?

  2. 2

    如何将更改的对象返回到下载它的组件?

  3. 3

    如何将值从SOAP函数返回到流星方法?

  4. 4

    如何将printf()重定向到文件,然后再返回到控制台

  5. 5

    如何将字符串转换为 ASCII,然后再返回到 Haskell?

  6. 6

    如何将值返回到数组

  7. 7

    如何在路径中将精灵移动到中心,然后返回到原始路径?

  8. 8

    如何将字符串从子窗体返回到主窗体(不打开任何新窗体)?

  9. 9

    如何将列表转换为字符串,然后将此字符串返回到初始列表?

  10. 10

    如何将 ondelete 函数重定向到页面以要求输入密码然后返回到 SQLFORM.grid 页面?

  11. 11

    如何将闭包中的值返回到方法中

  12. 12

    如何将方法的值从不同的类返回到输出标签

  13. 13

    在TACTIC中,使用server.execute_cmd()方法时,如何将数据返回到前端?

  14. 14

    如何将字符串从接受整数的方法返回到单独的类

  15. 15

    如何将对象从方法列表返回到方法?

  16. 16

    如何将对象从方法列表返回到方法?

  17. 17

    如何将JSON结果返回到Ajax.BeginForm

  18. 18

    如何将SeekBar值返回到先前的活动?

  19. 19

    ajax调用如何将数据返回到变量?

  20. 20

    如何将数据从片段返回到活动?

  21. 21

    如何将类从C ++代码返回到C#

  22. 22

    如何将错误消息从SQL Server返回到网页

  23. 23

    如何将值从存储过程返回到EF

  24. 24

    如何将值从递归函数返回到数组

  25. 25

    如何将数组返回到Excel VBA范围

  26. 26

    如何将文本输入返回到React组件

  27. 27

    如何将PowerShell变量返回到VBScript

  28. 28

    C:如何将多个值从函数返回到main

  29. 29

    如何将更新后的数组元素返回到DOM?

热门标签

归档