automatische größenänderung bei gemalten kreisen
-
hallo,
ich habe eine problem und komme mit meinem code nicht weiter. bin ein absoluter neuling im c++ programmieren.
ich habe mithilfe eine openframeworks example kreise gebaut, die einen audio loop abspielen sobald man mit der maus draufklickt... habe auch hinbekommen das die kreise sich dann im random modus bewegen... nur hätte ich gerne, dass der kreis größer und kleiner wir wenn er den audio loop abspielt... also eine art skalieren (pulsartig)... wäre euch sehr dankbar wenn ihr mir da helfen könntet, denke das ist wahrscheinlich keine große sache für euch...
vielen dank im vorraus
grüße
-
Du musst eine Animation erstellen indem du abhängig von der Zeit und eventuell den Daten der Musik den Kreis größer und kleiner werden lässt indem du seine Attribute wie größe und position veränderst.
-
nur leider habe ich keine ahnung wie ich eine animation erstelle..

habe einfach einen kreis gezeichnet mit einem kleinen innenkreis:void testApp::draw(){
ofBackground(0,0,0);
ofSetColor (119,136,153);
ofCircle (xcircle, ycircle, rcircle);
ofSetColor (0,255,0);
ofCircle (xcircle, ycircle, rcircle/2);und so spielt er den audio loop ab, wenn ich draufklicke...
void testApp::mousePressed(int x, int y, int button){
if ((mouseX > xcircle - rcircle)
&& (mouseX < xcircle + rcircle)
&& (mouseY > ycircle - rcircle)
&& (mouseY < ycircle + rcircle))
{
Sound1.play();
Sound2.stop();
Sound3.stop();if(pos == 0){
pos = Sound1.getPosition();
}else{
Sound1.setPosition(pos);
}}
und das funktioniert auch alles soweit... nur wo bzw. was muss ich schreiben damit der kreis dann skaliert?
wäre super wenn du mir vielleicht einen beispiel code hättest
grüße
-
Ich kenn OpenFrameWork nicht.
Aber du musst einfach jeden Frame den Kreis um Faktor X verringern. Langsam genug dass es erkennbar ist. Orientieren tut man sich an der Zeit, nicht an den Frames.
timeGetTime() ist hier ein Stichwort und High Performance Counter.
-
danke dir, werde mich mal daran versuchen
