我制作游戏。当用户按下A时会发生攻击并且程序返回true。有用。但我想创建一个返回此布尔值的getter,这里是break: 它没有用。 当我使用我在控制器中创建的getter时:
item= new item();
if(item->getAttack()){
//do my stuff
}
当我按下时,它没有返回任何内容。为什么?
这是我的file.cpp(attack_
a是私有变量)
void item::keyPressEvent(QKeyEvent *event){
switch(event->key()){
case Qt::Key_A:
attack_=true;
break;
}
attack();
update();
}
void item::attack(){
if(attack_){
qDebug()<<attack_;//return me true every time I press A
qDebug()<<"I am going to kill you!!";
}
}
bool item::getAttack()// Doesn't work
{
return attack_;
}
class item: public Element, public QGraphicsPixmapItem{
public:
item(): Element(0,0){
attack_=false;
attack();
getAttack();
setFlag(QGraphicsItem::ItemIsFocusable);
}
}