Jump to content
Unity Insider Forum

FillAmount Problem


Ich

Recommended Posts

Ich habe ein Ball der sich um einen größeren Ball mit gameObject.transform.Rotate() rotiert. Ich habe noch Pivot Y auf 5 umgestellt, dass er um den großen Kreis rotiert. Der kleine Ball hinterlässt eine Spur, dazu haben ich ein Kreis Image erstellt und den Image Type zu „Filled“ geändert. Um es aussehen zu lassen als ob der Ball eine Spur hinterlässt haben die dies im Skript geschrieben

img.fillAmount = gameObject.transform.eulerAngles.z / 360;

Das Problem ist wenn er einmal um den großen Ball gegangen ist die Spur wieder weg (fillAmount fängt wieder von 0 an).

Ich möchte aber sowas sagen wie

if(img.fillAmount == 1)
{
                   //
}

 Aber die funktioniert nicht.

Kann mir bitte jemand helfen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Soll die "Spur" denn, wenn sie voll ist, einfach voll bleiben?

Dann ginge sowas wie

//klassen member
bool trailFull = false;
//update
if(trailFull)
{
  img.fillAmount = 1f;
}
else
{
  img.fillAmount = gameObject.transform.eulerAngles.z / 360;
  trailFull = img.fillAmount >= 0.99f; //wenn amount >= 0.99f, dann wechselt trailFull auf true
}

oder

if(img.fillAmount < 0.99f)
{
  img.fillAmount = gameObject.transform.eulerAngles.z / 360;
}
else
{
  img.fillAmount = 1f;
}

Alternativ ginge auch ein Trail Renderer, den Du an die kleine Kugel hängst https://docs.unity3d.com/Manual/class-TrailRenderer.html

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin nicht so vertraut mit diesen "0.99f" :D . Denn je nach FPS oder wie schnell das sich Object bewegt werden die "0.99f" nicht erkannt. Fürs erste lass ich es mal so Danke. Kann man mit dem TrailRenderer überprüfen wenn es einmal drumrum ist, mit dem hier einbeziehen:

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 17 Stunden schrieb Ich:

Ich bin nicht so vertraut mit diesen "0.99f" :D . Denn je nach FPS oder wie schnell das sich Object bewegt werden die "0.99f" nicht erkannt. Fürs erste lass ich es mal so Danke. Kann man mit dem TrailRenderer überprüfen wenn es einmal drumrum ist, mit dem hier einbeziehen:

 

Du kannst statt der 0.99f natürlich auch einfach überprüfen, ob die Z - Rotation >= 360 ist und dann switchen. Das ist etwas sicherer als den Float Wert zu nehmen.

Das mit dem Trail Renderer verstehe ich nicht, der visualisiert ja nur, prüfen kannst Du damit erstmal nichts.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...