SKScene是SKNode的一个子类,我们可以用一定的大小初始化它。但SKNode本身缺乏这种能力,其大小是包含孩子的最小矩形。有时候,无论内容有多小,我都需要我的SKNode伸展到窗口。因此,我希望能够通过添加设置其大小的功能来自定义SKNode类。你有什么想法?如何继承SKNode以初始化预定大小
6
A
回答
11
奇怪的是,似乎没有办法将其内置到sprite套件中。你也可以通过添加透明SKSpriteNode到您的节点来解决:
- (id)initWithSize:(CGSize)size{
self = [super init];
if (self) {
SKSpriteNode *node = [SKSpriteNode spriteNodeWithColor:[UIColor colorWithWhite:1.0 alpha:0.0] size:size];
[self addChild:node];
node.zPosition = -1;
node.name = @"transparent";
node.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
}
return self;
}
现在,你可以把它初始化到你想要的大小,你只需要确保更改透明节点的大小,如果你想改变节点大小。
+0
我认为“节点”没有自己的框架是很有意义的,这里提出的想法是解决这个问题的最好方法。恕我直言,当然 – Mazyod
相关问题
- 1. 初始化继承
- 2. 继承 - 初始化问题
- 3. Python类继承初始化
- 4. 继承和初始化
- 5. Java继承vs初始化
- 6. C#继承类初始化
- 7. NSOpenPanel继承和“指定初始化”
- 8. 初始化大小
- 9. 如何初始化这个从UIButton继承的自定义类?
- 10. 是否可以将UITableView继承到SKNode?
- 11. 使用继承初始化新类
- 12. 从泛型类继承初始化器
- 13. 继承,然后覆盖父初始化
- 14. 的Object.create继承和初始化代码
- 15. 初始化一个继承的类
- 16. 添加到继承的初始化?
- 17. 类变量初始化在Python3继承
- 18. C++:继承域的初始化
- 19. 初始化继承的静态属性
- 20. 初始化继承类中的字段
- 21. 了解Python的继承和初始化
- 22. 初始化NSManagedObject子类时的继承
- 23. java继承的静态初始化
- 24. C++虚拟继承初始化顺序
- 25. 继承向量和初始化
- 26. C++初始化常量和继承
- 27. 如何从原始表定义继承参数大小?
- 28. 使用多个SKSpriteNodes初始化SKNode
- 29. 初始化STL`map`大小
- 30. 继承的Razor视图 - 如何运行初始化方法?
一个SKNode没有大小,我相信它的frame.size将始终是0,0。如果你想扩展一个节点的内容,你必须为每个孩子单独做。 – LearnCocos2D
你有什么想法如何做到这一点在SKScene类?正如你所知道的那样,它是SKNode的一个子集,所以显然有更多的fetures,以及设置大小的能力被添加到它。 –