sprite-kit - 速度: Meters per second or pixels per second?

标签 sprite-kit

苹果documentation指出物理体的速度以米每秒为单位测量。

这是真的吗?像素和米之间有关系吗?如果有的话是什么?

或者这是文档中的错误,它实际上是每秒像素数?

最佳答案

我编写了一个小程序来尝试解决这个问题,并得到了 135 分的答案。

https://stackoverflow.com/a/37523818/1430420

编辑:这是任何人都可以检查我的数学是否错误的程序

//
//  GameScene.swift
//  gravityTest
//
//  Created by Steve Ives on 30/05/2016.
//  Copyright (c) 2016 Steve Ives. All rights reserved.
//

import SpriteKit

class GameScene: SKScene {

//    var elapsedTime: CFTimeInterval = 0.0
    var timeOfLastUpdate: CFTimeInterval = 0.0
    var updateCount = 0
    let sprite = SKSpriteNode(imageNamed:"Spaceship")

    override func didMove(to view: SKView) {
        /* Setup your scene here */

//        physicsWorld.gravity = CGVectorMake(-9.8, 0)

        let location = CGPoint(x: (scene?.frame.midX)!, y: (scene?.frame.midY)!)

        sprite.xScale = 0.5
        sprite.yScale = 0.5

        sprite.physicsBody = SKPhysicsBody(rectangleOf: sprite.size)
        sprite.physicsBody?.isDynamic = true
        sprite.position = location

        self.addChild(sprite)
    }

    override func update(_ currentTime: CFTimeInterval) {
        /* Called before each frame is rendered */
                updateCount += 1
        if (currentTime - timeOfLastUpdate) < 1 {return}

//        if (timeOfLastUpdate - currentTime > 1.0) {
        print("\(updateCount) - Time : \(currentTime) \(currentTime-timeOfLastUpdate) Location is : \(sprite.position) Velocity is : \(sprite.physicsBody!.velocity)")
//        }

        timeOfLastUpdate = currentTime
    }
}

关于sprite-kit - 速度: Meters per second or pixels per second?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57824964/

相关文章:

ios - 快速暂停无尽的 SKAction

ios - 奇怪的 EXC_BAD_ACCESS SpriteKit removeSubsprite 崩溃

ios - Spritekit 中的新场景没有显示任何内容?

swift - 从另一个不相关的类改变 ViewController 中的 UILabels

ios Swift SpriteKit : how to use a sprite in other functions

swift - 在一个序列中同时运行两个 Action

objective-c - Spawn Sprites 沿 x 轴的随机位置 - (Sprite Kit, IOS)

ios - 音效无法播放(XCode/Swift)

ios - 如何使用 CGPathRef 绘制对象弧线

ios - 如何使用 SpriteKit 绘制实心圆?