Algorithms: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Unity) |
Keine Bearbeitungszusammenfassung |
||
| Zeile 3: | Zeile 3: | ||
== Generell == | == Generell == | ||
=== Finde die Stelle mit der höchsten Zahl in einem Array von Zahlen === | |||
int höchsteZahl = -1000000; | int höchsteZahl = -1000000; | ||
| Zeile 19: | Zeile 19: | ||
== Arduino == | == Arduino == | ||
=== Führe eine Funktion einmalig aus, wenn ein Button gedrückt ist, und einmalig etwas anderes, wenn er losgelassen wird === | |||
int buttonDown =0; | int buttonDown =0; | ||
| Zeile 43: | Zeile 43: | ||
} | } | ||
=== Mache etwas alle x-Durchläufe === | |||
int loopCounter=0; | int loopCounter=0; | ||
| Zeile 61: | Zeile 61: | ||
== Unity == | == Unity == | ||
=== Führe eine Funktion einmalig aus, wenn ein bestimmter Zustand erreicht ist === | |||
public bool bZustand=false; | public bool bZustand=false; | ||
| Zeile 78: | Zeile 78: | ||
} | } | ||
=== Verändere die Position eines Objektes kontinuierlich entlang einer Achse === | |||
public GameObject meinObjekt //hier muss im Editor das Objekt das bewegt werden soll abgelegt werden | public GameObject meinObjekt //hier muss im Editor das Objekt das bewegt werden soll abgelegt werden | ||
| Zeile 86: | Zeile 86: | ||
} | } | ||
=== Von einer Farbe über Zeit zu einer anderen wechseln, per IEnumerator === | |||
IEnumerator ChangeColor(){ | IEnumerator ChangeColor(){ | ||
| Zeile 97: | Zeile 97: | ||
colornew = Color.Lerp(colorBegin, Color.magenta, t); | colornew = Color.Lerp(colorBegin, Color.magenta, t); | ||
GetComponent<Renderer>().material.color = colornew; | GetComponent<Renderer>().material.color = colornew; | ||
t += Time.deltaTime/amountOfSeconds; | t += Time.deltaTime/amountOfSeconds; | ||
yield return new WaitForEndOfFrame(); | yield return new WaitForEndOfFrame(); | ||
Version vom 13. März 2019, 12:44 Uhr
Alle Snippets sind zunächst Pseudocode und je nach verwendeter Programmiersprache anzupassen.
Generell
Finde die Stelle mit der höchsten Zahl in einem Array von Zahlen
int höchsteZahl = -1000000;
int stelle = -1;
for (int i=0;i<arrayName.länge;i++){
if (arrayName[i]>höchsteZahl){
stelle=i;
höchsteZahl=arrayName[i];
}
}
Arduino
Führe eine Funktion einmalig aus, wenn ein Button gedrückt ist, und einmalig etwas anderes, wenn er losgelassen wird
int buttonDown =0;
int inputPin = 5; //hier muss der Pin eingetragen sein, an dem der Button hängt
[...]
void loop(){
if (digitalRead(inputPin)==LOW){
buttonDown++;
}
if (buttonDown==1){
DoSomethingOnceWhenPressed();
}
if (digitalRead(inputPin)==HIGH && buttonDown>0){
DoSomethingOnceWhenReleased();
buttonDown=0;
}
}
Mache etwas alle x-Durchläufe
int loopCounter=0;
int alleXLoops = 15; //Führt eine Funktion alle 15 loops aus
[...]
void loop(){
loopCounter++;
if (loopCounter%alleXLoops==0){
DoSomethingEveryXLoops();
}
}
Unity
Führe eine Funktion einmalig aus, wenn ein bestimmter Zustand erreicht ist
public bool bZustand=false;
void Update(){
if (/*ZustandsAbfrage*/){
bZustand=true;
}
if (bZustand){
DoSomethingOnce();
bZustand=false;
}
}
Verändere die Position eines Objektes kontinuierlich entlang einer Achse
public GameObject meinObjekt //hier muss im Editor das Objekt das bewegt werden soll abgelegt werden
void Update(){
meinObjekt.transform.position += new Vector3(xWert,yWert,zWert);
}
Von einer Farbe über Zeit zu einer anderen wechseln, per IEnumerator
IEnumerator ChangeColor(){
Color colornew = new Color();
float t = 0;
float amountOfSeconds = 4.0f;
while (t < 1.0f)
{
colornew = Color.Lerp(colorBegin, Color.magenta, t);
GetComponent<Renderer>().material.color = colornew;
t += Time.deltaTime/amountOfSeconds;
yield return new WaitForEndOfFrame();
}
}