Как создать карту с прокруткой. Например, мой предпочтительный задний буфер - 800x600, а карта - 2400x1800 (приблизительно 3x3). Кроме того, как мне обрабатывать состояние клавиатуры, чтобы прокручивать и делать ходьбу. Я знаю, что большинство игр удерживают игрока в центре и прокручивают мир. Проблема с этим подходом - это углы. Будет большая свободная область.Xna scroll-able view
ответ
Для того, чтобы прокручивать карту, которую вы можете использовать простой прямоугольник или VIEWPORT (названный камеры):
' Initialize camera with size of game viewport
Dim viewport As Viewport = spriteBatch.GraphicsDevice.Viewport
Dim camera As New Rectangle(viewport.X, viewport.Y, viewport.Width, viewport.Height)
' Draw method code
spriteBatch.Begin()
spriteBatch.Draw(image,
New Rectangle(0, 0, viewport.Width, viewport.Height), // Destination rectangle
camera, // Source rectangle
Color.White)
spriteBatch.End()
Изменяя camera.X и camera.Y значения вы можете настроить происхождение от того, где ваш образ рисуется таким образом, перемещение камеры вокруг. Например следующий код будет перемещать камеру вправо:
Dim keyboardState As KeyboardState = Keyboard.GetState()
If keyboardState.IsKeyDown(Keys.Right) Then
camera.X += 1
End If
Ходьба может быть сделано очень аналогичным образом, за счет увеличения позиции символов X и Y координаты, когда по нажатии кнопок.
Удержание игрока в центре экрана немного сложнее. В основном вы хотите сохранить характер в центре экрана во все времена, за исключением случаев, когда расстояние между ним и краем мира меньше половины экрана. В этом случае перестаньте перемещать камеру и начните перемещать символ от центра к желаемой стороне.
- 1. Dojo Scrollable View - прокрутить кверху
- 2. XNA View Matrix - Искомое объяснение
- 3. CoreTextView scrollable
- 4. Scrollable tableLayout
- 5. ListView Scrollable в Android
- 6. ng-scrollable вообще не работает
- 7. jQuery Tools Scrollable
- 8. Создание Scrollable поповера Без
- 9. cgi script scrollable check_box
- 10. FLEX scrollable NavigatorContent
- 11. print scrollable vb.net form
- 12. Auto-scrollable panel
- 13. Scrollable TableLayout android
- 14. Looping/Repeating scrollable layout
- 15. jquery tools vertical scrollable
- 16. JQuery Tools & Scrollable
- 17. JavaFX BarChart Scrollable?
- 18. Создание Horizontally Scrollable UL
- 19. Android 3 Scrollable TextViews
- 20. Asp.net Dropdownlist scrollable
- 21. ListView не Scrollable
- 22. Draggable + Sortable & Scrollable Divs
- 23. Make Panel scrollable
- 24. Dynamically set iframe scrollable
- 25. Scrollable Dropdown Multiselect
- 26. Kendo UI Grid Scrollable
- 27. Scrollable Iconified JInternalFrames
- 28. jQuery draggable scrollable container
- 29. Easeljs Scrollable Container
- 30. Как сделать svg scrollable