c# - 如何让一个物体在被玩家击中后移动到某个位置?
问题描述
我正在尝试制作一个迷宫,并且我希望一个不可见的块移动到某个位置并在玩家与它发生碰撞后变为可见,但是即使我认为我的代码中有正确的坐标,对象仍然会移动到( 30,90,8.75),这些不是我输入的正确坐标。请帮忙。我是初学者。非常感谢 :)
MeshRenderer visibility;
void Start()
{
visibility = GetComponent<MeshRenderer>();
visibility.enabled = false;
}
void OnCollisionEnter(Collision other)
{
if (other.gameObject.tag == "Player" && gameObject.tag == "Invisible")
{
movePlayer();
visibility.enabled = true;
}
}
void movePlayer()
{
transform.position = new Vector3(19.5f, 45.478f, 11f);
}
解决方案
由于该对象是另一个 GameObject 的子对象,因此您必须使用localPosition
而不是position
. 请参阅:Transform.localPosition
推荐阅读
- javascript - resize-img module expected `buffer` to be of type `Buffer` but received type `object`. Logging argument returns buffer
- ruby-on-rails - Generic model that has many relationship depending on value of enum
- c - How to properly display names of directories and their subdirectories from a linked list?
- javascript - Why i cant get the object value instead of names: [ [Object], [Object], [Object], [Object] ]?
- python - Difficulties of scraping using requests/pandas/beautiful soup caused by script
- java - Java Hashmap value check
- pyspark - I try different forms to load data (csv file in my computer) in PySpark but the error is the same
- java - Rest Controller returns 404 on base path
- c++ - Cannot find symbol in linked library
- r - 一个向量中的开关数量(按组)