2016-12-02 4 views
0

私のブレークアウトゲームに問題がありました。私は単一のレベルを設計し、ブロックの基本セットを作成しました。しかし、私はどのようにブロックの新しいパターンを設定するか分かりません。ここでXNAブレイクアウトゲーム新レベル(カントの新しいデザインのブリック)

はloadcontent内のコードのセクションです:

background = new Background(Content.Load<Texture2D>("prisonCell")); 
      paddle = new Paddle(Content.Load<Texture2D>("bat"), screenBounds); 
      ball = new Ball(Content.Load<Texture2D>("baseball"), screenBounds); 
      brickTexture = Content.Load<Texture2D>("brick"); 
      menuScreen = Content.Load<Texture2D>("menuScreen"); 
      gameOverScreen = Content.Load<Texture2D>("gameOver"); 
      gill14 = Content.Load<SpriteFont>("Gill14"); 

      BuildWall(); 

      startGame(); 
     } 

     public void BuildWall() 
     { 
      bricks = new Brick[brickRows * brickColumns]; 
      Color brickColour = Color.White; 

      int brickCount = 0; 

      int paddingTopViewport = brickTexture.Height/* * 3*/; 


      for (int row = 0; row < brickRows; row++) 
      { 
       switch (row) 
       { 
        case 0: 
         brickColour = Color.Red; 
         brickValue = 5; 
         break; 
        case 1: 
         brickColour = Color.Orange; 
         brickValue = 4; 
         break; 
        case 2: 
         brickColour = Color.Gold; 
         brickValue = 3; 
         break; 
        case 3: 
         brickColour = Color.Yellow; 
         brickValue = 2; 
         break; 
        case 4: 
         brickColour = Color.Green; 
         brickValue = 1; 
         break; 
        case 5: 
         brickColour = Color.Blue; 
         brickValue = 1; 
         break; 

       } 


       brickValue = 1; 

       for (int column = 0; column < brickColumns; column++) 
       { 
        bricks[brickCount] = new Brick(brickTexture, 
        new Rectangle(column * brickTexture.Width, 
        paddingTopViewport + row * brickTexture.Height, 
        brickTexture.Width, brickTexture.Height), 
        brickColour, brickValue); 

        brickCount++; 
       } 
      } 
     } 



     private void startGame() 
     { 
      paddle.SetStartPaddlePosition(); 

      ball.SetStartBallPosition(paddle.Bounds); 
      foreach (Brick brick in bricks) 
       brick.IsActive = true; 
     } 

答えて

0

あなたは簡単にレベルを設計したい場合は、列の正しい数を持つテキストファイルにレイアウトを定義します。固定スペースフォントを使用し、サポートしたい色/テクスチャごとに異なる文字を使用します。

次に、テキストファイルを読み込んで壁を構築できます。これは、異なる壁のデザインをコーディングしようとするよりもずっと簡単に調整できます。

関連する問題