summaryrefslogtreecommitdiff
path: root/vfg/src/Tag.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'vfg/src/Tag.cpp')
-rwxr-xr-xvfg/src/Tag.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/vfg/src/Tag.cpp b/vfg/src/Tag.cpp
new file mode 100755
index 0000000..e3ad080
--- /dev/null
+++ b/vfg/src/Tag.cpp
@@ -0,0 +1,18 @@
+#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(){
+ isPlaying=true;
+ startTime=ofGetElapsedTimeMillis();
+}
+void Tag::draw(float x, float y, float scale){
+ float time=((float)ofGetElapsedTimeMillis()-startTime)/duration;
+ float yshift=0.0f;
+ 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);
+ img.draw(x-(anchorPoint.x*scale),y-(anchorPoint.y*scale)+(yshift*img.getHeight()*scale),img.getWidth()*scale,img.getHeight()*scale);
+ if ((ofGetElapsedTimeMillis()-startTime)>duration) isPlaying=false;
+}