У меня есть SKSpriteNode с текстурой со значительным альфа-маржами вокруг него. Текстура 92х92 точек; осязаемая рамка узла заканчивается намного меньшим (40x40) из-за альфа-поля. Я бы хотел, чтобы прикосновение регистрировалось, если оно происходит где угодно в текстуре 92x92.nodesAtPoint не находит мои узлы
Я обнаруживаю узлы в контактах с помощью узловAtPoint. Однако, если вы касаетесь альфа-поля, узел не обнаружен. Я попытался изменить это, переопределив calcAccumulatedFrame в моем SKSpriteNode, но, похоже, ничего не сделал. Мой метод редко и непредсказуемо называется. Я предполагаю, что если узел не имеет дочерних элементов, SpriteKit ссылается на свойство frame без использования метода calculateAccumulatedFrame.
Любые решения?
Я не совсем понимаю. Ваше изображение больше 92x92, но оно заканчивается этим размером из-за прозрачных полей? Вы хотите, чтобы прикосновения регистрировались на большем кадре, чем кадр спрайтов? – hamobi
Я обновил вопрос. Я использую текстуры 92x92, которые отлично зарекомендовали себя, но когда я добавил к ним больше невидимого поля, я заметил, что прикосновение не регистрируется нигде внутри текстуры - только внутри середины, которая не имеет альфы. –
с моей головы .. вы можете добавить свой спрайт к другому спрайту с четким цветом. вручную установите размер родительского спрайта на 92x92? – hamobi