Jump to content
Unity Insider Forum

Float Multiplizieren klappt komischer Weise nicht?


MustafGames

Recommended Posts

Grüße,

mal eine kleine Frage, wenn ich beides hier nutze kommen unterschiedliche Werte raus, aber warum?

public float resistance = 0.2f;


public void Damage (float damage) {
	Debug.Log(damage * structure.resistance);
	Debug.Log(10 * 0.2f);
}

Damit wird die Damage Methode aktiviert:

float value1 = 10;

transform.SendMessage("Damage", value1);

Bei ersteren kommt 0 heraus und beim zweiten Debug 2.

Der zweite Debug stimmt, der erste nicht, warum?

Wenn ich beide Variablen mit (float) caste, geht es trotzdem nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Helishcoffe:

Hast du resistance im Inspector anders gesetzt als auf 0,2? weil dann ist es egal was du bei resistance im Code zuweist beim deklarieren. Es wird immer der Wert genommen, der im Inspector zugewiesen wurde. Wenn du resistance nachträglich im Code änderst, bleibt trotzdem der alte Wert. 

Danke ja das hatte ich übersehen, benutze ja ScriptableObjects um die Basiswerte zu bekommen und da war dieser Wert noch 0, hatte mich schon gewundert warum das nicht geht :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...