如何让 sprite 在 unity2d 中直接掉落(而不是从它的列中移动)?
how to make sprite fall straight down in unity2d (and not move from its column)?
如何让 sprite 垂直下落,并通过拖动或物理抵抗任何侧向运动?
我的代码在运行时实例化了一个带有附加脚本的预制件。
一段时间后脚本运行以下函数:
void addSliderJoint() {
myVerticalSlider = gameObject.AddComponent<SliderJoint2D> () as SliderJoint2D;
myVerticalSlider.angle = 90;
}
运行此函数后,我希望精灵只能垂直移动,但它们似乎很乐意不受限制地移动。我可以在运行时 "see" 检查器中的 SliderJoint2D,如果我在 GUI 中更改它的设置,精灵会突然响应它。
获取示例存储库
我刚刚将其添加到您的 OnMouseDrag() 方法中
// Set the Position
Vector2 newPos = new Vector2(startPos.x, startPos.y + dir.y);
transform.position = newPos;
作为一个建议,如果你想让一个对象只根据一个轴移动,你可以添加一个 Rigidbody(不是 Rigidbody2D),并在对象以冻结除要在其上平移的轴之外的位置。
如何让 sprite 垂直下落,并通过拖动或物理抵抗任何侧向运动?
我的代码在运行时实例化了一个带有附加脚本的预制件。
一段时间后脚本运行以下函数:
void addSliderJoint() {
myVerticalSlider = gameObject.AddComponent<SliderJoint2D> () as SliderJoint2D;
myVerticalSlider.angle = 90;
}
运行此函数后,我希望精灵只能垂直移动,但它们似乎很乐意不受限制地移动。我可以在运行时 "see" 检查器中的 SliderJoint2D,如果我在 GUI 中更改它的设置,精灵会突然响应它。
获取示例存储库我刚刚将其添加到您的 OnMouseDrag() 方法中
// Set the Position
Vector2 newPos = new Vector2(startPos.x, startPos.y + dir.y);
transform.position = newPos;
作为一个建议,如果你想让一个对象只根据一个轴移动,你可以添加一个 Rigidbody(不是 Rigidbody2D),并在对象以冻结除要在其上平移的轴之外的位置。