今オプションの配置を地霊殿の霊夢・紫装備のようにパワーに応じた数のオプションが自機の周りを回転するのを再現したいのですが、どうもうまくいきません。
int op_num(int n){ if(n>=100 && n<200){ return 1; } if(n>=200 && n<300){ return 2; } if(n>=300 && n<400){ return 3; } if(n>=400){ return 4; } return 0; } //オプションのぼんぼん計算 void calc_option_bb(){ int num=op_num(ch.power); if(ch.power>=100){//パワー100以上ならオプションをつける for(int i=0;i<num;i++){ if(CheckStatePad(configpad.slow)==0){//低速移動中じゃないなら option_bb.x=ch.x+cos(PI2/num*i+PI2/80*option_bb.cnt)*50; option_bb.y=ch.y+sin(PI2/num*i+PI2/80*option_bb.cnt)*50; } else{ option_bb.x=ch.x+cos(PI2/num*i+PI2/80*option_bb.cnt)*25; option_bb.y=ch.y+sin(PI2/num*i+PI2/80*option_bb.cnt)*25; } option_bb.cnt++; } for(int i=0;i<num;i++){ if(option_bb.flag==0) option_bb[i].flag = 1; } } else{ if(option_bb[0].flag==1) for(int i=0;i<num;i++){ option_bb[i].flag = 0; } } }
のようにしてop_num()で出てきた値を使ってPI2を分割してみましたが、毎回位置がずれてしまいます;
開発環境は
Windows xp
VC++ 2008
です