ある画像がスライドしながら次第に大きくなっていく状態を300カウントでループし描き続けようと思い、
次のようにしてみました。
A:サイズの倍率
B:初期倍率
C:変化量
として、画像サイズが256カウントでA=1(倍)となり、300カウント後に最初に戻るというものです。
float A,B,C; int cnt; B=0.5f; C=0.5f; cnt++; while(300<=cnt)cnt-=300; A=B+C*(float)cnt/256;このままでも動作するのですが、複数用いるため/256(*0.00390625fとしております)部分がネックとなりPSP上の動作が不安定です。
そこで/256は右シフトでも表せることを利用したのですが
A=B+C*(float)(cnt>>8);
とやるとうまくいきませんでした。どのように書けばいいのでしょうか?