标签: sprite-kit

类不实现其超类的必需成员

所以我今天更新到Xcode 6 beta 5,并注意到我几乎所有Apple类的子类都收到了错误.

错误说明:

类'x'不实现其超类的必需成员

这是我选择的一个例子,因为这个类目前非常轻量级,因此很容易发布.

class InfoBar: SKSpriteNode  { //Error message here

    let team: Team
    let healthBar: SKSpriteNode

    init(team: Team, size: CGSize) {
        self.team = team
        if self.team == Team.TeamGood {
            healthBar = SKSpriteNode(color: UIColor.greenColor(), size:size)
        }
        else {
            healthBar = SKSpriteNode(color: UIColor.redColor(), size:size)
        }
        super.init(texture:nil, color: UIColor.darkGrayColor(), size: size)

        self.addChild(healthBar)

    }

}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,为什么我收到此错误,我该如何解决?我没有实施什么?我正在打电话给指定的初始化程序.

ios sprite-kit swift

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

在SKScene中设置按钮

我发现它UIButtons不能很好地工作SKScene,所以我试图子类化SKNode来制作一个按钮SpriteKit.

我希望它工作的方式是,如果我初始化一个按钮SKScene并启用触摸事件,那么按钮将在我SKScene按下时调用我的方法.

我很感激任何能让我找到解决这个问题的建议.谢谢.

objective-c uibutton ios sprite-kit

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

Swift - 必须调用超类SKSpriteNode错误的指定初始值设定项

此代码适用于第一个XCode 6 Beta,但在最新的Beta版本中,它无法正常运行并出现此类错误Must call a designated initializer of the superclass SKSpriteNode:

import SpriteKit

class Creature: SKSpriteNode {
  var isAlive:Bool = false {
    didSet {
        self.hidden = !isAlive
    }
  }
  var livingNeighbours:Int = 0

  init() {
    // throws: must call a designated initializer of the superclass SKSpriteNode
    super.init(imageNamed:"bubble") 
    self.hidden = true
  }

  init(texture: SKTexture!) {
    // throws: must call a designated initializer of the superclass SKSpriteNode
    super.init(texture: texture)
  }

