2016-12-11 6 views
0

私は2つのノード、playerとplatfromを持っています。どちらも物理学を持っています。私のプレイヤーはまだいて、プラットフォームはSkActionによってスクロールします。プレイヤーがプラットホームの上に約半分のところに到達すると、それは投げ落とされます。素早い物理学者が画像のサイズと一致しない

player.physicsBody=SKPhysicsBody(rectangleOf:player.frame.size) 
player.physicsBody?.isDynamic=true 
player.physicsBody?.allowsRotation=false 
player.physicsBody?.affectedByGravity=true 

platform.physicsBody=SKPhysicsBody(rectangleOf:platfrom.frame.size) 
platform.physicsBody?.isDynamic=false 

が設定されています。

plat.size=CGSize(width:(self.frame.width)*2,height:(self.frame.height)/3) 
plat.anchorPoint=CGPoint(x:0,y:0) 
plat.position=CGPoint(x:0,y:0) 
plat.zPosition = 2 
addChild(platform) 

私の代わりにこれを使用してみましたが、選手はまだ私は時にプレイヤーが移動し、彼らは互いに重ならないようにノードは、固形物のように行動したい

plat.physicsBody=SKPhysicsBody(rectangleOf:CGSize(width:platform.width, 
height: platform.frame.height)) 

を下に落ちます。また、そこに私が使うことのできる代替の方法もあります。私は物理学に取り組むことを本当に好きではありません。

+0

あなたの現在のコードはどうなりますか? –

+0

'didMove'に' view.showsPhysics = true'を設定して、シーン内のフィジックスボディのアウトラインを表示してみてください。 – 0x141E

+0

ありがとう!身体は明らかにアンカーポイントを変更していません。 @ 0x141E –

答えて

0

物理学の代わりに、iOS 10 SKTilemapNodeに最近追加されたものを使用して背景を作成します。各タイルは、タイルが研磨されているか否かを示すデータでタグ付けすることができる。次に、プレーヤーがタイルに対してどのように動くかに焦点を当てます。現在、この作業を示す多くの例はありませんが、WWDC 2016: What's new in SpriteKitがこれを簡単に示しています。その他のリソースには、バックグラウンドタイルマップを構築する方法と、フィジックスエンジンがプラットフォーマーにとって最高のエクスペリエンスを提供しない理由を示すbackground infoなど、少なくとも、どのようにビルドするかを示す例が含まれています(top down)。 Kenney'sは、platformerのアートワークのためのタイルの良いソースです。

関連する問題