我正在试图弄清楚瓷砖碰撞,我无法让它发挥作用。当我与瓷砖碰撞时,没有任何反应。
我的碰撞课
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;
}
答案 0 :(得分:0)
我真的不知道你在做什么样的游戏。
但你真的需要检查地图上的位置吗?或者使用collision_2d_perpixel method的解决方案会不会更好?
如果碰撞2D方法不是好方法,你可以更加清楚你的碰撞类吗? 你的参考地图在哪里?你什么时候说“我在碰撞?”
您可以查看此链接dreamincode user problem并告诉我们这不是您要找的内容吗?
或者您甚至可以查看MSDN