Yatay duran mario stili bir döner platform oluşturmaya çalışıyorum. Şimdiye kadar ne yaptımSwift SpriteKit Mario yatay dönen yatay platform
test amaçlı Bunun için basit bir sınıf oluşturmaktır.
class PlatformRound: SKNode {
let platform: Platform
// MARK: - Init
init(barSize: CGSize, color: SKColor, pos: CGPoint) {
/// Base
let base = SKShapeNode(circleOfRadius: 6)
//base.name = Platform.Name.normal
base.fillColor = SKColor.darkGrayColor()
base.strokeColor = base.fillColor
base.position = pos
let rotatingAction = SKAction.rotateByAngle(CGFloat(-M_PI), duration: 8)
base.runAction(SKAction.repeatActionForever(rotatingAction))
/// Bar
let bar = Platform(size: barSize, color: color, pos: CGPointMake(0, 0 - (barSize.height/2)), ofType: .Normal)
bar.zPosition = -200
/// Platform that supposed to stay horizontal
let platformSize = CGSizeMake(40, GameplayConfig.World.platformHeight)
let platformPos = CGPointMake(0, 0 - (bar.size.height/2))
platform = Platform(size: platformSize, color: color, pos: platformPos, ofType: .Normal)
super.init()
addChild(base)
base.addChild(bar)
bar.addChild(platform)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
Döndürebileceğim bir roundBase oluşturuyorum. Taban düğümden aşağıya doğru kayan bir çubuk oluşturuyorum. Sonunda her zaman yatay kalması beklenen platformu yaratıyorum. Çubuğu ve platformu oluşturmak için başka bir Platform alt sınıfı kullanıyorum, ancak bu soruyla alakalı değillerdir.
Platformun yatay olarak nasıl kalmasını sağlayabilirim. Çalışmayan aşağıdakileri denedim. Ben sürekli platformu pozisyon veya zRotation
platformRound.platform.zRotation = ...
2) platformu eklendikten sonra belirlenen ve sürekli zRotation güncellemek için bu özelliği kullanmak daha alır bir zRotation mülkü oluştur güncellemek benim gameScene içinde güncellemede
1) .
3) physicsJoints
ben eksik bir kolay bir yolu yokturIm emin uğraşırken çalıştı. Herhangi bir yardım için minnettar olurum.
Bu https://www.youtube.com/watch?v=Igjf-W87bW4 hakkında mı konuşuyorsunuz? – Whirlwind
Hey, cevap için teşekkürler. İşte tam olarak bahsettiğim şey. – crashoverride777
Bu * kolay olmalı *. Yine de, kodun bir kısmını PlatformRound örneğini oluşturduğunuzda ve çevresi etrafında döndürdüğünüz kodu eklediğinizde (eğer bunu böyle yapıyorsanız) yardımcı olacaktır. Ya da size 'SKSpriteNodes' ile basit bir örnek verebilirim, ancak mevcut ayarlarınıza uyacak şekilde değiştirmeniz gerekebilir. – Whirlwind