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(); }
// 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); }