ich möchte ein einfaches Pacman-Spiel programmieren.
Dazu möchte ich als Einstieg einen Vollkreis mit einem QPushButton
(rightMove) nach recht bewegen. Dieser Vollkreis steht in einen eigenen QWidget (playField).
In main() rufe ich
Code: Alles auswählen
connect(rightMove, SIGNAL(clicked()), playField, SLOT(movePacM(5)));Ich freue mich über Antworten.
Gruss
Thomas
Auszug main()
Code: Alles auswählen
MainWidget::MainWidget(QWidget *parent)
: QWidget(parent)
{
QPushButton *quit = new QPushButton(tr("Quit"));
quit->setFont(QFont("Times", 18, QFont::Bold));
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
PlayField *playField = new PlayField;
QPushButton *rightMove = new QPushButton(tr("right move"));
rightMove->setFont(QFont("Times", 16, QFont::Bold));
connect(rightMove, SIGNAL(clicked()), playField, SLOT(movePacM(5)));
...Code: Alles auswählen
void PlayField::movePacM(int moveUnit)
{
if (moveUnit < 5)
moveUnit = 5;
if (moveUnit > 100)
moveUnit = 100;
currentPacMPosition += moveUnit;
update();
}
void PlayField::paintEvent(QPaintEvent * /* event */)
{
QPainter painter(this);
painter.setPen(Qt::NoPen);
painter.setBrush(Qt::blue);
painter.save();
painter.translate(currentPacMPosition, height()/2);
painter.drawPie(QRect(0, -15, 15, 15), 0, 360 * 16);
painter.restore();
}