  init(texture: SKTexture!, color: UIColor!, size: CGSize) {
    super.init(texture: texture, color: …
Run Code Online (Sandbox Code Playgroud)

designated-initializer ios sprite-kit skspritenode swift

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

Xcode 6 - 用于通用图像支持的xcassets

目前正在开发一个通用的SpriteKit项目.我将支持以下设备:

iPhone 4/s,iPhone 5/c/s,iPhone 6,iPhone 6+

iPad非ret,iPad视网膜

在此输入图像描述

我对iPhone部分感到困惑.对于iPhone的4种不同屏幕分辨率,我的背景精灵已经有4个版本.但是哪个呢?

我知道3x用于6+,我认为5/c/s用于Retina 4 2x,但我不知道iPhone4/s在哪里,6用.谁知道?

旁注,当我在我的xcassets文件中创建一个Launch Image时,我会看到这些选项,它基本上包含了我支持的所有设备.只是想知道为什么在创建图像集时也不是这样在此输入图像描述

另外,你们如何为通用应用程序创建图像/精灵?现在新的iPhone 6和6 plus已经出来了,我还有2个支持的分辨率,这对我来说仍然很困惑,因为我还是初学者.

xcode ios sprite-kit xcasset xcode6

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

在SpriteKit中处理不同的iOS设备分辨率

我正在使用Xcode 6,iOS 8 beta 5中的SpriteKit.所有内容都在iPhone 4S模拟器上完成并完美运行,但是当切换到5S时,屏幕底部的元素被切断.

根据我的理解,iPhone屏幕的左下角应该是CGPoint(0,0),但是在通过将坐标打印到控制台来检查位置后,我可以点击左边角落的最低点(5, 44).在我的场景设置中有什么问题导致了这个吗?

没有对GameViewController文件进行任何更改,甚至在我剥离GameScene文件后问题仍然存在.

任何人都可以至少指出我正确的方向吗?

ios sprite-kit xcode6

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

如何在swift中每秒执行一次函数?

我想在我正在制作的游戏中添加一个得分到我的场景顶部.分数将根据您的持续时间而定,并且每秒都会增加.我在这里先向您的帮助表示感谢!

import SpriteKit

class easyScene: SKScene {
let scrollBarEasyBottom = SKSpriteNode(imageNamed: "scrollBarEasyBottom")
let scrollBarEasyTop = SKSpriteNode(imageNamed: "scrollBarEasyTop")
let ball = SKSpriteNode(imageNamed: "ball")
var origSBEBpositionX = CGFloat(0)
var origSBETpositionX = CGFloat(0)
var maxSBEBX = CGFloat(0)
var SBEBSpeed = 5
var maxSBETX = CGFloat(0)
var SBETSpeed = 5
var score = 0
var timer: NSTimer?

var scoreText = SKLabelNode(fontNamed: "Kailasa")

 override func didMoveToView(view: SKView) {
    println("Easy Scene is the location")
    self.backgroundColor = UIColor.blackColor()
    self.scrollBarEasyBottom.position = CGPoint(x:0, y:270)
    self.addChild(self.scrollBarEasyBottom)
    self.scrollBarEasyBottom.yScale = 0.2
    self.origSBEBpositionX …
Run Code Online (Sandbox Code Playgroud)

ios sprite-kit swift

50
推荐指数
5
解决办法
6万
查看次数

在Sprite Kit中执行碰撞的物理计算

我正在尝试使用Sprite Kit设置一些弹性碰撞.正如我在Sprite Kit Physics Collision Issue中提到的那样,多个物体彼此靠近的情况存在问题

我对碰撞情况的时机感到困惑.

我试着设置dynamicNO-didBeginContact:委托方法,计算最终速度,然后在-didEndContact:设定的dynamicYES,然后正确设置速度.

我希望它在碰撞之外是动态的原因是因为我想要摩擦/重力等.订单/逻辑有什么问题?我看了一下-didSimulatePhysics方法,但它似乎不是要走的路.

collision-detection ios sprite-kit skphysicsbody

46
推荐指数
2
解决办法
1481
查看次数

如何检测是否触摸了SKSpriteNode

我试图检测我的精灵节点是否被触摸,我不知道从哪里开始.

let Pineapple = SKSpriteNode(imageNamed: "Pineappleimg")
Pineapple.userInteractionEnabled = true
Pineapple.position = CGPoint(x: CGRectGetMidX(self.frame) - 200, y: CGRectGetMidY(self.frame));
self.addChild(Pineapple)
Run Code Online (Sandbox Code Playgroud)

touch touchesbegan sprite-kit skspritenode swift

42
推荐指数
7
解决办法
3万
查看次数

如何创建圆形物体进入和分离厚物质的效果

基于下面的图像(我使用不同颜色的圆和平面,所以他们可以看到,但最终颜色将是相同的),使用Swift和Spritekit,我试图创建一个圆形对象进入的效果厚物质(不一定是粘性的)并与厚物质分离.基本上,当圆形物体分离时,它会在形成圆形时从平坦表面拉开.我想使用图像动画帧,但由于对象是具有物理主体的SKSpriteNodes,因此这将使得对象与动画的碰撞非常困难.另一种方法是使用CAAnimation,但我不知道如何将这与SKSpriteNodes与物理实体结合起来.如何使用上述任何方法或不同方法创建此分离效果?

在此输入图像描述

UPDATE

下图显示了当圆形物体进入厚物质直至其浸没时,厚物质表面的变化.

在此输入图像描述

cadisplaylink sprite-kit swift

41
推荐指数
1
解决办法
1098
查看次数

如何在Sprite-kit中画一条线

如何在Sprite-kit中划一条线?例如,如果我想在cocos2d中绘制一条线,我可以轻松使用 ccDrawLine();

sprite-kit中有相同的东西吗?

ios ios7 sprite-kit skshapenode

37
推荐指数
7
解决办法
3万
查看次数