2
0

HelloPolycodeApp.cpp 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #include "HelloPolycodeApp.h"
  2. HelloPolycodeApp::HelloPolycodeApp(PolycodeView *view) {
  3. core = new POLYCODE_CORE(view, 640,480,false,true,0,0,90, 0, true);
  4. CoreServices::getInstance()->getResourceManager()->addArchive("Resources/default.pak");
  5. CoreServices::getInstance()->getResourceManager()->addDirResource("default", false);
  6. Scene *scene = new Scene(Scene::SCENE_2D);
  7. SceneParticleEmitter *emitter = new SceneParticleEmitter(100,2.0,0.5);
  8. emitter->setParticleRotationSpeed(Vector3(0.0, 0.0, 100.0));
  9. emitter->useScaleCurve = true;
  10. emitter->scaleCurve.clearControlPoints();
  11. emitter->scaleCurve.addControlPoint2d(0, 0.3);
  12. emitter->scaleCurve.addControlPoint2d(0.5, 1);
  13. emitter->scaleCurve.addControlPoint2d(1, 0);
  14. emitter->useColorCurves = true;
  15. emitter->colorCurveR.clearControlPoints();
  16. emitter->colorCurveG.clearControlPoints();
  17. emitter->colorCurveB.clearControlPoints();
  18. emitter->colorCurveA.clearControlPoints();
  19. emitter->colorCurveR.addControlPoint2d(0, 0.3);
  20. emitter->colorCurveR.addControlPoint2d(0.1, 1);
  21. emitter->colorCurveR.addControlPoint2d(0.4, 1);
  22. emitter->colorCurveR.addControlPoint2d(0.5, 0);
  23. emitter->colorCurveR.addControlPoint2d(1, 0);
  24. emitter->colorCurveG.addControlPoint2d(0, 0.3);
  25. emitter->colorCurveG.addControlPoint2d(0.1, 0.6);
  26. emitter->colorCurveG.addControlPoint2d(0.4, 0.6);
  27. emitter->colorCurveG.addControlPoint2d(0.5, 0);
  28. emitter->colorCurveG.addControlPoint2d(1, 0.0);
  29. emitter->colorCurveB.addControlPoint2d(0, 1);
  30. emitter->colorCurveB.addControlPoint2d(0.1, 0);
  31. emitter->colorCurveB.addControlPoint2d(1, 0);
  32. emitter->colorCurveA.addControlPoint2d(0, 0);
  33. emitter->colorCurveA.addControlPoint2d(0.05, 1);
  34. emitter->colorCurveA.addControlPoint2d(0.6, 1);
  35. emitter->colorCurveA.addControlPoint2d(1, 0);
  36. emitter->setPosition(0.0, -0.4, 0.0);
  37. emitter->setMaterialByName("UnlitAdditive");
  38. Texture *tex = CoreServices::getInstance()->getMaterialManager()->createTextureFromFile("Resources/particle.png");
  39. emitter->getLocalShaderOptions()->addTexture("diffuse", tex);
  40. scene->addChild(emitter);
  41. }
  42. HelloPolycodeApp::~HelloPolycodeApp() {
  43. }
  44. bool HelloPolycodeApp::Update() {
  45. return core->updateAndRender();
  46. }