如何在Swift中设置速度

下面是 Swift中Sprite Kit中的Enemy节点.我已经为节点设置了速度,但是当它产生时没有移动. Xcode没有给我任何错误,有什么我在这里做错了吗?

class Enemy: SKSpriteNode {

    init(imageNamed: String) {

        let imageTexture = SKTexture(imageNamed: imageNamed)
        super.init(texture: imageTexture,color: nil,size: imageTexture.size())

        self.name = "Enemy"

        self.physicsBody = SKPhysicsBody(rectangleOfSize: imageTexture.size())
        self.physicsBody?.dynamic = false
        self.physicsBody?.velocity = CGVectorMake(10.0,10.0)

    }
}

解决方法

来自Apple的 SpriteKit documentation

A Boolean value that indicates whether the physics body is moved by the physics simulation.

Declaration

Swift

var dynamic: Bool

Objective-C

@property(nonatomic,getter=isDynamic) BOOL dynamic

Discussion

If the value is NO,the physics body ignores all forces and impulses applied to it. This property is ignored on edge-based bodies; they are automatically static.

正如0x141E所说,你必须使你的SKPhysicsBody动态,否则它不会移动.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...