При использовании SKCropNode мне нужно, чтобы изображение добавлялось к cropNode для настройки каждого отдельного значения альфа-пикселя в соответствии с соответствующим значением альфа-пикселя маски.SKCropNode Странное поведение
После многих исследований я пришел к выводу, что значения альфа-изображений изображения не собираются приспосабливаться к маске, однако после того, как я продолжил свой проект, я заметил, что один пиксель изображения определенного типа был фактически затухающим к значению альфа-пикселя маски ??? Это было здорово! Однако, после воспроизведения этого, я не знаю, почему он это делает?
import SpriteKit
var textureArray: [SKTexture] = []
var display: SKSpriteNode!
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
anchorPoint = CGPointMake(0.5, 0.5)
backgroundColor = UIColor.greenColor()
fetchTexures()
display = SKSpriteNode()
let image = SKSpriteNode(texture: textureArray[0])
display.addChild(image)
let randomCropNode = SKCropNode()
display.addChild(randomCropNode)
let cropNode = SKCropNode()
cropNode.maskNode = display
let fill = SKSpriteNode(color: UIColor.whiteColor(), size: frame.size)
cropNode.addChild(fill)
cropNode.zPosition = 10
addChild(cropNode)
}
func fetchTexures() {
var x: Int = 0
while x < 1 {
let texture: SKTexture = SKTextureAtlas(named: "texture").textureNamed("\(x)")
textureArray.append(texture)
x += 1
}
}
}
Приведенный выше код дает мне мой желаемый эффект, однако, если вы удалите ниже, значения альфа пикселей изображения больше не регулировать в соответствии с маской ?? Этот код на самом деле не используется в моем проекте, но это единственный способ настроить значение альфа-пикселя.
let randomCropNode = SKCropNode()
display.addChild(randomCropNode)
Может ли кто-нибудь увидеть, что вызывает это поведение, или если есть лучший способ получить желаемый эффект?
Маска:
Результат:
Если удалить:
let randomCropNode = SKCropNode()
display.addChild(randomCropNode)
Результат:
Поведение Я получаю это на самом деле приспосабливается к пиксельный альфа-значение, если моя маска пиксель альфа-значение 0,25, мое изображение пиксель альфа-значение будет идти до 0,25, в то время как раньше, если значение маски было 0,25, значение изображения будет 1,0.Когда я добавляю randomCropNode, я получаю свой желаемый эффект, но из того, что Ive читает в Интернете, пиксели изображения не должны приспосабливаться к маске. Извините, это, вероятно, не имеет смысла. В основном, я хочу, чтобы пиксели настраивались на маску, но я не уверен, почему она делает это только в этом экземпляре. – Jarron
Как я уже сказал, это может быть просто отрисовка вашей маски как обычной текстуры, а не фактическая маска. – Knight0fDragon
Извините, я понял, что вы говорите, но нет, это не так. Я приложу изображение в ближайшее время. Изображение состоит из четырех оттенков черного, а затем я добавляю белую заливку, и она превращается в 4 оттенка белого. – Jarron