使用C#在Unity中创建2D游戏板/网格

时间:2016-03-22 21:16:42

标签: c# grid

我是Unity和编程的新手,我正试图通过在游戏板上移动汽车来制作这款游戏​​。我的想法是创建一个数组,并以某种方式存储有关此数组中每个元素或tile的信息。我希望这些瓷砖能够在以后引用,例如检测特定瓷砖上是否有车GO,等等。不幸的是,我正在努力将信息保存到瓷砖上,以便我以后可以参考,我的意思是后来当我创建一个方法应该能够检测该图块是否被占用。 感谢您提前提出所有建议!

1 个答案:

答案 0 :(得分:0)

下面的代码为面板控件添加了按钮。您可以将该按钮替换为要在游戏中使用的图像。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        const int ROWS = 10;
        const int COLS = 15;
        const int WIDTH = 20;
        const int HEIGHT = 20;
        const int SPACE = 10;
        List<List<MyButton>> buttons = new List<List<MyButton>>();
        public Form1()
        {
            InitializeComponent();

            for (int row = 0; row < ROWS; row++)
            {
                List<MyButton> newRow = new List<MyButton>();
                buttons.Add(newRow);

                for (int col = 0; col < COLS; col++)
                {
                    MyButton newButton = new MyButton();
                    newRow.Add(newButton);

                    newButton.Width = WIDTH;
                    newButton.Height = HEIGHT;
                    newButton.Left = col * (WIDTH + SPACE);
                    newButton.Top = row * (HEIGHT + SPACE);

                    newButton.row = row;
                    newButton.col = col;

                    panel1.Controls.Add(newButton);
                }
            }


        }
    }
    public class MyButton : Button
    {
        public int row { get; set; }
        public int col { get; set; }
    }
}