【问题标题】:Swift SpriteNode Initial AngleSwift SpriteNode 初始角度
【发布时间】:2016-08-19 21:01:02
【问题描述】:

我正在尝试将我的精灵的初始角度设置为 90 度。我不想调用动作,有没有办法像设置位置一样设置精灵的角度参数?

【问题讨论】:

    标签: swift sprite-kit swift2 skspritenode


    【解决方案1】:

    zRotation

    您可以使用接受辐射的SKNodezRotation 属性

    度数到辐射度

    There's 一个有用的扩展

    extension Int {
        var degreesToRadians: Double { return Double(self) * M_PI / 180 }
        var radiansToDegrees: Double { return Double(self) * 180 / M_PI }
    }
    
    sprite.zRotation = CGFloat(90.degreesToRadians)
    

    来自 Api 文档

    围绕 z 轴的欧拉旋转(以弧度为单位)。

    默认值为 0.0,表示不旋转。正值表示逆时针旋转。当坐标系旋转时,它会影响节点及其后代。旋转会影响节点的框架属性、命中测试、渲染和其他类似特性。


    Yoshi's Island 图片来自 here

    【讨论】:

    • 参数是弧度而不是度数,所以 90 不起作用。相反,我把 M_PI_2
    • 扩展程序不应该返回CGFloat而不是Double吗?
    • 在游戏代码中,对 Int 的扩展应该在哪里?
    猜你喜欢
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 2015-04-05
    • 2016-03-07
    相关资源
    最近更新 更多