Swift SpriteNode 初始角度

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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 的扩展应该在哪里?

以上是关于Swift SpriteNode 初始角度的主要内容,如果未能解决你的问题,请参考以下文章

如何在swift中找到最近的spritenode到场景的底部

Swift结构体(Struct)

如何通过触摸旋转 SpriteNode?

有没有办法覆盖角度核心库中的角度组件初始化步骤来为每个组件的初始化执行一些代码

Swift SpriteKit 基本接触/碰撞

Swift: let 未初始化,但 var 已初始化。为啥? [复制]