you need to put the sequence in your render function:
void Player::render()
{
gl::pushMatrices();
gl::translate(position.x, position.y);
gl::translate(20,20);
gl::rotate(my_degree);
gl::translate(-20,-20);
// do other render operations
gl::popMatrices();
}
with update simply being
void Player::update(float degree)
{
my_degree=degree;
}
because each block between matching pushMatrix
and popMatrix
is independent so the code you had in your update was a noop