2017-01-20 4 views
2

Я не говорю по-английски, я буду краток, извините.Заполнить SKShapeNode текстура

У меня есть SKShapeNode, размер 100x10000, как я могу заполнить его текстурой?

Я использовал этот метод: https://gist.github.com/man1/413642637ebd0b00fe2b

Это не подходит из-за того, что он тратит много оперативной памяти и не создает 100x10000 размер текстуры.

SKScopNode Я использовал для этого сократят текстуры на пути SKShapeNode, и это было то, что необходимо, но только для iOS10 ... iOS9 не может использовать SKShapeNode в качестве маски.

Обрезать SKShapeNode на мелкие кусочки, в моем случае это неудобно и непрактично. Есть ли другие способы заполнить текстуру SKShapeNode?

UPD: Я забыл уточнить. SKShapeNode неровный. Просто скопировать/вставить текстуру не подходит.

enter image description here

+0

Это может помочь у https://xcodenoobies.blogspot.my/2015/08/skspritekit-how-to-fill-skscene.html – GeneCode

+0

Я не уверен, что вы пытаетесь сделать, но это звучит как кандидат на https://developer.apple.com/reference/spritekit/sktilemapnode – Confused

+0

@Confused Спасибо, но, к сожалению, «SKTileMapNode» только для iOS 10.0 + – xXxxX

ответ

1

Этот способ не эффективен. Я предполагаю, что вы хотите создать платформу для своего игрового уровня? Ваш спрайт 100x10000 пикселей займет много памяти и не подходит для вашего дизайна игры. Что вы должны сделать, так это разделить платформу на мелкие кусочки (с той же шириной, что и ваш экран) и загрузить ее, когда ваш персонаж движется вперед. И когда платформа выходит за пределы экрана, удалите ее из сцены (тем самым экономя память) и загрузите другую на передней панели.

enter image description here

Прочитайте эту статью, чтобы узнать об этом: https://digitalleaves.com/blog/2013/12/parallax-scrolling-in-spritekit-made-easy/

+1

Хорошая работа! Я не мог понять, для чего ему нужна эта огромная вещь, поэтому не мог понять, что делать, чтобы разбить ее на более мелкие кусочки. Я думаю, ты прибил его. И отличный пост в блоге! – Confused