Ejemplo n.º 1
0
SceneRealistic :: SceneRealistic(string scenename, ParticleSystemManager& psm) : Scene(scenename, psm) {

	softWhiteImage.loadImage("img/ParticleWhite.png");
	bangerFlashImage.loadImage("img/ParticleBangerFlash.png");
	
	TriggerPattern blank;
	addTriggerPattern(blank);
	
	TriggerRocket triggerFluffy(psm);
	triggerFluffy.restoreSpeed = 4;
	triggerFluffy.addRocketSettings(getFluffyRocket());
	
	TriggerRocket triggerFlower(psm);
	triggerFlower.addRocketSettings(getFlowerRocket());
	triggerFlower.radius = 8;
	triggerFlower.hue = 20;
	triggerFlower.saturation = 100; 
		
	
	TriggerRocket triggerFountain(psm);
	triggerFountain.addRocketSettings(getFountain());
	triggerFountain.restoreSpeed = 4;
	
	
	TriggerRocket triggerBanger(psm);
	triggerBanger.triggerPower = 1;
	triggerBanger.addRocketSettings(getBangerRocket());
	triggerBanger.radius = 10; 
	
	
	TriggerPattern patternFluffy;
	
	patternFluffy.addTrigger(triggerFluffy);
	patternFluffy.addTrigger(triggerFountain);
		
	addTriggerPattern(patternFluffy); 
	
	// fluffy with added flowers
	patternFluffy.addTrigger(triggerFlower);
	addTriggerPattern(patternFluffy);
	
	
	// another fountain and banger
	patternFluffy.addTrigger(triggerFountain);
	patternFluffy.addTrigger(triggerBanger);
	addTriggerPattern(patternFluffy);
	
	
	TriggerRocket triggerFlowerPurple(psm);
	triggerFlowerPurple.addRocketSettings(getFlowerRocket(220));
	triggerFlowerPurple.radius = 8;
	triggerFlowerPurple.hue = 255-20;
	triggerFlowerPurple.saturation = 200;
	

	
	TriggerPattern multiColourFountains;
	
	float colours [4] = {170, 0, 220, 0};
	
	for(int i = 0; i<4; i++) {
		TriggerRocket triggerRocketFountain(psm);
		
		RocketSettings fountain = getFountain(colours[i]);
		fountain.startSpeedMax *=2;
		triggerRocketFountain.addRocketSettings(fountain);
		triggerRocketFountain.restoreSpeed= 4; 
		
		triggerRocketFountain.hue = colours[i];
		triggerRocketFountain.saturation = 100;
		
		multiColourFountains.addTrigger(triggerRocketFountain, 0,0,1);
	}
	addTriggerPattern(multiColourFountains); 
	
	
	TriggerPattern patternNewColour;
	patternNewColour.addTrigger(triggerFluffy);
	patternNewColour.addTrigger(triggerFountain);
	patternNewColour.addTrigger(triggerFlowerPurple);
	
	addTriggerPattern(patternNewColour);
	
	TriggerPattern endPattern;
	RocketSettings bigFlowerRocket = getSphereFlowerRocket(140);
	TriggerRocket triggerBigFlower(psm);
	triggerBigFlower.hue = 140;
	triggerBigFlower.saturation = 200;
	triggerBigFlower.radius= 10;
	triggerBigFlower.addRocketSettings(bigFlowerRocket);
	
	endPattern.addTrigger(triggerFlower);
	endPattern.addTrigger(triggerBigFlower);
	endPattern.addTrigger(triggerBanger);
	endPattern.addTrigger(triggerFountain);
	
	addTriggerPattern(endPattern);

	
//	pattern.addTrigger(triggerFlower);
//	pattern.addTrigger(triggerFluffy);
//	pattern.addTrigger(triggerFluffy);
//	pattern.addTrigger(triggerFlower);
//	pattern.addTrigger(triggerBanger);
//
//	addTriggerPattern(pattern);
}
Ejemplo n.º 2
0
SceneIntro :: SceneIntro(string scenename) : Scene(scenename) {
	
	FireworkFactory& fireworkFactory = *FireworkFactory::instance();
	
	softWhiteImage.loadImage("img/ParticleWhite.png");
	bangerFlashImage.loadImage("img/ParticleBangerFlash.png");
	
	//music.loadSound("music/02 In Motion.aif");

	TriggerPattern blank;
	addTriggerPattern(blank);
	
	TriggerPattern pattern;
	pattern.addTriggerSettings(fireworkFactory.getFountain(180,0));
	pattern.addTriggerSettings(TriggerSettings::blank);
	addTriggerPattern(pattern);
		
	TriggerPattern multiColourPattern;
	
	float colours [10] = {0, 30, 60, 90, 120, 150,180,210,240 };
	
	for(int i = 0; i<10; i++) {
		TriggerSettingsRocket* colourFountain = fireworkFactory.getFountain(colours[i],0);
				
		colourFountain->hue = colours[i];
		colourFountain->saturation = 255;
		
		multiColourPattern.addTriggerSettings(colourFountain);
		multiColourPattern.addTriggerSettings();
		
	}
	
	addTriggerPattern(multiColourPattern);
			
	TriggerPattern patternFountain;
	patternFountain.addTriggerSettings(fireworkFactory.getFountain(180,0));
	patternFountain.addTriggerSettings();
	patternFountain.addTriggerSettings(fireworkFactory.getBasicRocket(5));
	patternFountain.addTriggerSettings();
	addTriggerPattern(patternFountain);
	
	
	
	
	texts.push_back("Welcome to PixelPyros");
	texts.push_back("The fireworks display that you control");
	texts.push_back("Move your hand across the orbs of light to trigger fireworks");
	texts.push_back("Larger orbs make bigger fireworks");
	texts.push_back("If the orbs stop spinning, wait a while for them to recharge");
	texts.push_back("");
	
	textWriter.colour = ofColor(240,255,255);
	textWriter.colourFlickerMin = 0.6;
	showText = true;
	currentText = 0;
	timePerText = 10;
	
}
Ejemplo n.º 3
0
SceneVectorizer :: SceneVectorizer  (string scenename) : Scene(scenename){
	
	TriggerPattern empty;
	addTriggerPattern(empty);
	
	
	TriggerSettingsRocketRotator * rocketFountainBlue = getRocketTronFountain(130,10);
	TriggerSettingsRocketRotator * rocketFountainPink = getRocketTronFountain(-20,0);
	TriggerSettingsRocketRotator * rocketFountainBlueHigh = getRocketTronFountain(130,10);
	TriggerSettingsRocketRotator * rocketFountainPinkHigh = getRocketTronFountain(-20,0);

	
	rocketFountainBlue->hue = rocketFountainBlueHigh->hue = 130;
	rocketFountainPink->hue = rocketFountainPinkHigh->hue = 235;
	rocketFountainBlueHigh->rocketSettings->startSpeedMin *=2.8;
	rocketFountainBlueHigh->rocketSettings->startSpeedMax *=2.8;
	rocketFountainPinkHigh->rocketSettings->startSpeedMin *=2.8;
	rocketFountainPinkHigh->rocketSettings->startSpeedMax *=2.8;
	
	TriggerPattern glitchFountainPattern;
	
	glitchFountainPattern.addTriggerSettings(rocketFountainBlue);
	glitchFountainPattern.addTriggerSettings(rocketFountainBlue);
	glitchFountainPattern.addTriggerSettings(rocketFountainPink);
	glitchFountainPattern.addTriggerSettings(rocketFountainPink);
	
	
	addTriggerPattern(glitchFountainPattern);

	
	RocketTron& glitchRocket = *new RocketTron();
	glitchRocket.head.renderer = new ParticleRendererGlitchLine(1);
	glitchRocket.head.speedMin = 20;
	glitchRocket.head.speedMax = 60;
	glitchRocket.head.brightnessStartMax = 255;
	glitchRocket.head.brightnessStartMin = 255;
	glitchRocket.head.brightnessEnd = 255;
	
	glitchRocket.head.lifeMin= 0.1;
	glitchRocket.head.lifeMax= 0.15;
	glitchRocket.head.emitInheritVelocity  =0.0;
	glitchRocket.head.emitLifeTime= 3.0;
	
	glitchRocket.explosion.renderer = new ParticleRendererGlitchLine(1.1);
	glitchRocket.explosion.sizeStartMin = glitchRocket.explosion.sizeStartMax =2;
	
	glitchRocket.explosion.brightnessEnd = 0;
	glitchRocket.explosion.speedMin = 100;
	glitchRocket.explosion.speedMax = 1000;
	glitchRocket.explosion.directionZVar = 0;
	glitchRocket.explosion.lifeMin= 0.1;
	glitchRocket.explosion.lifeMax= 0.4;
	glitchRocket.explosion.hueStartMin = 130;
	glitchRocket.explosion.hueStartMax = 130;
	
	
	glitchRocket.explosion.emitCount = 5000;
	glitchRocket.explosion.emitLifeTime = 0.1;
	glitchRocket.explosion.emitDelay = 3.1;
	
	glitchRocket.explosion.drag = 0.99;
	
	glitchRocket.startSpeedMin = 700;
	
	glitchRocket.startSpeedMax = 800;
	glitchRocket.directionVar = 6;
	
	glitchRocket.addParticleSystemSetting(glitchRocket.head);
	glitchRocket.addParticleSystemSetting(glitchRocket.explosion);
	glitchRocket.timeSpeed = 	glitchRocket.head.timeSpeed = glitchRocket.explosion.timeSpeed= 0.7;
	
	glitchRocket.lifeTime = 2.4;
	
	TriggerSettingsRocket* glitchRocketTrigger = new TriggerSettingsRocket();
	glitchRocketTrigger->rocketSettings = &glitchRocket;
	
	glitchFountainPattern.addTriggerSettings();
	glitchFountainPattern.addTriggerSettings(glitchRocketTrigger);
	glitchFountainPattern.addTriggerSettings();
	
	addTriggerPattern(glitchFountainPattern);
	

	
	
	TriggerPattern glitchFountainPatternHigh;
	
	glitchFountainPatternHigh.addTriggerSettings(rocketFountainBlueHigh);
	glitchFountainPatternHigh.addTriggerSettings(rocketFountainBlue);
	glitchFountainPatternHigh.addTriggerSettings(rocketFountainPinkHigh);
	glitchFountainPatternHigh.addTriggerSettings(rocketFountainPink);
	
	addTriggerPattern(glitchFountainPatternHigh);
	
	
/*
	
	TriggerPattern rocketsAndFountainsPattern;
	
	RocketTron rocketTron;
	rocketTron.addParticleSystems();
	TriggerRocket rocketTronTrigger(particleSystemManager);
	rocketTronTrigger.addRocketSettings(rocketTron);
	// makes one shot type
	//rocketTronTrigger.type = TRIGGER_TYPE_FIRE_ON_MOTION;
	rocketTronTrigger.triggerLevel = 1;
	rocketTronTrigger.restoreSpeed = 2;
	rocketTronTrigger.triggerPower = 0.99;
	
	
	rocketsAndFountainsPattern.addTrigger(rocketTronTrigger);
	rocketsAndFountainsPattern.addTrigger(fountainTriggerBlue);

	
	addTriggerPattern(rocketsAndFountainsPattern);
	
	
	
	// Arrangement with only glitch fountains, closer spaced
	
	TriggerPattern crazyPattern;
	TriggerRotator crazyTrigger(particleSystemManager,20,1,false);
	crazyTrigger.triggerPower = 1;
	crazyTrigger.restoreSpeed = 1;
	crazyTrigger.addRocketSettings(rocketFountainBlueHigh);
	crazyTrigger.addRocketSettings(rocketFountainPinkHigh);
	crazyPattern.addTrigger(crazyTrigger,0,0,0.3);
	//pattern.addTrigger(trigger2);
	
	addTriggerPattern(crazyPattern);
	
	
	
	
	RocketTron glitchRocketMore;
	glitchRocketMore.head.renderer = new ParticleRendererGlitchLine(1, false, false);
	glitchRocketMore.head.speedMin = 30;
	glitchRocketMore.head.speedMax = 100;
	glitchRocketMore.head.brightnessStartMax = 255;
	glitchRocketMore.head.brightnessStartMin = 255;
	glitchRocketMore.head.brightnessEnd = 255;
	
	glitchRocketMore.head.lifeMin= 0.1;
	glitchRocketMore.head.lifeMax= 0.15;
	glitchRocketMore.head.emitInheritVelocity  =0.0;
	
	glitchRocketMore.explosion.renderer = new ParticleRendererGlitchLine(0.5, false, true);
	glitchRocketMore.explosion.sizeStartMin = glitchRocket.explosion.sizeStartMax =2;
	
	
	glitchRocketMore.explosion.brightnessStartMax = 100;
	glitchRocketMore.explosion.brightnessStartMax = 200;
	glitchRocketMore.explosion.brightnessEnd = 10;
	glitchRocketMore.explosion.speedMin = 400;
	glitchRocketMore.explosion.speedMax = 700;
	glitchRocketMore.explosion.directionZVar = 90;
	glitchRocketMore.explosion.lifeMin= 0.1;
	glitchRocketMore.explosion.lifeMax= 0.4;
	glitchRocketMore.explosion.hueStartMin = 130;
	glitchRocketMore.explosion.hueStartMax = 130;
	
	
	glitchRocketMore.explosion.emitCount = 10000;
	glitchRocketMore.explosion.emitLifeTime = 0.1;
	glitchRocketMore.explosion.emitDelay = 2.1;
	
	glitchRocketMore.explosion.drag = 0.91;
	
	glitchRocketMore.startSpeedMin = 700;
	glitchRocketMore.directionVar = 6;
	
	glitchRocketMore.addParticleSystemSetting(glitchRocketMore.head);
	glitchRocketMore.addParticleSystemSetting(glitchRocketMore.explosion);
	
	TriggerRocket glitchRocketTriggerMore(particleSystemManager);
	//glitchRocketTrigger.triggerLevel = 1;
	glitchRocketTriggerMore.restoreSpeed = 2;
	glitchRocketTriggerMore.triggerPower = 0.99;
	glitchRocketTriggerMore.radius = 8;
	glitchRocketTriggerMore.hue = 130;
	glitchRocketTriggerMore.saturation = 160;

	glitchRocketTriggerMore.addRocketSettings(glitchRocketMore);

	
	
	
	
	RocketSettings circleFountain = getCircleFountain();
	TriggerRocket circleFountainTrigger(particleSystemManager) ;
	
	circleFountainTrigger.addRocketSettings(circleFountain);
	
	TriggerPattern bigPattern;
	
	
	bigPattern.addTrigger(circleFountainTrigger);
	bigPattern.addTrigger(rocketTronTrigger);
	bigPattern.addTrigger(fountainTriggerPink);
	bigPattern.addTrigger(rocketTronTrigger);
	
	addTriggerPattern(bigPattern);
	
	
	TriggerPattern endPattern;
	
	
//	endPattern.addTrigger(circleFountainTrigger);
	bigPattern.addTrigger(rocketTronTrigger);
	endPattern.addTrigger(fountainTriggerPink);
//	endPattern.addTrigger(circleFountainTrigger);
	endPattern.addTrigger(glitchRocketTriggerMore);
	
	addTriggerPattern(endPattern);

	*/
	
	
	stretchyNet.init(ofRectangle(0,0,APP_WIDTH, APP_HEIGHT), 15, 15);
	
	
	
}
Ejemplo n.º 4
0
SceneSlideshow::SceneSlideshow(string scenename ): Scene(scenename) {
    
	TriggerSettings* trigger = new TriggerSettingsRocketOrb() ;
	TriggerPattern pattern;
	pattern.addTriggerSettings(trigger);
	addTriggerPattern(pattern);
	pattern.addTriggerSettings(trigger);
	addTriggerPattern(pattern);
	
	//starfield = Starfield(500);
	//starfield.speed = 50;
  
    currentSlide = 0;
    lastUpdateTime = 0;
    defaultFontSize = 4.0;
	
	ofColor textColor(100,180,170);
    foreground = 200;
	background = 20;
                                       
    defaultBackground.loadImage(ofToDataPath("slideshow/Interstitial-Nottingham.png"));

	
	
	
//    Do you want your box guides back to layout the text? Uncomment lines 80-82 in TextWriter.cpp and big blue boxes will return
    
    // Slide 1 -- festivaly opening! ----------------------------------------
    
    SceneSlide *slide = new SceneSlide(&defaultBackground);
   // slide->add(timer);
    
    // Auto-centred box, x, y are offsets from the middle
    slide->add(new CentredSlideText(APP_WIDTH, APP_HEIGHT,
        ofRectangle(0, -70, 700, 60),
//        ofRectangle(0, 0 + 100, 700, 60),
        textColor,
        defaultFontSize,
        ""
    ));
    
    
    // Auto-centred box, x, y are offsets from the middle
    
    slide->add(new CentredSlideText(APP_WIDTH, APP_HEIGHT,
        ofRectangle(0, 80, 700, 60),
        //ofRectangle(0, 120 + 100, 700, 60),
        textColor,
        0.7 * defaultFontSize,
        "" //§"pixelpyros.org"
        ));
 
	
	
    slide->add(new CentredSlideText(APP_WIDTH, APP_HEIGHT,
		ofRectangle(0, 150, 700, 60),
		textColor,
		 defaultFontSize,
		"" //"showtimes :  7pm  8pm  9pm"
		));
    // Duration to show, in seconds
    slide->duration = 10;
    slides.push_back(slide);
    
    // Slide 2  -- people thanks! -----------------------------------------------------
    
    slide = new SceneSlide(&defaultBackground);
    //slide->add(timer);
    
    slide->add(new CentredSlideText(APP_WIDTH, APP_HEIGHT,
         ofRectangle(0, -25, 700, 50),
         //ofRectangle(0, 0 + 120, 600, 100),
         textColor,
         0.6 * defaultFontSize,
         "" //"thanks to our local sponsors"
    ));
    slide->add(new CentredSlideText(APP_WIDTH, APP_HEIGHT,
		ofRectangle(0, 25, 700, 50),
		//ofRectangle(0, 200, 300, 100),
		textColor,
		defaultFontSize,
		"" //"Heart Internet"
    ));
    
    // Duration to show, in seconds
    slide->duration = 10;
    slides.push_back(slide);
    

    // Slide 3 -- biz thanks!
    
    slide = new SceneSlide(&defaultBackground);
    //slide->add(timer);
    slide->add(new CentredSlideText(APP_WIDTH, APP_HEIGHT,
    	ofRectangle(0, -25, 700, 50),
    	textColor,
    	0.6 * defaultFontSize,
		"" //"thanks to our production partners"
));
    slide->add(new CentredSlideText(APP_WIDTH, APP_HEIGHT,
		ofRectangle(0, 25, 700, 50),
        textColor,
      	defaultFontSize,
      	"" //"LM Productions\nHOP Engineers"
));
    
    // Duration to show, in seconds
    slide->duration = 10;
    slides.push_back(slide);
    
}
Ejemplo n.º 5
0
SceneGame :: SceneGame(string scenename ) : Scene(scenename), psm(*ParticleSystemManager::instance())
{

	ambientModeAllowed = false;


	pixelSize = 1;
	loadMusicFile("FireCrackerEdit.aif");
	
	invaderImage1.loadImage("img/Invader.png");
	invaderImage1.getTextureReference().setTextureMinMagFilter(GL_NEAREST, GL_NEAREST);
	activeInvaders = 0;
	activeAsteroids = 0;
	numRows = 0;
	numCols = 0;
	
	addEmptyTriggerPattern();

	
	TriggerSettingsRocket* ts = getInvaderBulletRocket(170);
	ts->rechargeSettings = new TriggerRechargeSettings();
	ts->rechargeSettings->restoreSpeed = 0.000001;
	
	TriggerPattern tp;
	tp.addTriggerSettings(ts);
	addTriggerPattern(tp, "invader ships");
	
	TriggerPattern bulletsPattern;
	
	bulletsPattern.addTriggerSettings(getInvaderBulletRocket(170));
	addTriggerPattern(bulletsPattern, "invader ships active");
	
	
	ts = getAsteroidsBulletRocket();
	ts->rechargeSettings = new TriggerRechargeSettings();
	ts->rechargeSettings->restoreSpeed = 0.000001;
	
	TriggerPattern tp2;
	tp2.addTriggerSettings(ts);
	addTriggerPattern(tp2, "asteroid ships");
	
	TriggerPattern bulletsPatternAsteroids;
	
	bulletsPatternAsteroids.addTriggerSettings(getAsteroidsBulletRocket());
	
	addTriggerPattern(bulletsPatternAsteroids, "asteroid ships active");
	
	explodeMesh.addVertex(ofPoint(1,0));
	explodeMesh.addVertex(ofPoint(0,1));
	explodeMesh.addVertex(ofPoint(-1,0));
	explodeMesh.addVertex(ofPoint(0,-1));
	
	explodeMesh.addVertex(ofPoint(0.8,0.8));
	explodeMesh.addVertex(ofPoint(-0.8,0.8));
	explodeMesh.addVertex(ofPoint(-0.8,-0.8));
	explodeMesh.addVertex(ofPoint(0.8,-0.8));
	currentGame = GAME_NONE;
	gameState = STATE_INTRO;
	
	
	ofTrueTypeFont::setGlobalDpi(72);

	pixelFont.loadFont("bender_light.ttf", 60, true, true);
	pixelFont.setLineHeight(68.0f);
	pixelFont.setLetterSpacing(1.035);
	
	
};
Ejemplo n.º 6
0
SceneVectorizer :: SceneVectorizer  (string scenename) : Scene(scenename), particleSystemManager(*ParticleSystemManager::instance()){
	
	loadMusicFile("LightsKlaypex.aif");
	
	addTriggerPattern();
	
	TriggerSettingsRocketOrb * rocketFountainBlue = getRocketTronFountain(130,10);
	TriggerSettingsRocketOrb * rocketFountainPink = getRocketTronFountain(235,0);
	TriggerSettingsRocketOrb * rocketFountainBlueHigh = getRocketTronFountain(130,10, 2, true);
	TriggerSettingsRocketOrb * rocketFountainPinkHigh = getRocketTronFountain(235,0, 2, true);
		
	rocketFountainPink->addRocketSettings(rocketFountainBlue->getRocketSettings());
	rocketFountainBlue->addRocketSettings(rocketFountainPink->getRocketSettings());
	
	TriggerPattern glitchFountainPattern("glitch fountains small");
	
	glitchFountainPattern.addTriggerSettings(rocketFountainBlue);
	glitchFountainPattern.addTriggerSettings();
	glitchFountainPattern.addTriggerSettings(rocketFountainBlue);
	glitchFountainPattern.addTriggerSettings();
	glitchFountainPattern.addTriggerSettings(rocketFountainPink);
	glitchFountainPattern.addTriggerSettings();
	glitchFountainPattern.addTriggerSettings(rocketFountainPink);
	glitchFountainPattern.addTriggerSettings();

	addTriggerPattern(glitchFountainPattern);
	
	
	TriggerPattern glitchFountainPatternHigh("glitch fountains high");
	
	glitchFountainPatternHigh.addTriggerSettings(rocketFountainBlueHigh);
	glitchFountainPatternHigh.addTriggerSettings();
	glitchFountainPatternHigh.addTriggerSettings(rocketFountainBlue);
	glitchFountainPatternHigh.addTriggerSettings();
	glitchFountainPatternHigh.addTriggerSettings(rocketFountainPinkHigh);
	glitchFountainPatternHigh.addTriggerSettings();
	glitchFountainPatternHigh.addTriggerSettings(rocketFountainPink);
	glitchFountainPatternHigh.addTriggerSettings();
	
	addTriggerPattern(glitchFountainPatternHigh);

	TriggerSettingsRocketOrb* glitchRocketOnce = getGlitchRocket();

	glitchRocketOnce->rechargeSettings = TriggerRechargeSettings::oneShot; 
	TriggerPattern glitchRocketPattern("glitch rocket");
	glitchRocketPattern.addTriggerSettings(glitchRocketOnce);
	glitchRocketPattern.addTriggerSettings();
	glitchRocketPattern.addTriggerSettings();
	glitchRocketPattern.addTriggerSettings();
	glitchRocketPattern.addTriggerSettings();
	glitchRocketPattern.addTriggerSettings();
	glitchRocketPattern.addTriggerSettings();
	glitchRocketPattern.addTriggerSettings();
	glitchRocketPattern.addTriggerSettings();
	glitchRocketPattern.addTriggerSettings();
	
	addTriggerPattern(glitchRocketPattern);
		
	TriggerSettingsRocketOrb* glitchRocket = getGlitchRocket();

	TriggerPattern glitchFountainWithRocket("glitch fountains + rocket"); 
	glitchFountainWithRocket.addTriggerSettings(glitchRocket);
	glitchFountainWithRocket.addTriggerSettings();
	glitchFountainWithRocket.addTriggerSettings(rocketFountainBlue);
	glitchFountainWithRocket.addTriggerSettings();
	glitchFountainWithRocket.addTriggerSettings(rocketFountainBlue);
	glitchFountainWithRocket.addTriggerSettings();
	glitchFountainWithRocket.addTriggerSettings(rocketFountainPink);
	glitchFountainWithRocket.addTriggerSettings();
	glitchFountainWithRocket.addTriggerSettings(rocketFountainPink);
	glitchFountainWithRocket.addTriggerSettings();
	
	addTriggerPattern(glitchFountainWithRocket);
	
	
	TriggerPattern rocketTronPreview;
	RocketTron* rocketTronOnce= new RocketTron();
	rocketTronOnce->addParticleSystems();
	rocketTronOnce->rechargeSettings = TriggerRechargeSettings::oneShot;
	rocketTronPreview.addTriggerSettings();
	rocketTronPreview.addTriggerSettings();
	rocketTronPreview.addTriggerSettings();
	rocketTronPreview.addTriggerSettings();
	rocketTronPreview.addTriggerSettings(rocketTronOnce);
	rocketTronPreview.addTriggerSettings();
	rocketTronPreview.addTriggerSettings();
	addTriggerPattern(rocketTronPreview);
	
	
	
	TriggerPattern rocketsAndFountainsPattern;
	
	RocketTron* rocketTron = new RocketTron();
	rocketTron->addParticleSystems();
	
	
	rocketsAndFountainsPattern.addTriggerSettings(rocketTron);
	rocketsAndFountainsPattern.addTriggerSettings();
	rocketsAndFountainsPattern.addTriggerSettings(rocketFountainBlue);
	rocketsAndFountainsPattern.addTriggerSettings();
	rocketsAndFountainsPattern.addTriggerSettings(rocketFountainPink);
	rocketsAndFountainsPattern.addTriggerSettings();
	
	addTriggerPattern(rocketsAndFountainsPattern);
	
	// Arrangement with only glitch fountains, closer spaced
	 
	TriggerPattern rotatingHighFountains;
	//TriggerRotator crazyTrigger(particleSystemManager,20,1,false);
	//crazyTrigger.triggerPower = 1;
	//crazyTrigger.restoreSpeed = 1;
	//crazyTrigger.addRocketSettings(rocketFountainBlueHigh);
	//crazyTrigger.addRocketSettings(rocketFountainPinkHigh);
	//crazyPattern.addTrigger(crazyTrigger,0,0,0.3);
	//pattern.addTrigger(trigger2);
	
	TriggerSettingsRocketOrb* rotatingFountainBlueHigh = new TriggerSettingsRocketOrb(*rocketFountainBlueHigh);
	TriggerSettingsRocketOrb* rotatingFountainPinkHigh = new TriggerSettingsRocketOrb(*rocketFountainPinkHigh);
	
	rotatingFountainBlueHigh->rechargeSettings = TriggerRechargeSettings::fastMultiples;
	rotatingFountainPinkHigh->rechargeSettings = TriggerRechargeSettings::fastMultiples;
	rotatingFountainPinkHigh->rotateOnFire = false;
	rotatingFountainBlueHigh->rotateOnFire = false;
	
	rotatingFountainPinkHigh->rotationSpeed = 1;
	rotatingFountainBlueHigh->rotationSpeed = 1;
	
	rotatingHighFountains.addTriggerSettings(rotatingFountainBlueHigh);
	rotatingHighFountains.addTriggerSettings(rotatingFountainPinkHigh);
	
	
	addTriggerPattern(rotatingHighFountains);
	
	
	/*	
	
	RocketTron glitchRocketMore;
	glitchRocketMore.head.renderer = new ParticleRendererGlitchLine(1, false, false);
	glitchRocketMore.head.speedMin = 30;
	glitchRocketMore.head.speedMax = 100;
	glitchRocketMore.head.brightnessStartMax = 255;
	glitchRocketMore.head.brightnessStartMin = 255;
	glitchRocketMore.head.brightnessEnd = 255;
	
	glitchRocketMore.head.lifeMin= 0.1;
	glitchRocketMore.head.lifeMax= 0.15;
	glitchRocketMore.head.emitInheritVelocity  =0.0;
	
	glitchRocketMore.explosion.renderer = new ParticleRendererGlitchLine(0.5, false, true);
	glitchRocketMore.explosion.sizeStartMin = glitchRocket.explosion.sizeStartMax =2;
	
	
	glitchRocketMore.explosion.brightnessStartMax = 100;
	glitchRocketMore.explosion.brightnessStartMax = 200;
	glitchRocketMore.explosion.brightnessEnd = 10;
	glitchRocketMore.explosion.speedMin = 400;
	glitchRocketMore.explosion.speedMax = 700;
	glitchRocketMore.explosion.directionZVar = 90;
	glitchRocketMore.explosion.lifeMin= 0.1;
	glitchRocketMore.explosion.lifeMax= 0.4;
	glitchRocketMore.explosion.hueStartMin = 130;
	glitchRocketMore.explosion.hueStartMax = 130;
	
	
	glitchRocketMore.explosion.emitCount = 10000;
	glitchRocketMore.explosion.emitLifeTime = 0.1;
	glitchRocketMore.explosion.emitDelay = 2.1;
	
	glitchRocketMore.explosion.drag = 0.91;
	
	glitchRocketMore.startSpeedMin = 700;
	glitchRocketMore.directionVar = 6;
	
	glitchRocketMore.addParticleSystemSetting(glitchRocketMore.head);
	glitchRocketMore.addParticleSystemSetting(glitchRocketMore.explosion);
	
	TriggerRocket glitchRocketTriggerMore(particleSystemManager);
	//glitchRocketTrigger.triggerLevel = 1;
	glitchRocketTriggerMore.restoreSpeed = 2;
	glitchRocketTriggerMore.triggerPower = 0.99;
	glitchRocketTriggerMore.radius = 8;
	glitchRocketTriggerMore.hue = 130;
	glitchRocketTriggerMore.saturation = 160;

	glitchRocketTriggerMore.addRocketSettings(glitchRocketMore);

	*/
	
	
	
	TriggerSettingsRocketOrb* circleFountain = getCircleFountain(235);
	
	TriggerPattern bigPattern;
	
	bigPattern.addTriggerSettings(circleFountain);
	bigPattern.addTriggerSettings();
	bigPattern.addTriggerSettings(rocketTron);
	bigPattern.addTriggerSettings();
	bigPattern.addTriggerSettings(rocketFountainPink);
	bigPattern.addTriggerSettings();
	bigPattern.addTriggerSettings(rocketTron);
	bigPattern.addTriggerSettings();
	
	addTriggerPattern(bigPattern);

	
	
	
/*
	TriggerPattern endPattern;
	
	
//	endPattern.addTrigger(circleFountainTrigger);
	bigPattern.addTrigger(rocketTronTrigger);
	endPattern.addTrigger(fountainTriggerPink);
//	endPattern.addTrigger(circleFountainTrigger);
	endPattern.addTrigger(glitchRocketTriggerMore);
	
	addTriggerPattern(endPattern);	*/
	
	stretchyNet.init(ofRectangle(0,0,APP_WIDTH, APP_HEIGHT), 15, 15);
	
}
Ejemplo n.º 7
0
SceneRealistic :: SceneRealistic(string scenename) : Scene(scenename) {

	FireworkFactory& fireworkFactory = *FireworkFactory::instance();
	
	//loadMusicFile("03 Ufo.aif");
	loadMusicFile("LightsEllie.aif");
	softWhiteImage.loadImage("img/ParticleWhite.png");
	//bangerFlashImage.loadImage("img/ParticleBangerFlash.png");
	
	TriggerPattern blank;
	addTriggerPattern(blank);
	
	TriggerSettingsRocket* triggerFluffy = fireworkFactory.getFluffyRocket();
	TriggerSettingsRocket* triggerFountain = getFountain(); 

	TriggerSettingsRocket* triggerFlower = getFlowerRocket(20);
	triggerFlower->hue = 20;
	triggerFlower->saturation = 100;
		

	TriggerSettingsRocket* triggerBanger = fireworkFactory.getBangerRocket();

	
	TriggerPattern patternFluffy;
	
	patternFluffy.addTriggerSettings(triggerFluffy);
	patternFluffy.addTriggerSettings(triggerFountain);
	addTriggerPattern(patternFluffy, "Fluffy");
	
	// fluffy with added flowers
	patternFluffy.addTriggerSettings(triggerFlower);
	
	addTriggerPattern(patternFluffy, "Fluffy with flower yellow");
	
	
	
	// another fountain and banger
	patternFluffy.addTriggerSettings(triggerFountain);
	patternFluffy.addTriggerSettings(triggerBanger);
	addTriggerPattern(patternFluffy, "Fluffy with yellow flower + bang");
	
	
	TriggerSettingsRocket*  triggerFlowerPurple = getFlowerRocket(220);
	triggerFlowerPurple->hue = 255-20;
	triggerFlowerPurple->saturation = 200;
	

	
	TriggerPattern multiColourFountains;
	
	float colours [4] = {170, 0, 220, 0};
	
	for(int i = 0; i<4; i++) {
		TriggerSettingsRocket* triggerRocketFountain = getFountain(colours[i]);
		
	
		//fountain.startSpeedMax *=2;
		
		triggerRocketFountain->hue = colours[i];
		triggerRocketFountain->saturation = 100;
		
		multiColourFountains.addTriggerSettings(triggerRocketFountain);

	}
	addTriggerPattern(multiColourFountains, "Multi colour fountains");
	
	
	TriggerPattern patternNewColour;
	patternNewColour.addTriggerSettings(triggerFluffy);
	patternNewColour.addTriggerSettings(triggerFountain);
	patternNewColour.addTriggerSettings(triggerFlowerPurple);
	
	addTriggerPattern(patternNewColour, "Fluffy with flower purple");
	
	
	TriggerPattern endPattern;
	TriggerSettingsRocket* triggerBigFlower = getSphereFlowerRocket(140);
	
	triggerBigFlower->hue = 140;
	triggerBigFlower->saturation = 200;
	triggerBigFlower->radius= 10;
	
	endPattern.addTriggerSettings(triggerFlower);
	endPattern.addTriggerSettings(triggerBigFlower);
	endPattern.addTriggerSettings(triggerBanger);
	endPattern.addTriggerSettings(triggerFountain);
	
	addTriggerPattern(endPattern, "Big ending with big cyan flowers");

	 
	 
}
Ejemplo n.º 8
0
SceneRetro :: SceneRetro(string scenename, ParticleSystemManager& psm, ofRectangle triggerarea) : Scene(scenename, psm, triggerarea) {

	pixelSize = 4;
	
	
	TriggerRocket fastTriggerTemplate(psm);
	fastTriggerTemplate.restoreSpeed = 4;
	fastTriggerTemplate.minTriggerInterval = 0.1;
	fastTriggerTemplate.hue = 240;
	fastTriggerTemplate.saturation = 200;
	
	TriggerRocket mediumTriggerTemplate(psm, 8);
	mediumTriggerTemplate.restoreSpeed = 3;
	mediumTriggerTemplate.minTriggerInterval = 0.2;
	mediumTriggerTemplate.hue = 240;
	mediumTriggerTemplate.saturation = 200;
	
	TriggerRocket triggerRocketRed(mediumTriggerTemplate);
	TriggerRocket triggerRocketCyan(mediumTriggerTemplate);
	TriggerRocket triggerFountainRed(fastTriggerTemplate);
	TriggerRocket triggerFountainRedHigh(fastTriggerTemplate);
	TriggerRocket triggerFountainCyan(fastTriggerTemplate);
	TriggerRocket triggerFountainCyanHigh(fastTriggerTemplate);
	
	triggerRocketCyan.hue =
		triggerFountainCyan.hue =
		triggerFountainCyanHigh.hue = 120;
	
	
	
	RocketSettings redRocket = getRetroRocket();
	RocketSettings cyanRocket = getRetroRocket(120);
	RocketSettings redFountainLow = getRetroFountain();
	RocketSettings cyanFountainLow = getRetroFountain(180, -70);
	RocketSettings redFountainHigh(redFountainLow);
	RocketSettings cyanFountainHigh(cyanFountainLow);
	redFountainHigh.startSpeedMin = cyanFountainHigh.startSpeedMin = 1300;
	redFountainHigh.startSpeedMax = cyanFountainHigh.startSpeedMax = 1900;
	
	
	triggerRocketRed.addRocketSettings(redRocket);
	triggerRocketCyan.addRocketSettings(cyanRocket);
	triggerFountainRed.addRocketSettings(redFountainLow);
	triggerFountainCyan.addRocketSettings(cyanFountainLow);
	triggerFountainRedHigh.addRocketSettings(redFountainHigh);
	triggerFountainCyanHigh.addRocketSettings(cyanFountainHigh);
	
	
	
	TriggerPattern emptyPattern;
	addArrangement(emptyPattern);
	
	
	
	TriggerPattern patternCyanChevrons;
	patternCyanChevrons.addTrigger(triggerFountainCyan);
	//patternCyanChevrons.addTrigger(triggerFountainCyanHigh);
	addArrangement(patternCyanChevrons);
	
	
	
	TriggerPattern fatRockets;
	float colours [4] = {170, 0, 220, 0};
	
	for(int i = 0; i<4; i++) {
		TriggerRocket triggerRocketFat(mediumTriggerTemplate);
		
		
		triggerRocketFat.radius = 5;
		triggerRocketFat.addRocketSettings(getFatRocket(colours[i]));
		triggerRocketFat.hue = colours[i];
		fatRockets.addTrigger(triggerRocketFat, 0,0,0.75);
	}
	
	
	addArrangement(fatRockets);

	
	
	TriggerPattern patternRedChevrons;
	patternRedChevrons.addTrigger(triggerFountainRed);
	patternRedChevrons.addTrigger(triggerFountainRedHigh);
	addArrangement(patternRedChevrons);

	
	
	TriggerPattern fatRockets2;
	float colours2 [4] = {220, 180, 120, 180};
	
	for(int i = 0; i<4; i++) {
		TriggerRocket triggerRocketFat(mediumTriggerTemplate);
		
		
		triggerRocketFat.radius = 5;
		triggerRocketFat.addRocketSettings(getFatRocket(colours2[i]));
		triggerRocketFat.hue = colours2[i];
		fatRockets2.addTrigger(triggerRocketFat, 0,0,0.75);
	}
	
	addArrangement(fatRockets2);

	
	TriggerPattern patternCyanMix;
	patternCyanMix.addTrigger(triggerRocketCyan);
	patternCyanMix.addTrigger(triggerFountainCyan);
	patternCyanMix.addTrigger(triggerFountainCyan);
	addArrangement(patternCyanMix);
	
	
	TriggerPattern patternRedMix;
	patternRedMix.addTrigger(triggerRocketRed);
	patternRedMix.addTrigger(triggerFountainRed);
	patternRedMix.addTrigger(triggerFountainRed);
	addArrangement(patternRedMix);

	
	TriggerPattern patternCyanRockets;
	patternCyanRockets.addTrigger(triggerRocketCyan);
	patternCyanRockets.addTrigger(triggerRocketCyan);
	
	patternCyanRockets.addTrigger(triggerFountainCyan);
	addArrangement(patternCyanRockets);
	
	
	TriggerPattern patternRedRockets;
	patternRedRockets.addTrigger(triggerRocketRed);
	patternRedRockets.addTrigger(triggerRocketRed);
	patternRedRockets.addTrigger(triggerFountainRed);
	
	addArrangement(patternRedRockets);
	
	

	
};