Ogre3D Basic Tutorials / Базовые туториалы Ogre3D

→It has several resource managers (like Ogre) which need to find their respective resource locations.
0 У него есть несколько менеджеров ресурсов(как и у OGRE), которые должны найти соответствующее место, где ресурсы будут расположены.
→This may seem like a pain at first, but in reality very little code is required to make this happen.
0 Поначалу это может выглядеть зубодробительно, но в реальность понадобится совсем немного кода, чтобы это случилось.
→This happens by these two lines in BaseApplication::frameRenderingQueued:
0 Это происходит, когда эти две линии находятся в BaseApplication::frameRenderingQueued:
→We will present two separate methods for solving this.
0 Для решения этой проблемы, мы представим два отдельных метода.
→We have to keep track of the key's state between frames to avoid this problem.
0 Что бы избежать этой проблемы, нам нужно отслеживать состояние клавиши между кадрами.
→The first frame the T key is down, the light gets toggled, the next frame the T key is still down, so it's toggled again... and again and again until the key is released.
0 В первом кадре клавиша T нажимается, свет переключается, а в следующим кадре кадре клавиша T все еще нажата, поэтому свет переключается снова... и снова, и снова, пока клавишу не отпустят.
→Do we see that the same key is down and do the same thing again?

In some cases (like movement with the arrow keys) this is what we want to do.

However, let's say we want the "T" key to toggle between a light being on or off.
0 Видим ли мы, что та же клавиша нажата и выполняется то же действие?

В некоторых случаях(таких как передвижение с помощью arrow keys(клавиши стрелки)), это то, что мы хочем сделать.

Однако, давайте скажем, что мы хотим, чтобы клавиша "T" переключала свет из положения включено в выключено и обратно.
→If we see that a key is down, we can act on this information, but what happens the next frame?
0 Если мы видим, что клавиша зажата, мы можем воспользоваться этой информацией, но что тогда произойдет в следующем кадре.
→We run into an interesting problem when we try to use the keyboard to change the state of some object on the screen.
0 Мы столкнулись с интересной проблемой, когда пытались использовать клавиатуру для изменения состояния какого-либо объекта на экране.
→This means that we will be calling methods during our frame listener to query the state of the keyboard and mouse.
0 Это означает, что мы будем вызывать методы во время работы нашего кадрового контроллера, чтобы запросить состояние клавиатуры и мыши.
→The other two variables (mToggle and mMouseDown) control our input.

We will be using "unbuffered" mouse and key input in this tutorial (buffered input will be the subject of our next tutorial).
0 Две другие переменные(mToggle и mMouseDown) контролируют входные данные.

Мы будем использовать "небуферизованные" входные данные мыши и клавиатуры (буферизованный входные данные мы рассмотрим в следующем уроке)
→We have defined a few variables in the TutorialFrameListener class.

Let's go over them before we get any further:
0 Мы определили несколько переменных в классе TutorialFrameListener.

Давайте пройдемся по ним, до того как продолжать:
→Let's put something in the 'processUnbufferedInput' function.
0 Давайте запишем что-нибудь в функцию processUnbufferedInput.
→In order to continue rendering the frameStarted method must return a positive boolean value.
0 Для того, чтобы продолжить рендеринг, метод frameStarted должен вернуть положительное булево значение(true).
→If anything returns false, Ogre breaks out of the render loop and the application exits.
0 Если как-нибудь возвратится ложное значение(false), то Ogre завершит цикл рендринга и приложение закроется.
→It merely calls BaseApplication::frameRenderingQueued and our (yet to be written) processUnbufferedInput function and then returns to the loop.
0 Программа просто вызовет функции BaseApplication::frameRenderingQueued и (еще не записанную) processUnbufferedInput, а потом вернется в цикл рендеринга.
→We need to put some code in our framelistener frameRenderingQueued function:
0 Нам нужно добавить код в нашу контроллер кадров функцию frameRenderingQueued:
→Now, add a Ninja entity to the scene at the origin:
0 Теперь добавим объект ниндзя на нашу сцену в начало координат:
→We want scene objects to still be visible when the light is off, but we also want the light going on/off to be noticable:
0 Мы бы хотели, чтобы объекты все еще были видны, когда свет выключен, но мы также хотим, чтобы включение/выключение света было заметным.
→The U and O keys moves the ninja scene node up and down.
0 Клавиши "U" и "O" будут двигают узел с ниндзей вверх и вниз.
Резюме
Пол:
мужчина
Родной язык:
русский
С нами:
с 17 марта 2009 г. (6425 дней)
Деятельность:
3282 версии перевода с общим рейтингом 172
325 комментариев
Карма: 13 (оценок: 13)
Написать wuffur личное сообщение