从内存创建变量
我正在使用sfml。我需要编写一个函数,它将创建一个sf :: RectangleShape类型,并在当前时间返回一个新的sf :: RectangleShape,并且在当前时间位置,并且在使用window.draw()后停留在那里。现在我的代码是:从内存创建变量
sf::RectangleShape functions::Map(sf::RectangleShape wall0){
wall0.setPosition(0,0);
wall0.setSize(sf::Vector2f(200,200));
wall0.setFillColor(sf::Color::Green);
wall0 = this->wall0;
return wall0;
}
void functions::Draw(){
window.clear();
window.draw(logo);
if (menu){
window.draw(menuStart);
window.draw(menuOptions);
window.draw(menuExit);
}
if (playing){
void Map();
window.draw(wall0);
if (sf::Mouse::isButtonPressed(sf::Mouse::Left)){
}
}
我想在按下鼠标左键时返回wall0的新鼠标位置。我知道如何获得鼠标输入,但不知道如何绘制对象并将其保存在窗口上。我已经将它拖到了鼠标按钮被点击的时候绘制对象的地方,但它并没有停留。
我不熟悉SFML - 但简单地看你的代码,这就是我想你想做的事:
void functions::Map(sf::RectangleShape & wall0){
wall0.setPosition(0,0);
wall0.setSize(sf::Vector2f(200,200));
wall0.setFillColor(sf::Color::Green);
}
然后功能:: Draw方法:
...
if (playing){
window.draw(Map(wall00));
if (sf::Mouse::isButtonPressed(sf::Mouse::Left)){
...
没有没有工作我得到的错误太多的函数调用和window.draw没有重载函数的实例 – user1068329 2013-03-22 17:38:50
是函数::映射函数或类成员?试试函数:: Map(wall0)? – HughB 2013-03-22 17:41:28
嗯,现在我只是没有重载函数的实例... annot将参数1从'void'转换为'const sf :: Drawable'' – user1068329 2013-03-22 17:46:07
'这 - > wall0' ??显示'Map'类。 – 2013-03-22 16:21:57