summaryrefslogtreecommitdiff
path: root/vfg/src/Tag.cpp
blob: 0a478a6347fd2a49190373c891d3573396de503c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "Tag.h"


void Billboard::draw(float x, float y, float scale){
	img.draw(x-(anchorPoint.x*scale),y-(anchorPoint.y*scale),img.getWidth()*scale,img.getHeight()*scale);
}
void Tag::play(int time){
	isPlaying=true;
	startTime=ofGetElapsedTimeMillis()+time;
}
void Tag::playEnd(){
	end=true;
	play();
}
void Tag::draw(float x, float y, float scale) {
	if (ofGetElapsedTimeMillis()>=startTime) {
		float time=((float)ofGetElapsedTimeMillis()-startTime)/duration;
		float yshift=0.0f;
		if (end) {
			if (time<1.0) yshift=pow((time),0.7)-1.0;
		}
		else {
			if (time<0.4) yshift=pow((time/0.4),0.7)-1.0;
			else if (time>0.75) yshift=-pow((time-0.75)/0.25,0.75);
			if ((ofGetElapsedTimeMillis()-startTime)>duration) isPlaying=false;
		}
		img.draw(x-(anchorPoint.x*scale),y-(anchorPoint.y*scale)+(yshift*img.getHeight()*scale),img.getWidth()*scale,img.getHeight()*scale);
	}
}