public void setup() { _myArcball = new CCArcball(this); final List<CCForce> myForces = new ArrayList<CCForce>(); myForces.add(_myViscousDrag = new CCViscousDrag(0.3f)); myForces.add(_myForceField); myForces.add(_myTargetForce = new CCGPUMultiTargetForce(700, 700)); myForces.add(_myGravity = new CCGravity(new CCVector3f())); _myParticles = new CCParticles(g, myForces, new ArrayList<CCGPUConstraint>(), 700, 700); _myEmitter = new CCGPUIndexParticleEmitter(_myParticles); _myQuad = new CCQuad3f( new CCVector3f(-250, -250, 0), new CCVector3f(250, -250, 0), new CCVector3f(250, 250, 0), new CCVector3f(-250, 250, 0)); _myTargetSetup = new CCGPUTargetQuadSetup(_myQuad, CCGPUTargetQuadCreationMode.RANDOM); _myTargetForce.targetSetup(_myTargetSetup); for (int i = 0; i < 700 * 700; i++) { _myEmitter.emit(new CCVector3f(0, 0, 0), CCVecMath.random3f(10), 10, true); } addControls("app", "app", this); fixUpdateTime(1 / 30f); _myTileSaver = new CCTileSaver(g); addUpdateListener(_myTileSaver); addPostListener(_myTileSaver); }
@Override public void keyPressed(final CCKeyEvent theEvent) { switch (theEvent.keyCode()) { case VK_S: _myTileSaver.init("export_tile3/" + frameCount + ".png", 5); g.pointSize(10); // CCScreenCapture.capture("export/"+frameCount+".png", width, height); break; case VK_R: g.pointSize(1); // _myBasicShader.reload(); // _myColorScaleShader.reload(); break; case VK_D: g.pointSize(1); _myParticles.reset(); for (int i = 0; i < 700 * 700; i++) { _myEmitter.emit(new CCVector3f(0, 0, 0), CCVecMath.random3f(10), 10, true); } break; default: } }