Beispiel #1
0
void SpikeGraph::draw() {
	update();

	ofPushMatrix();
	{
		ofTranslate(x, y);

		tline1.draw();
		tline2.draw();

		for (int i = 0; i < texts.size(); i++)
			texts[i].draw();

		// Draw box
		if (currentEvent.id == 0) {
			// Intro
			boxIntro();
		}
		else {
			ofNoFill();
			ofSetColor(COLOR_LINE, 100);
			for (float i = 0.5; i <= w + 0.5; i += 15)
				ofLine(i, 15, i, h + 15);
			for (float i = 0.5; i <= h + 0.5; i += 15)
				ofLine(0, i + 15, w, i + 15);
		}

		// Draw spikes
		ofTranslate(0, 15);
		maskShader.begin();
		float absx = 1515;

		// Sweep mask from right to left on intro
		if (currentEvent.id == 0) {
			float maskW = easeOut(getTime() - 120, w, 0, 50);
			maskShader.setUniform1f("abspos", absx + maskW);
			maskShader.setUniform1f("size", w - maskW);
		}
		else {
			maskShader.begin();
			maskShader.setUniform1f("abspos", absx);
			maskShader.setUniform1f("size", w);
		}

		ofNoFill();
		ofSetColor(COLOR_95);
		ofBeginShape();
		for (int i = 0; i < spikesUp.size(); i++)
			drawSpike(spikesUp[i]);
		ofEndShape();
		ofBeginShape();
		for (int i = 0; i < spikesDown.size(); i++)
			drawSpike(spikesDown[i]);
		ofEndShape();
		maskShader.end();
	}
	ofPopMatrix();
}
Beispiel #2
0
// all draw functions that get called in render funciton
void drawGame_Textures(Game * game)
{
	
	drawBackground(game);
	drawSpike(game);
	glBindTexture(GL_TEXTURE_2D, 0);	
	drawWater();
	drawPlatform(game,5);
	drawMissile(game);
	drawSkeleton(game);
	// used to allow non textures objects to maintain their color
	glBindTexture(GL_TEXTURE_2D, 0);	
}