テクスチャの一部だけを表示するSKSpriteNode
を作成することはできますか?例えばSpriteKit部分テクスチャマッピング
は、私がx2=400
からx1=300
とy1=600
からy2=700
のようなサイズ720x720のテクスチャの特定の領域を表示するサイズ100×100の正方形を作成することができますか?
ご協力いただきありがとうございます。
テクスチャの一部だけを表示するSKSpriteNode
を作成することはできますか?例えばSpriteKit部分テクスチャマッピング
は、私がx2=400
からx1=300
とy1=600
からy2=700
のようなサイズ720x720のテクスチャの特定の領域を表示するサイズ100×100の正方形を作成することができますか?
ご協力いただきありがとうございます。
あなたがパズルのピースとして使用するテクスチャの小さな塊にテクスチャを分割したい場合は、あなたがここでSKTexture(rect: in texture:)
を使用したい、それを使用する方法の例です:
let texture = SKTexture(...) //How ever you plan on getting main texture
let subTextureRect = CGRect(x:0,y:0.width:10,height:10) // The actual location and size of where you want to grab the sub texture from main texture
let subTexture = SKTexture(rect:subTextureRect, in:texture);
あなたは今他のノードで使用するサブテクスチャのチャンクを持つ
ありがとうございました! rect値を修正してうまくいきました。これらの投稿も役に立ちました。 http://stackoverflow.com/questions/30228104/what-is-happening-to-my-sprite-when-using-initrectintexture。 http://stackoverflow.com/questions/21874822/trying-to-use-only-a-portion-of-a-sktexture-using-texturewithrect-intexture。 –
はこのような何かを試してみてください:
import SpriteKit
import GameplayKit
class GameScene: SKScene {
let visibleArea = SKSpriteNode(color: .black, size: CGSize(width:100,height:100))
let parentNode = SKSpriteNode(color: .white, size: CGSize(width:200, height:200))
override func didMove(to view: SKView) {
let cropNode = SKCropNode()
let texture = SKSpriteNode(imageNamed: "Spaceship")
visibleArea.position = CGPoint(x: 0, y: 100)
cropNode.maskNode = visibleArea
cropNode.addChild(texture)
addChild(cropNode)
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touch = touches.first {
let location = touch.location(in: self)
let previousPosition = touch.previousLocation(in: self)
let translation = CGPoint(x: location.x - previousPosition.x , y: location.y - previousPosition.y)
visibleArea.position = CGPoint(x: visibleArea.position.x + translation.x , y: visibleArea.position.y + translation.y)
}
}
}
オーバーライドさtouchesMoved方法は、という理由だけで、より良い例でもあります。私はここで何をしたか、次のとおりです。
ここでは結果である:
私はこのようなコマンドを避けなければならないことを知っていますが、私はそれを言わなければなりません。本当にありがとう! –
私はそれを試しましたが、うまく動作しませんでした。私はこれをテストしている間に作物を使うことを学んだので、まだありがたいです。 –
SKCropNodeでこれを行うことができます:https://developer.apple.com/reference/spritekit/skcropnode – Whirlwind
スプライト本体全体に完全なテクスチャを表示させたい、または完全なテクスチャのみのスプライトが必要なのですかスプライト本体の一部を表示しますか? – Knight0fDragon
私がしようとしているのはパズルゲームです。テクスチャを取得し、テクスチャの異なる部分をそれぞれ表示するこのテクスチャから四角形を作成します。 –