制作小型迷你游戏 C# 和自定义框架

Making small minigame C# and custom framework

大家好来自 Whosebug!,

我正在制作一个带有自定义框架的小型迷你游戏,该框架可与 C# 一起使用,并且它以某种方式基于 XNA(如果您可以帮助我,请以 xna 方式编写)。

基本上我有几个圆圈,比方说 6,我需要 "mark" 第一个,然后在单击透明圆圈后我需要创建另一个圆圈,但是单击最后一个标记为它会返回并删除一个(图片更容易理解)。

我会上传一张小图来说明(很难解释,我不是母语为英语的人)。

我相信我必须使用一个数组并根据顺序标记它,但我还是有点迷路:(

对不起,如果问题太多了,我已经试了一整天了! ps: 是单行! 图片: http://imgur.com/B2zdf5q

更新:这就是我目前所知道的。现在它正在工作!

 private void CircleController()
{
    Debug.Log("Marked circles:" + markedCircles);
    Debug.Log("Sum Circles: " + sumCircle);

    List<CGameObject> mArray = CCircleManager.inst().getGameObjectList();

    for (int i = 0; i < mArray.Count; i++)
    {
        CCircle aCircle = mArray[i] as CCircle;

        if (aCircle.getOrder() < sumCircle)
        {
            aCircle.setMarked(true);

        }
        else
        {
            aCircle.setMarked(false);

        }


    }


    for (int i = 0; i < mArray.Count; i++)
    {

        CCircle aCircle = mArray[i] as CCircle;
        CCircle initCircle = mArray[0] as CCircle;

        if (aCircle.getOrder() == sumCircle)
        {
            aCircle.setPostSelected(true);
        }

        if (aCircle.getOrder() != sumCircle)
        {
            aCircle.setPostSelected(false);
        }
        if (aCircle.collides(mPointer) && CMouse.firstPress() && !aCircle.isMarked())
        {
            markedCircles++;
            sumCircle++;

        }
        if (aCircle.collides(mPointer) && CMouse.firstPress() && aCircle.isMarked())
        {
            markedCircles--;
            sumCircle--;

        }

    }
}

可能只需要一个整数 circlesMarked 来存储视野中的圆圈数。如果 circlesMarked == 0 然后显示你的第一行(在链接的图像中),如果 circlesMarked == 1 然后显示一个标记的圆圈,右边有一个透明圆圈,依此类推。这可以通过 for 循环来完成。

存储最后一个(最右边)标记的圆圈(如果适用)的位置和透明圆圈的位置,以便您知道在何处处理点击。然后,根据他们点击的位置,从 circlesMarked 中添加或减去 1。 XNA 的 Render 方法应该相应地更新视图,并且您有一个包含当前标记的圆圈数的变量。