Я создаю приложение для игрового типа, используя SpriteKit. В одной из сцен я хочу создать область, в которой пользователь сможет рисовать. К сожалению, использование SKShapeNodes создает зубчатые линии и вызывает падение FPS. Я думал об использовании метода Core Graphics, но мне нужно, чтобы линии были частью узла. Так есть ли способ использовать узел как холст для CG?Элементы CoreGraphics внутри SKNode
ответ
Вы можете нарисовать на CGImage и создать SKTexture от использования textureWithCGImage:
В отличии от взглядов, вы не можете создать SKNode подклассов, которые выполняют пользовательский рисунок.
Поэтому я думаю, что ответ нет, вы не можете этого сделать.
У каждого узла есть свойство scene
, а у scene
есть ссылка на содержащийся view
. Но то, что ускоряет анимацию спрайтов, заключается в том, что спрайты консервированы - изображения уже нарисованы и просто нужно скопировать. Типы узлов, отличные от SKSpriteNode
, также оптимизированы для скорости. Соответственно, в классах спрайтов нет методов рисования - нет возможности для вашего кода выполнять пользовательский чертеж.
Ну, вот что я боялся. Но это имеет смысл. – smoothRenegade
- 1. SKNode касается другого распознавания SKNode
- 2. Нельзя использовать SKNode для подкласса SKNode
- 3. Sprite Kit Выберите SKNode под другим SKNode
- 4. sknode color or texture
- 5. CoreGraphics оптимизации
- 6. Альтернатива CoreGraphics?
- 7. Пользовательская форма CoreGraphics touch
- 8. показать клавиатуру на SKNode touch
- 9. Как рисовать блеск внутри UIView с помощью coregraphics?
- 10. Поймать прикосновение внутри фигуры, нарисованной с использованием CoreGraphics - ObjectiveC
- 11. UITapGestureRecognizer на SKNode: Преобразование координат из UIView в SKNode
- 12. Добавление дочернего SKNode в существующий SKNode изменяет сенсорную область
- 13. SKNode следуйте за другим SKNode в пределах SKConstraint
- 14. Как преобразовать координаты одного SKNode в другой SKNode?
- 15. Проникните всех детей SKNode?
- 16. Дайте SKNode собственную физику
- 17. SKNode() только 360deg zRotation
- 18. Группировка физических тел SKNode?
- 19. Добавление SKNode в SpriteKit
- 20. Перемещение SKNode по кругу
- 21. SKNode containsPoint не работает
- 22. Кадр SKNode неправильный?
- 23. SKPhysicsBody и [SKNode setScale:]
- 24. Безопасна ли SKNode?
- 25. Создание строки в SKNode
- 26. Эффект движения для SKNode
- 27. быстрого SpriteKit SKNode класс
- 28. __stack_chk_fail в подклассе SKNode
- 29. Позиция изменения SKNode
- 30. Случайный сбой CoreGraphics
Чувствует себя немного взломанным. Я надеялся, что будет более элегантное решение, но я думаю, мне придется пойти с твоим предложением. Благодарю. – smoothRenegade
Это совершенно законно. Если вы используете cocos2d, вы по существу делаете то же самое, рисуя на CCRenderTexture, а затем создавая спрайт из текстуры (или напрямую используя текстуру, это основное отличие). – LearnCocos2D