Я создаю 2D-RPG с видом сверху, например, Legend of Zelda: связь с прошлым.
когда игрок нарисован, я хочу обновить глубину дерева, чтобы оно было над и под игроком, когда положение игрока по оси Y выше или ниже, чем положение дерева по оси Y, я думаю, находится ли дерево сверху или нет, должно решаться позиция игроков Y, будучи ниже или выше. возможно ли это сделать таким образом? Могу ли я изменить глубину слоя в методе обновления?
Я не уверен, что ты можешь. я не очень опытен в кодировании. Если есть правильный способ сделать это даже без использования глубины слоя spriteBatch, я был бы признателен за любую помощь.
Я обнаружил, как использовать глубину слоя в
spriteBatch.Draw();
Метод.
То, что я пытаюсь сделать, показано на изображениях ниже.
Код, который я использую для отделения деревьев от плиток травы, использует глубину слоя, как показано ниже:
spriteBatch.Begin(SpriteSortMode.FrontToBack, blendState = null, samplerState = null, DepthStencilState.DepthRead);
spriteBatch.Draw(tree, treePos, null, null, Vector2.Zero, 0, null, Color.White, SpriteEffects.None, 0.6f);
spriteBatch.End();
Метод рисования плитки для
tile
установлено значение с плавающей запятой
0.5f