我正在制作一个sprite kit游戏,我是iOS开发的初学者。在我的游戏中,我使用1 SKScene
作为1级。每个级别的难度都会从之前的级别提高。通过制作多个SKScenes
,我注意到我必须一次又一次地重复使用先前级别的代码并进行微小更改以提高难度。难道没有更好的方法来做到这一点,而不是创建多个场景并一次又一次地复制相同的代码?有没有办法重用重复的代码?如果我想创建许多级别,这将变得很麻烦,并且似乎反映了糟糕的设计。
答案 0 :(得分:3)
因此面向对象编程理论出现了,在你的例子中是特殊的继承。 当我们不得不一遍又一遍地重用代码时,专门使用OOP, 我们只是继承该类,然后我们可以在该子类中调用它的方法,甚至可以根据我们自己的意愿覆盖或重载方法。
请查看有关如何进行继承的文档。 在目标c中你可以通过
继承一个类 @interface
yourclassName : superclassName
语法
答案 1 :(得分:3)
如何将SKScene子类化为一个级别。然后你可以初始化SKScene。
class.h
@interface
myLevel :SKScene
-initWithYourDifferentLevelProperties:(NSInteger *)levelNumber;
class.m
@implementation
-initWithYourDifferentLevelProperties: (NSInteger *)levelNumber {
numberOfMonsters = levelNumber
}
希望这有帮助。