da mir 3d in processing eindeutig zu dick ist, werde ich mich erstmal 2d austoben. nochmal zusammenfassend: der kreis wird größer und DU must das verhindern. mousehover zum punkte zurücksiehen. je weiter der punkt entfernt, desto blasser der punkt, leiser die musik bzw verzerrt, wenn der kreis deformiert ist. wenn alle punkte verblasst sind ist das spiel verloren. die punkte gleiten immer schneller gen spielfeldbegrenzung je länger das game dauert.
ABER, so langsam raucht der kopf…
zuerst geht was, dann wieder nicht. das schlimmste ist, wenn man nicht weiß woran es liegt, obwohl man lange lange verzweifelt danach sucht. hier erstmal mein arbeitsststand (wenn man das überhaupt so nennen darf):
float Xmitte;
float Ymitte;
float punktSpeed = 1;
int punktABC;
int punkteGesamt =360;
float pieInGrad = TWO_PI;
int winkelGesamt = 360; //degrees(pieInGrad); // 2pie wird in 360grad umgewandelt
int winkelABC; //= 1/winkelGesamt;
float punktXcoord = 0;
int[] ArrayPunkte = new int[punkteGesamt];
int[] ArrayWinkel = new int[winkelGesamt];
//float[] ArrayPunktX = new float[punktXcoord]; // vorerst ueberfluessig, weil X eh immer 0 ist
//float[] ArrayRadius = new float[radius]; // radius = Ycoord
///////////////////////////////////////////////////////////////////////////////////
void KreisZeichnen() {
for(int winkelABC=0; winkelABC<winkelGesamt; winkelABC++) {
//stroke(255,255);
//strokeWeight(1);
ellipse(punktXcoord,radius,3,3); // punkt x immer =0 punkt y immer = radius
rotate(radians(1));
ArrayWinkel[winkelABC] = winkelABC;
//ArrayPunkte[winkelABC] = ArrayPunkte;
//ArrayPunktX
//ArrayPunktY_Radius
//println(ArrayWinkel[winkelABC]);
}
}
void PunktBewegen() {
pushMatrix();
popMatrix();
}
void setup() {
background(0);
smooth();
size(800,800);
Xmitte = width/2;
Ymitte = height/2;
translate(Xmitte,Ymitte);
KreisZeichnen();
}
////////////////////////////////////////////////////////////////////////////////
float radius = 0;
float radiusSpeedUp =0;
float zaehler = 10000;
void draw() {
translate(Xmitte,Ymitte);
//wachsender kreis GEZEICHNET, ohne translate!
pushMatrix();
KreisZeichnen();
radius += radiusSpeedUp;
radiusSpeedUp = float(millis()) / 10000; // wird spaeter noch auf optimales gameplay angepasst
//println(radiusSpeedUp);
popMatrix();
//die komische line die aus dem mittepunkt waechst, GEZEICHNET, ohne translate!
/*
pushMatrix();
translate(Xmitte,Ymitte);
float a = atan2(mouseY-height/2, mouseX-width/2);
rotate(a);
line(Xmitte,Ymitte, punktXcoord, radius);
rect();
popMatrix();
*/
//wo bin ich
//println(“X/” + mouseX + “Y/” + mouseY);
/*
//aimbot
pushMatrix();
translate(400,400);
//noFill();
//stroke(255,255);
//strokeWeight(5);
ellipse(mouseX, mouseY, radius/4, radius/4);
translate(Xmitte,Ymitte);
popMatrix();
*/
}
nunja. ich will ja die einzelnen punkte des kreises durch einen mousehover wieder nach innen ziehen (negativbeschleunigung). dazu muss ich jeden der punkte eine feste coordinate zuweisen (damit processing weiß, wann ich mit der maus über dem punkt bin). das ginge, wenn sich das array nicht so lullig mit floatwerten hätte, da der radius (die- ycoordinate) nunmal ein float wert ist (ja ich weiß, halbe speicherpätze gibts es nicht) geht das nicht. zudem zeichne ich momentan immer über die alten punkte, was völliger blödsinn ist, aber ich weiß nicht, wie ich mithilfe von translate einen punkt verschiben kann (meine überlegung: ich speichere mir jeweils den winkel, bei welchem der punkt gezeichnet wird, in dieser matrix müsste ich dann x=0 und y=radius ebenfalls per array speichern und hätte somit meine coordinaten/ diese coordinaten würden ja rein theoretisch bei jedem winkel gleichsein (wenn sie den selben abstand zum mittelpunkt haben))
wie auch immer….ich fress gar nichts mehr…besser mal ne runde drüber schlafen :/