Monogame - 在级别之间加载

时间:2016-05-18 00:52:14

标签: c# .net xna monogame

我目前正在使用Monogame构建2D平台游戏,我有一点问题。我设计游戏的方式是我使用array绘制出瓷砖地图,这些地图都有碰撞,如下所示:

protected override void LoadContent()
{
    map.Generate(new int[,] {

    // 0 = no tile drawn
    // 3 = tile is drawn

    {0,0,0,0,0,0,0,0,0,0,},
    {0,0,0,0,0,0,0,0,0,0,},
    {0,0,0,0,0,0,0,0,0,0,},
    {0,0,0,0,0,0,0,0,0,0,},
    {3,3,3,3,3,3,3,3,3,3,},
    {3,3,3,3,3,3,3,3,3,3,},

    }, 57); // size 
}

然而,我试图想出一种允许我加载另一个数组的方法,当玩家到达某一点时,当然会以不同的方式放置切片,例如,在我的问题中使用数组,如果玩家在左侧产生并到达右侧的最后一个图块。

尝试完成此任务的最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

这是Microsoft提供的一个很好的参考。这将允许您检查和分解2D平台的工作版本。

https://msdn.microsoft.com/en-us/library/dd254916%28v=xnagamestudio.31%29.aspx

简而言之,这是我期望实现的,关于2D平台和几个级别(不滚动)。

  1. 定义总屏幕,块大小,在屏幕上绘制的总块数。
  2. 创建一个屏幕块数据数组。
  3. 将游戏画面编号设置为开始画面。
  4. 使用该数字引用屏幕数据块数据并在屏幕上绘制块。
  5. 上述数据可以作为二进制文件生成,并在启动时加载,或者在游戏类中作为一组screne块数据轻松创建。

    我确信我所链接的教程将指导您开发游戏。