Hiho liebe Mitmenschens,
also worum geht es: Ich übe ja mit Hilfe eines Buches ''Spiele entwickeln mit Unreal Engine 4 von Jonas Richartz'', ich bin dort nun an einer stelle angekommen wo man zu Übungszwecken eine Array basierende Blueprint erstellt, das eine Auflistung auf dem Viewport ausgibt wenn man ein Probespiel anfängt.
Nun sind da einige Funktionen und Nodes drinnen die ich so nicht ganz verstehe bzw will ich ihre Funktion im zusammenspiel mit den anderen Nodes und Funktionen verstehen. Ich habe deswegen extra ein Screenshot des Blueprints angefertigt um nach und nach zu fragen was was zu bedeuten hat, welche Aufgabe welche Funktion oder Node erfüllt und warum dies so gemacht werden muss.
Highscore (Array):
0 = 123
1 = 52
2 = 6
3 = 97
4 = 532
Nun denn fange ich mal an.
1. Und zwar das zusammenspiel davon würde ich gerne verstehen. Ich weis das das Array von dem ''ForLoop'' am ende ausgewertet wird, aber wozu genau brauche ich die ''Length'' bzw warum muss ich das ganze ''Minus 1'' nehmen.
Im Buch wird das so erklärt, ich Zitiere:
''Sie beginnt mit einem Event BeginPlay, an das sich eine ForEach-Node anschließt: angefangen bei Element 0 bis hin zur Länge des Arrays minus eins. Würden wir nur die reine Länge des Arrays benutzten, würde ForEacheinmal, zu viel ausgeführt werden. Sind wie hier fünf Elemente im Array, wäre die Länge dementsprechend 5. Da das Array aber bei 0 anfängt würde das ForEach 6-mal ausgeführt werden, wenn ich nicht minus eins rechnen würde.''
Müsste ich da nun immer egal wie viele Elemente ich in einem Array habe es ''Minus 1'' nehmen weil ja in jedem auch eine 0 Ziffer steckt, oder liegt es hier bei diesem bsp daran das auf der 0 Position wir einen Wert ausgelegt haben, sprich: hätten wir statt von 0 mit 1 bei den einzelnen Werten angefangen hätte man das ''Minus 1'' nicht gebrauchen müssen?
2. Die zweite fragen ist relativ Simple, ich würde gerne denn unterschied zwischen diesen beiden wissen. Was bewerkstelligen sie?
3. So hier versuche ich bisschen zu verstehen wie es abläuft, also die logischen Vorgänge dahinter. Also:
Ich weis das ich mit ''Highscore'' Array mit ''Max of Int Array'' verbinde, um den höchsten Wert aus der Array zu ziehen, und diesen dann mit ''Add'' verbinden damit es als Richtwert in ''Sorted'' deklariert wird.
(kleine neben Frage: ''Max of Int Array'' sucht nur nach dem größten Wert oder Stuft er denn Wert vom Größten aus angefangen an ab?)
Den Punkt denn ich so am wenigsten verstehe ist der bei ''Set Array Elem'' was genau bewirkt es, wofür ist es da? Ich habe da nur irgendwie was raus lesen können das es nachdem ''Max of Int Array'' seine Werte übermittelt hat, das es durch das -1 setzen bei ''Set Array Elem'' das erneute aufrufen von ''Max of Int Array'' unterbindet. Ich würde mir gerne sicher sein was genau die Funktion bei die dieser Node ist damit ich sie auch je nach Blueprint auch richtig einsetzen kann.
So das wären soweit meine fragen. Ich hoffe ich habe mich verständlich ausgedrückt. Ich will an dieser stelle noch einmal betonen das ich keinerlei Programmier Kenntnisse habe und daher wohl auch so bestimmte Logiken die in diversen Programmiersprache doch gang und gebe sind wohl auch nicht kenne. Ich versuche einfach nur alle Bruchstücke in ihrer Funktionalität zu erfassen das ich sie auch anderweitig einsetzen kann. ^ ^
Ich bedanke mich hier auch schon mal im voraus für jede Hilfe die ihr mir bieten könnt und seit nachsichtig sollte ich etwas nicht auf anhieb verstehen. ^ ^