前へ Xcc>クォーツの世界 次へ

ググれ

 で、 google で Web 全体を NSTimer で検索してみると結構、日本語で説明されている。

 最初にヒットする「Cocoaでいこう! Macらしく 第35回」は MOSA 関係の人みたいですな。がんばってるな〜 MOSA 。これ読むと

timer = [[NSTimer scheduledTimerWithTimeInterval:0
target:self
selector:@selector( timerMethod:)
userInfo:0
repeats:YES
] retain];
てやれば、自分の
- (void)timerMethod:( NSTimer *)aTimer
{
}
ってメソッドを定期的に呼び出してくれるって事がわかる。

Cocoaでいこう! Macらしく 第35回

 MOSA会員による NSTimer 使用例の解説。

詳細

33回転

あとは、
drawAlphaRects
の中で、60個でリングを形成してるバーの中から指定したものをハイライトバーに変更できるようにしておいて、指定値をint型変数にもたせ timerMethod を変化させていけばいいってことになる。
int startRect;
何番目のバーをハイライトするか指定する変数

まず、startRect に連動させてハイライトバーを変更可能にする手っ取り早い方法は

CGContextRotateCTM
で座標全体を回転させていることに注目して for ループの外で CGContextRotateCTM を startRect 分、先に回転させておくという方法。つまり
CGContextRotateCTM(context, rotateAngle * startRect);
とすればいいはず。試しに numRects 宣言の下に startRect 宣言を置いて
   ・

int numRects = 60;
int startRect = 33;

   ・

でもって for ループの前に CGContextRotateCTM を追加
  ・

CGContextRotateCTM(context, rotateAngle * startRect);
for(tint = 1.0; 0 < tint ; tint -= tintAdjust){

  ・

で実行すると〜

startRect = 33

33に特に意味はない。60分割されているので、15や30、45より変化がわかりやすいと思って決めた値。

いけますね〜。