QGraphicsView에서 스프라이트를 이동하려고합니다. 내가 사용하는 :QGraphicsScene :: advance()가 내 항목을 다시 칠하지 않는 이유는 무엇입니까?
connect(timer, SIGNAL(timeout()), scene, SLOT(advance()));
timer->start(1000/33);
그러나 내 스프라이트는 다시 그려지지 않습니다. 보기를 업데이트하려면 alt-tab을 수행해야합니다.
QGraphicsView에서 스프라이트를 이동하려고합니다. 내가 사용하는 :QGraphicsScene :: advance()가 내 항목을 다시 칠하지 않는 이유는 무엇입니까?
connect(timer, SIGNAL(timeout()), scene, SLOT(advance()));
timer->start(1000/33);
그러나 내 스프라이트는 다시 그려지지 않습니다. 보기를 업데이트하려면 alt-tab을 수행해야합니다.
첫 번째 단계에서는 모든 항목에 장면이 변경 될 예정임을 알리고 두 번째 단계에서는 모든 항목에 이동 가능한 것으로 알립니다.
문서는 장면 항목의 애니메이션 알림 도구임을 암시하며 실제로보기를 업데이트하는 것에 대해서는 아무 것도 말하지 않습니다. QTimer::timeout()
신호를 QGraphicsScene::update()
슬롯에 연결해야 할 수 있습니다.
this (QGraphicsScene is missing a particular item update)과 유사하게 장면의 오브젝트가 무효화되고 장면이 업데이트를 처리하게합니다.
감사합니다. update()가 문제를 수정했지만 update()가 너무 많아 게임 속도가 느려집니다. 나는 그것을 고치려고 노력할 것이다. – user1312748