C++通过引用传递变量(SFML窗口)
C++ passing variable by reference (SFML window)
通过引用传递变量时遇到问题。我试着在课堂上的SFML窗口中画一些东西,但它画不出来。如果我取消对注释行的注释,它会起作用。我做错了什么?
#pragma once
#include "stdafx.h"
#include <SFML/Graphics.hpp>
#include "ball.h"
int _tmain(int argc, _TCHAR* argv[])
{
sf::RenderWindow window = sf::RenderWindow( sf::VideoMode( 640, 480 ), "SFML window" );
ball my_ball = ball ( sf::Vector2f( 320.0, 240.0 ) );
window.clear();
my_ball.draw(window);
//sf::CircleShape circle;
//circle.setRadius( 30 );
//circle.setPosition( sf::Vector2f( 320.0, 240.0 ) );
//window.draw( circle );
window.display();
while(window.isOpen()) {
sf::Event event;
while( window.pollEvent(event) ){
if( event.type == sf::Event::Closed ){
window.close();
}
}
sf::sleep( sf::milliseconds( 20 ) );
}
return 0;
}
ball.h
#include <SFML/Graphics.hpp>
class ball
{
public:
ball( sf::Vector2f position, float size = 30.0 );
void draw( sf::RenderWindow & window ) const;
private:
sf::Vector2f position;
float size;
};
ball.cpp
#include "StdAfx.h"
#include "ball.h"
ball::ball( sf::Vector2f position, float size ) {
position = position;
size = size;
}
void ball::draw( sf::RenderWindow & window ) const {
sf::CircleShape circle;
circle.setRadius( size );
circle.setPosition( position );
window.draw( circle );
}
为什么要将它们分配给自己?错了
ball::ball( sf::Vector2f position, float size ) {
position = position;
size = size;
}
相关文章:
- SFML RenderWindow打开窗口需要很长时间
- 获取 SFML 窗口的 HWND 和高可用性?
- SFML 文本未绘制在窗口上
- 如何从单独的线程控制 SFML 窗口?
- 在SFML(C++)中启动一个新窗口
- 当鼠标移出窗口时,SFML 窗口会自行关闭
- SFML 窗口没有响应
- SFML视图与窗口混乱
- SFML 中的分段错误 调用 sf::窗口::关闭后
- SFML参考窗口在绝对位置绘制
- 使用套接字 SFML 时窗口无响应
- 窗口在 SFML 中未打开
- 如何在调用函数时将对象绘制到 sfml 窗口上
- 运行 SFML 图形后看不到新窗口
- 如何将SFML窗口声明为我所有的类功能
- 将 SFML 渲染窗口传递给类
- C++/SFML窗口创建失败
- C++通过引用传递变量(SFML窗口)
- 试图创建SFML窗口时发生访问冲突
- 未显示 SFML 窗口