erstmal danke. versuch mich besser auszudrücken. und auch danke für alle infos, ich versuche alles zu verstehen und zu lernen. auch wenn ich ein paar dinge nicht auf anhieb kapiere, werde ich danach googlen und auch hier nachfragen.
aber dann würde mein initFade jedesmal aufgerufen.
bin mir nicht sicher, ob ich das in processing(.org) verwenden kann. dort gibt es einen setup()-bereich, das einmal bei programmstart ausgeführt wird und einen draw()-bereich das dann in loop ausgeführt wird.
da ich den aufruf von fade im draw() ausführen muss wird dieser ständig ausgeführt, deshalb hat ich einen boolean angesetzt der das verhindert.
mir ist einfach wichtig zu verstehen wie ich es schaffe einen wert in einer bestimmten zeit zu verändern. am schluss möchte ich 100 werte (in einem array) in z.b. 3000ms auf die neuen werte verändern, dabei haben alle 100 werte verschiedene start- und end werte und werden dann einmal angetriggert. dann läuft alles durch und dann wird der fade wieder beendet und auf false gestellt.
wenn sowas in dem draw()-bereich ständig abläuft muss ich doch sowas bauen?? ich meine if-befehle die über true und false ablaufen?
ich denke das processing so ein abgespecktes ding ist. aber es soll anscheinend auf java basieren und ich möchte am schluss ein spiel programmieren.
ich weiss, vielleicht denk ich da falsch, aber ich versuche mit kleinen programmteile paar dinge zu erlernen. abläufe zu verstehen. bevor ich überhaupt an spiel so ein gehe.
vielleicht bin ich im diesem forum falsch, zweck processing, aber mein englisch ist echt schlecht, darum suchte ich ein forum das sich mit spiele und java beschäftigt und auf deutsch ist.
so sieht mein programm fürs faden gerade aus:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
// =============================================================================================VAR
float momentWert;
float zeit = 3000;
float startZeit;
float schrittWert;
float anfangsWert = 255;
float endWert = 0;
boolean fadeAktiv = false;
// ========================================================================================== SETUP
void setup() {
//frameRate(60);
//fullScreen();
background(0);
size(1000,600);
noStroke();
//noCursor();
}
// ===================================================================================== SETUP ENDE
// =========================================================================================== DRAW
void draw() {
background(#000000);
fade(); // hier müsste ich dann nochmals den fade nur aufrufen wenn ich antriggern will
text(str(momentWert), 10, 10, 100, 80); // anzeige auf dem bildschirm
}
// ====================================================================================== DRAW ENDE
// ===================================================================================== FUNKTIONEN
// FADE ------------------------
void fade () {
if (!fadeAktiv) {
momentWert = anfangsWert;
float diffWert = endWert - anfangsWert;
schrittWert = diffWert / zeit;
startZeit = millis();
fadeAktiv = true;
} else {
if ((millis()) < startZeit + zeit) {
momentWert = floor (anfangsWert + ((millis() - startZeit) * schrittWert));
} else {
momentWert = endWert; // das ganze um am schluss den endWert richtig zu setzen, ist das ein fake, bekomme es sonst nicht sauber hin
// hier müsste ich fadeAktiv wieder auf false stellen, aber erst wenn das fade() im draw() per zb. taste angetriggert wird
}
}
}
|