Я делаю свою самую первую игру со змеями с создателем Qt, и я долго застрял в одной проблеме. Я использую QGraphicsPixmapItem в QGraphicsScene.
Голова змеи должна отличаться от других тел. Теперь мне нужно удалить все элементы со сцены, чтобы нарисовать новую позицию змеи, чтобы она заработала, но я думаю, что это неправильный способ кодирования.
Как, я полагаю, обновлять змею без необходимости все время удалять QGraphicsPixmapItems?
заголовок
struct Point{
int x;
int y;
};
std::vector<Point> snakecore_;
QGraphicsPixmapItem* head_ = nullptr;
QGraphicsPixmapItem* core_ = nullptr;
касты
delete head_
for(unsigned int i = 0; i < snakecore_.size(); ++i){
if(i == 0){
head_ = scene_.addPixmap(red_);
head_->setPos(snakecore_[i].x, snakecore_[i].y);
}
//Add rest of the snake
}