Это может быть глупый вопрос, но я застрял и не могу его передать. Я делаю изометрическую игру, и у меня есть карта, построенная с использованием плит, я просто последовал этому руководству, чтобы построить карту, http://www.binpress.com/tutorial/creating-a-city-building-game-with-sfml/137. Но теперь я не знаю, как добавить символьные спрайты. Должен ли я добавлять эти спрайты, используя плитки, или просто рисовать спрайты в положение экрана. Любая помощь приветствуется.Isometric Sprites
ответ
Насколько я могу судить по движку, просто следуйте руководству «Текстуры и анимации» и нарисуйте анимацию на экране после того, как вы нарисуете плитки. Это не сложный движок, поэтому вы работаете только с 2D-спрайтами, нарисованными на экране (3D-эффект - всего лишь трюки алгоритма живописца, чтобы заставить его работать ... нет оси z, о чем указывает учебник)
глубина делается по заказу плитки оказывающего
То же самое касается объектов, игроков и т.д. ... Пусть предположить плоскость XY параллельно с землей и Z ось - высота. Тогда ваша сетка будет что-то вроде этого (предполагается, что макет формы алмаза):
Порядок оказания
Вы должны обрабатывать объект, игроков и прочее спрайтов таким же образом, как плитка (и в то же время). поэтому вы должны отображать все ячейки в определенном порядке в зависимости от вашего макета сетки и уравнения комбинации спрайтов. Если ваши спрайты могут перезаписывать уже обработанный материал, вы должны отображать от самых отдаленных фрагментов ближе к «камере». В этом случае стрелка синего направления на изображении выше правильно, и ось Z должна увеличиваться в самой внутренней петле.
Так что теперь, если у вас есть какой-либо объект, проигрыватель или материал помещен в ячейке
(x,y,z)
, то вы должны сделать его сразу после того, как клетка(x,y,z)
была вынесена до рендеринга любой другой клетки.Для ускорения - это хорошая идея иметь объекты и игроков на вашей карте плитки в качестве ячейки. Но для этого вы должны иметь плитки в правильном порядке, а также ваши картографические представления должны быть способны это сделать.
Да, это то, что я сделал сначала, но чувствовал себя не так, как учил, я бы спросил, прежде чем тратить больше времени. Спасибо за ответ. – user1857403