Я стараюсь, чтобы мои жетоны на настольной игре медленно падали. Прямо сейчас они падают, но они падают так быстро. Как я мог реализовать функцию таймера в моем коде? Прямо сейчас я делаю цикл, который обновляет координату y glTranslate. Но это все еще слишком быстро! верхняя y - координата y, где я нажимаю на экран, а нижний - координаты самого низкого открытого места для токена.Функция таймера GLUT
col =0;
double bottomy = 0;
int row = 0;
circlex = (double)x/width ;
circley = (double)y/height ;
row = board.getRow(col) + 1;
bottomy = 500 - (25*row);
for(double topy = y ; topy <= bottomy; topy += 2){
glTranslatef(circlex, circley, 0.0f);
circley += .0000000000000000001;
display();
}
r = board.makeMove(col);
Не могли бы вы добавить еще немного кода? Я вижу, по крайней мере, две проблемы: 1) Если весь этот код является частью 'glutDisplayFunc', то весьма вероятно, что вы видите только конечный результат и никаких промежуточных шагов, поскольку буферы не меняются местами. 2) Если вы не сбросите матрицу модели внутри дисплея(), вы добавляете преобразования вместо замены их на текущее значение «circley». – BDL
Весь этот код является частью моей функции мыши, которая используется, когда пользователи нажимают на левую кнопку для перемещения. Я думаю, что моя проблема связана с мировыми координатами для openGL. Как мне перейти на преобразование координат мыши в координаты мира? –