Показать сообщение отдельно
Старый 14.06.2011, 15:35   #5
Hagrael
Нуждающийся
 
Регистрация: 11.06.2011
Сообщений: 57
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Несколько вопросов

Спасибо, Костян.

Так значит 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()
цифра не исчезает! После однократного нажатия ничего не происходит, а после двукратного программа завершается. Волшебство!
(Offline)
 
Ответить с цитированием