【发布时间】:2017-08-17 15:35:25
【问题描述】:
所以,我想制作一个游戏,玩家可以点击不同的物体并被拉向它们。为了实现这一点,我使用了以下代码:
void FixedUpdate ()
{
if(Input.GetMouseButton(0))
{
// Move the player
Rigidbody2D playerRigBod2D = thePlayer.GetComponent<Rigidbody2D>();
playerRigBod2D.AddForce(transform.position - thePlayer.transform.position);
// Draw a line towards the player
GetComponent<LineRenderer>().SetPosition(1, thePlayer.transform.position);
}
}
这适用于这个预制件的一个对象,但是一旦我添加更多,玩家就会被拉到这些对象之间的点。我不太明白为什么,因为 transform.position 对于每个应用了此脚本的对象都应该是唯一的?
如果你们中的某个人能对此有所了解,我将不胜感激,谢谢:)
【问题讨论】:
-
每个预制件上都有这个脚本吗?
-
Input.GetMouseButton用于检测鼠标单击不是鼠标单击对象。检测对象点击需要光线投射或统一事件系统(推荐)。
标签: c# unity3d unity5 unity3d-2dtools unity3d-5