thisチュートリアルに従ってspritekitを取得しましたが、それぞれの有効なタイルの背後に灰色のスプライトを描くはずの 'tilelayer'に問題がありました。私は、実際には正しい習慣であるため、initWithSize()の代わりにdidMoveToView()を使用しましたが、タイルレイヤーは表示されませんでした(背景とcookielayerが表示されます)。代わりにinitWithSize()に次のコードを移動し(代わりにviewcontrollerを適切に呼び出すように変更した)、tilelayerが表示されました。チュートリアルの後にレイヤーがありません
-(void)didMoveToView:(SKView *)view {
self.swipeFromColumn = self.swipeFromRow = NSNotFound;
self.anchorPoint = CGPointMake(0.5, 0.5);
SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"Background"];
[self addChild:background];
//gamelayer
self.gameLayer = [SKNode node];
[self addChild:self.gameLayer];
CGPoint layerPosition = CGPointMake(-TileWidth*NumColumns/2, -TileHeight*NumRows/2);
self.tilesLayer = [SKNode node];
self.tilesLayer.position = layerPosition;
//add tiles layer
[self.gameLayer addChild:self.tilesLayer];
self.cookiesLayer = [SKNode node];
self.cookiesLayer.position = layerPosition;
//add cookies layers
[self.gameLayer addChild:self.cookiesLayer];
self.swipeFromColumn = self.swipeFromRow = NSNotFound;
self.selectionSprite = [SKSpriteNode node];
[self preloadResources];
}
ああ、あなたはそれを持っています。 if文はまだtrueですが、self.tilesLayerはnullなので、何も起こらないことを意味します。長い説明をありがとう。もっと最近のチュートリアルの提案があれば、ぜひ聞いてみたいですね! – Cesar
@Cesarここでいくつかの素晴らしいことを見つけることができます(AppleのDemoBotsゲーム):https://developer.apple.com/library/ios/samplecode/DemoBots/Introduction/Intro.html – Whirlwind