From 19c84c74efd5b8ffd1fb8184037910c831990d2e Mon Sep 17 00:00:00 2001 From: Comment Date: Wed, 12 Dec 2012 10:57:40 +0000 Subject: version for galway gig --- vfg/src/Tag.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'vfg/src/Tag.cpp') diff --git a/vfg/src/Tag.cpp b/vfg/src/Tag.cpp index bc087e6..0a478a6 100755 --- a/vfg/src/Tag.cpp +++ b/vfg/src/Tag.cpp @@ -4,24 +4,26 @@ 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(){ +void Tag::play(int time){ isPlaying=true; - startTime=ofGetElapsedTimeMillis(); + startTime=ofGetElapsedTimeMillis()+time; } -void Tag::1playEnd(){ +void Tag::playEnd(){ end=true; play(); } void Tag::draw(float x, float y, float scale) { - float time=((float)ofGetElapsedTimeMillis()-startTime)/duration; - float yshift=0.0f; - if (end) { - if (time<1.0) yshift=pow((time),0.7)-1.0; + 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); } - 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); } -- cgit v1.2.3