2017-05-23 9 views
1

SKReferenceNodeとして使用するSKSceneをセットアップしました。スレッドは、参照ノードシーンで定義されたカスタムクラスを持つSKSpriteNodeであり、すべての犬はスレッドスプライトの子です。カスタムクラスと参照ノードを使用してすべての問題は、私の問題は、犬のN個だけを表示するシーンを "トリミング"できません。あたかもリファレンスノードを別のシーンにドロップしたあとも、その親シーンはリファレンスノードのwidth/heightパラメータを無視し、その中のすべてを表示しているように見えます。だから質問は、これが可能なのでしょうか?または、シーンの幅と高さのプロパティに親シーンで使用されている場合、SKReferenceNodesはそれに従っていませんか?SKReferenceNodeをクロップする

最初の画像は全景参照シーン(70x425)です。 2番目の画像はフレームの内容はのように見えます。

enter image description hereenter image description here

class SledTeam: SKSpriteNode { 
    var dogTeam = [Int]() 
    required init?(coder aDecoder: NSCoder) { 
     switch dogTeam.count { 
      case 7,8: 
       self.scene?.size.height = 425 
       break 
      case 5,6: 
       self.scene?.size.height = 335 
       break 
      case 3,4: 
       self.scene?.size.height = 260 
       break 
      case 1,2: 
       self.scene?.size.height = 190 
       break 
      default: 
       break 
     } 
    } 
} 
+0

は、まあ、私は作物のノードを使用することによってこの問題を回避するために管理し、私はまだだろうシーンサイズのパラメータが適用されない理由を知りたい。私は、参照ノード自体がサイズプロパティを持たないことを知っていますが、それはそれが割り当てられたシーンのサイズを使用するべきだと私に思います。 – TheValyreanGroup

+0

なぜシーンサイズのパラメータが適用されますか?シーンは何も切り抜かないので、あなたがそれらを見ることができないからといって、彼らが作物をすべきではありません。 – Knight0fDragon

+0

Ok。私は、シーンが2番目のピクチャのように設定されている場合、UIKitのようにcropToBoundsにすると仮定しました。 – TheValyreanGroup

答えて

0

私guesすべてのノードが含まれているためにサイズのごSKS参照ファイルに見えないスプライトノードを使用することです。 この不可視の「ベース」ノードを呼び出してそれを切り抜いた後。その他の詳細は、私の古い記事を参照してください

extension SKReferenceNode { 
    func getBasedChildNode() -> SKNode? { 
     if let child = self.children.first?.children.first {return child} 
     else {return nil} 
    } 
} 

: は目に見えないノードを取得するには、この拡張機能を使用することができます Add SKReferenceNode/SKScene to another SKScene in SpriteKit

関連する問題