小编Pot*_*ter的帖子

如何在Swift中对数组进行排序

我想要这个代码的Swift版本:

NSArray *sortedNames = [names sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
Run Code Online (Sandbox Code Playgroud)

swift

43
推荐指数
4
解决办法
4万
查看次数

使用Swift创建SKSpriteNode子类

我正在尝试创建类,它是SKSpriteNode的子类,我想为它添加其他属性和函数.但是在第一步中我遇到了一个错误.这是我的代码:

import SpriteKit

class Ball: SKSpriteNode {
    init() {
        super.init(imageNamed: "ball")
    }
}
Run Code Online (Sandbox Code Playgroud)

这不是编译错误,它是运行时错误.我该如何解决?

subclass ios sprite-kit skspritenode swift

22
推荐指数
1
解决办法
1万
查看次数

屏幕的实际尺寸比我看到的要大

我正在学习Swift和SpriteKit.我在Xcode 6中创建了新的SpriteKit和Swift游戏项目,我编辑了文件GameScene.swift.我没有碰到其他文件.问题是:当球反弹时,它受到顶部和底部的限制但是当它向左或向右侧时它不受限制并且熄灭但似乎左右限制在那里但它们不在屏幕边缘因为球在一段时间后回来了.这是我的GameScene.swift:

import SpriteKit

class GameScene: SKScene {
    override func didMoveToView(view: SKView) {
        self.backgroundColor = SKColor.whiteColor()

        self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
        self.physicsWorld.gravity = CGVectorMake(0, 0)

        let ball = SKSpriteNode(imageNamed: "ball")
        ball.position = CGPointMake(self.size.width/2, self.size.height/2)

        ball.physicsBody = SKPhysicsBody(circleOfRadius: ball.frame.size.width/2)

        self.addChild(ball)

        var myVector = CGVectorMake(20, 20)
        ball.physicsBody.applyImpulse(myVector)
    }

    override func update(currentTime: CFTimeInterval) {
        /* Called before each frame is rendered */
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图找出问题,我发现如果我评论第42行或scene.scaleMode = .AspectFill默认情况下GameViewController.swift边缘工作正确,但似乎屏幕缩放.

我认为我们有一个真正的形状正方形框架,侧面尺寸等于iOS模拟器中纵向iPhone的高度.如何更改框架大小以将屏幕边缘设置为我的框架边缘?

ios sprite-kit swift xcode6

6
推荐指数
2
解决办法
2870
查看次数

标签 统计

swift ×3

ios ×2

sprite-kit ×2

skspritenode ×1

subclass ×1

xcode6 ×1