0

タイルの衝突を把握しようとしていますが、これを機能させることができません。タイルに衝突しても何も起こりません。

私の衝突クラス

    public Point WorldToMapCell(Point worldPoint)
    {
        return new Point((int)worldPoint.X, (int)worldPoint.Y);
    }

    public MapCell GetCellAtWorldPoint(Point worldPoint)
    {
        Point mapPoint = WorldToMapCell(worldPoint);
        return Rows[mapPoint.Y].Columns[mapPoint.X];
    }

    public MapCell GetCellAtWorldPoint(Vector2 worldPoint)
    {
        return GetCellAtWorldPoint(new Point((int)worldPoint.X, (int)worldPoint.Y));
    }

私の更新方法

        if (myMap.GetCellAtWorldPoint(player.position).Walkable == false)
        {
            player.velocity = Vector2.Zero;
        }
4

1 に答える 1

0

どんなゲームに取り組んでいるのかよくわかりません。

しかし、本当に地図上の位置を確認する必要がありますか? それとも、 collision_2d_perpixel メソッドを使用したソリューションは良くないでしょうか?

衝突 2D メソッドが適切でない場合、衝突クラスについてもっと期待できますか? 参照マップはどこにありますか? 「衝突している」と言わなければならないのはいつですか?

この link dreamincode user problemを見て、これがあなたが探しているものではないか教えていただけますか?

または、 MSDNを参照することもできます

于 2012-12-07T10:15:31.670 に答える