【发布时间】:2020-07-12 11:46:28
【问题描述】:
我正在开发一个 2D 游戏,其中包含一个包含 2 个瓷砖地图的网格。可步行瓷砖地图和障碍瓷砖地图。我给了障碍 tilemap tilemapcollider2d。我希望我的玩家有一个运动学刚体,这样物理在与障碍物块碰撞后不会做奇怪的事情。
问题是,只有当障碍物块具有动态刚体时,玩家才会与障碍物块发生碰撞。如何让玩家在具有运动学刚体的同时与障碍物块发生碰撞?
我也尝试在障碍物贴图上添加一个刚体2d,但这没有任何效果。除非它设置为动态,否则所有障碍物块都会开始下落,但在玩家穿过它之前会与玩家发生碰撞。
这是我的播放器移动的代码(body = 播放器的 RigidBody2D):
void Update()
{
// Gives a value between -1 and 1
horizontal = Input.GetAxisRaw("Horizontal"); // -1 is left
vertical = Input.GetAxisRaw("Vertical"); // -1 is down
}
void FixedUpdate()
{
if (horizontal != 0 && vertical != 0) // Check for diagonal movement
{
// limit movement speed diagonally, so you move at 70% speed
horizontal *= moveLimiter;
vertical *= moveLimiter;
}
body.velocity = new Vector2(horizontal * Speed, vertical * Speed);
}
提前致谢!
【问题讨论】:
-
有人吗?还没解决:(
-
仍然有这个问题。如何使运动学刚体与 tilemap 碰撞器发生碰撞?