如何在不同的类中创建和定义SKSpriteNode并访问它? Xcode 6 :)

时间:2015-02-25 00:44:14

标签: ios objective-c iphone xcode sprite-kit

我想知道如何在类中创建SKSpriteNode并使用它并将其添加到另一个类中。我尝试使用@property,但我可能错了。有人可以帮忙吗? :0

谢谢!

编辑:

我刚刚创建了这样一个属性:

  

@property (nonatomic, strong) SKSpriteNode *testNode;

并且在另一个GameScene类中,我使用属性导入了类,并尝试键入testNode以尝试更改它的属性,但没有弹出任何内容。我甚至试过了testClass.testNode'或者' self.testNode'。

testClass.h ---

@interface testClass : SKScene

@property (nonatomic, strong) SKSpriteNode *testNode;

@end

GameScene.m ---

  

- (void)didMoveToView:(SKView )view {       / 在这里设置您的场景* /

testNode = [SKSpriteNode spriteNodeWithImageNamed:@"Character"];
     

}

GameScene.h ---

#import <SpriteKit/SpriteKit.h>
#import "testClass.h"

@interface GameScene : SKScene{



}

2 个答案:

答案 0 :(得分:0)

您可以创建一个继承自SKSpriteNode的新类,并在场景中实例化它:

import SpriteKit

class MyNode: SKSpriteNode {
    override init() {

    }
}

后来:

let myNode = MyNode()

这是关于继承的Swift指南: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Inheritance.html#//apple_ref/doc/uid/TP40014097-CH17-ID193

答案 1 :(得分:0)

在GameScene中,首先初始化另一个类:

testClass * testClassInstance = [[testClass alloc] initWithSize:self.size]];

然后,获取财产:

testClassInstance.testNode