我想做一個小動畫,一個交通燈的女巫警告橋會打開(黃燈),當橋是動畫時紅燈(只是向下移動)和綠色的燈光。現在我只是希望它重複着同樣的動畫及以上如果()似乎不工作 - C++ opengl閒置功能
在空閒功能我有這樣的代碼:
if(bridgeAnimating==0);
{
printf("\nwtf,%d\n",bridgeAnimating);
fflush(stdout);
startBridge=1;
}
animateBridge();
而這就是我得到的輸出: 跆拳道,0 跆拳道,1名 跆拳道,1 ...等
bridgeAnimating是startBridge INT startBridge = 0的全局變量這樣的; int bridgeAnimating = 0;
這裏是功能:
void animateBridge()
{
float static speed=0.25;
int static upwards=1;
double static warnTime=teid;
warnTime-=dt;
if(startBridge==1)
{
upwards=1;
bridgeAnimating=1;
warnTime=teid;
startBridge=0;
//printf("Here:Animating=%d",bridgeAnimating); //if un-commented this gets printed!!!
}
if(bridgeAngle<30 && upwards==1 && warnTime<=0)
{
bridgeAngle+=speed;
red=2;
green=0.9;
orangeRed=0.9;
orangeGreen=0.6;
bridgeAnimating=1;
printf("Upwnwards");
}else if(bridgeAngle>0 && upwards==0 && warnTime<=0)
{
bridgeAngle-=speed;
red=2;
green=0.9;
orangeRed=0.9;
orangeGreen=0.6;
bridgeAnimating=1;
printf("Downwards");
}else if(warnTime>0)
{
orangeRed=2;
orangeGreen=1.19;
red=0.9;
green=0.9;
bridgeAnimating=1;
//printf("Here"); //This gets printed if "un-commented"
}else
{
red=0.9;
green=2;
orangeRed=0.9;
orangeGreen=0.6;
bridgeAnimating=0;
printf("anim 0");//this doesn't print out
}
if(bridgeAngle>=30)
{
upwards=0;
}
}
我檢查了文件,這些2個變量的其他參考資料和有沒有。 它一定是錯誤的算法,但我無法弄清楚。 我有很多全局變量,這是我添加的最後一個可能是堆棧已滿? 這裏有什麼問題?
是'startBridge'和'bridgeAngle'真的是數字嗎? – Shaheer 2012-02-16 13:55:48