Drei Kreise mit unterschiedlicher Dichte fallen im selben Tempo zu Boden.
Über die Leertaste kann ein nach oben wirkender Impuls auf die Kreise angewandt werden.
Der linke Kreis mit der geringsten Dichte wird von dem Impuls am weitesten nach oben geschleudert.
publicclassDensityDemoextendsSceneimplementsKeyStrokeListener{privatefinalRectangleground;privatefinalCircle[]circles;privatefinalText[]densityLables;publicDensityDemo(){info("Dichte-Demo").subtitle("Demonstierte die Methode Actor#density(double)").description("Drei Kreise mit unterschiedlicher Dichte fallen im selben Tempo zu Boden. "+"Über die Leertaste kann ein nach oben wirkender Impuls auf die Kreise angewandt werden. "+"Der linke Kreis mit der geringsten Dichte wird von dem Impuls am weitesten nach oben geschleudert.");circles=newCircle[3];densityLables=newText[3];intdensity=10;intx=-5;for(inti=0;i<3;i++){circles[i]=createCircleWithDensity(x,density);densityLables[i]=createDensityLables(x,density);x+=5;density+=10;}gravity(0,-9.81);ground=newRectangle(20,1);ground.position(-10,-5);ground.makeStatic();add(ground);}privateCirclecreateCircleWithDensity(doublex,doubledensity){Circlecircle=newCircle(1);circle.position(x,5);circle.density(density);circle.makeDynamic();add(circle);returncircle;}privateTextcreateDensityLables(intx,intdensity){Texttext=newText(density+"",1);text.position(x,-7);text.makeStatic();add(text);returntext;}@OverridepublicvoidonKeyDown(KeyEvente){if(e.getKeyCode()==KeyEvent.VK_SPACE){for(Circlecircle:circles){circle.applyImpulse(0,100);}}}publicstaticvoidmain(String[]args){Controller.instantMode(false);Controller.start(newDensityDemo());}}