我正在开发一个小应用程序,在其中将tilemap(JSTilemap)加载到Sprite Kit中。
除了瓷砖 map 看起来正常且人像精细外,所有其他功能都可以正常工作,但是当我翻转到风景时,它似乎爆炸了。我没有添加任何代码,而只是导入了JSTilemap标头和此代码initwithsize。
self.map = [JSTileMap mapNamed:@"tilemap.tmx"];
[self addChild:self.map];
我还下载了一个带有磁贴图的简单项目,旋转时尺寸保持不变,只有当我尝试模仿代码时,旋转磁贴时,我的磁贴图仍会爆炸。
有什么设置可以限制我所缺少的吗?
最佳答案
您应该使用-(id)initWithSize:(CGSize)size
而不是-(void)didMoveToView:(SKView *)view
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
JSTileMap* tiledMap = [JSTileMap mapNamed:@"level1.tmx"];
if (tiledMap)
[self addChild:tiledMap];
self.userInteractionEnabled = YES;
}
return self;
}
同样在GameViewController中(如果您使用的是默认模板类),则应使用
sceneWithSize
更改场景初始化 /*
// Create and configure the scene.
GameScene *scene = [GameScene unarchiveFromFile:@"GameScene"];
scene.scaleMode = SKSceneScaleModeAspectFill;
*/
// Create and configure the scene.
SKScene * scene = [GameScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;