Спасибо, Костян.
Так значит
x1 устанавливается равным
x2 после выполнения функции. Ну а если ты вызвал функцию в первый раз? Или подождав очень долгое время в третий раз? Тогда откуда берется
x1? Я так понимаю, что скорость мыши - это количество пикселей, на которое она успела сместиться за секунду. Так что наверное хранится 1000
x-ов мыши, которые были за 0, 1, 2, 3, ... 999, 1000 мс ранее. По прохождению еще одной мс, добавляется новая координата, а самая последняя удаляется. Когда же вызывается функция
MouseXSpeed, то все все координаты стираются, и в конец (0 мс) добавляется текущая координата. Действительно все делается так?
Касатально 4-го вопроса, связанного с буферизацией. Вот такой код:
Graphics3D 400, 200
camera=CreateCamera()
cube=CreateCube()
PositionEntity cube, 0, 0, 5
RenderWorld ; Flip
WaitKey()
End
что с
Flip-ом, что без выдаст тебе куб. Вот в этом заключается часть магии. Оставшаяся часть магии в том, что при таком коде:
Graphics3D 400, 200
camera=CreateCamera()
cube=CreateCube()
PositionEntity cube, 0, 0, 5
Print 1
RenderWorld
WaitKey()
цифра после рендеринга исчазает (ее ты и не успеваешь увидеть). А вот при таком коде:
Graphics3D 400, 200
camera=CreateCamera()
cube=CreateCube()
PositionEntity cube, 0, 0, 5
If GraphicsBuffer()=BackBuffer() Then
Print 1
WaitKey()
EndIf
RenderWorld
WaitKey()
цифра не исчезает! После однократного нажатия ничего не происходит, а после двукратного программа завершается. Волшебство!