Как превратить картизановые плитки в изометрические? - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь создать изометрические плитки из картонных (квадратных) плиток. У меня есть уравнение, но я не могу понять, как оно правильно.

Этот код создает сетку из квадратов картзана.

for itemX in 0...nrOfXtiles - 1 {
        for itemY in 0...nrOfYtiles - 1 {

            var cartX = itemX * tileSize
            var cartY = itemY * tileSize

            var tileView = BoardTile(frame: CGRect(x: cartX, y: cartY, width: tileSize, height: tileSize))

            gameBoard.addSubview(tileView)
        }
    }

enter image description here

Теперь формула для изометрических плиток:

            var isoX = cartX - cartY
            var isoY = (cartX + cartY)/2

Ссылка здесь: https://gamedevelopment.tutsplus.com/tutorials/creating-isometric-worlds-a-primer-for-game-developers--gamedev-6511

Но когда я изменяю код на переменные iso, он не выглядит так, как должен.

enter image description here

Код такой:

var tileView = BoardTile(frame: CGRect(x: isoX, y: isoY, width: tileSize, height: tileSize))

Я снималась в этом как слепая и, похоже, никуда не денусь. Есть предложения?

...