【发布时间】:2018-07-14 15:20:57
【问题描述】:
我创建了一个球节点,并应用了我的 3D 模型中的纹理图像。我总共捕获了 6 张图像,3 张图像(具有 120 度)用于围绕 x 轴滚动,另外 3 张图像用于围绕 y 轴滚动。我希望精灵套件用下面的代码来模拟它。当我施加脉冲时,它开始滑动而不是滚动,当它碰撞到侧面时,它开始转动但又不滚动。通常,根据球上的冲量,它有时应该一起转动和滚动。对“8球台球游戏”球的影响可以是一个例子,我想得到一个结果。
var ball = SKSpriteNode()
var textureAtlas = SKTextureAtlas()
var textureArray = [SKTexture]()
override func didMove(to view: SKView) {
textureAtlas = SKTextureAtlas(named: "white")
for i in 0... textureAtlas.textureNames.count {
let name = "ball_\(i).png"
textureArray.append(SKTexture(imageNamed: name))
}
ball = SKSpriteNode(imageNamed: textureAtlas.textureNames[0])
ball.size = CGSize(width: ballRadius*2, height: ballRadius*2)
ball.position = CGPoint(x: -ballRadius/2-20, y: -ballRadius-20)
ball.zPosition = 0
ball.physicsBody = SKPhysicsBody(circleOfRadius: ballRadius)
ball.physicsBody?.isDynamic = true
ball.physicsBody?.restitution = 0.3
ball.physicsBody?.linearDamping = 0
ball.physicsBody?.allowsRotation = true
addChild(ball)}
【问题讨论】:
标签: swift3 sprite-kit skspritenode skphysicsbody