私はからのコードをコピー:https://forum.unity3d.com/threads/clean-est-way-to-find-nearest-object-of-many-c.44315/Unity C# - このコードを修正するにはどうすればよいですか?
しかし、このコードを:
Transform GetClosestCube (Transform[] cubes);
void GetClosestCube()
{
{
Transform bestTarget = null;
float closestDistanceSqr = Mathf.Infinity;
Vector3 currentPosition = transform.position;
foreach(Transform potentialTarget in cubes)
{
Vector3 directionToTarget = potentialTarget.position - currentPosition;
float dSqrToTarget = directionToTarget.sqrMagnitude;
if(dSqrToTarget < closestDistanceSqr)
{
closestDistanceSqr = dSqrToTarget;
bestTarget = potentialTarget;
}
}
return bestTarget;
}
}
それはエラーを与える:
Assets/Player.cs(29,12): error CS0501: `Player.GetClosestCube(Transform[])' must have a body because it is not marked abstract, extern, or partial
そして、私はそれがスレッドにあった正確にどのようにコードを使用する場合:
void GetClosestCube()
{
{
Transform GetClosestCube (Transform[] cubes)
{
Transform bestTarget = null;
float closestDistanceSqr = Mathf.Infinity;
Vector3 currentPosition = transform.position;
foreach(Transform potentialTarget in cubes)
{
Vector3 directionToTarget = potentialTarget.position - currentPosition;
float dSqrToTarget = directionToTarget.sqrMagnitude;
if(dSqrToTarget < closestDistanceSqr)
{
closestDistanceSqr = dSqrToTarget;
bestTarget = potentialTarget;
}
}
return bestTarget;
}
}
}
Error: Assets/Player.cs(34,28): error CS1525: Unexpected symbol
(', expecting
,',;', or
='
なぜdownvotes?私は何か間違っているのですか? – Jip1912
コードをコピーする前に、C#の初心者の本を読んでおく必要があると思います。コードは有効ではありません。C#、 'Transform GetClosestCube(Transform [] cubes)'メソッドを宣言しようとしました。それは不可能です(ここでは意味をなさない)。 –
@ Jip1912:リンクのコードは、質問に貼り付けられたコード とは異なります。 – apocalypse