私はこれを試しました(cocos2dバージョン2.x)。スプライトは水平スライダートラックであり、進行タイマーの設定により、右から左のバーに向かって「100でいっぱい」、0で空になります。
_pt = [CCProgressTimer progressWithSprite:[CCSprite spriteWithFile:@"slider_track.png"]];
CCProgressFromTo *ft = [CCProgressFromTo actionWithDuration:20 from:100 to:0];
_pt.position= ccp(kScreenWidth/2, kScreenHeight/2);
_pt.type=kCCProgressTimerTypeBar;
_pt.reverseDirection= NO;
_pt.midpoint=ccp(0,1);
_pt.barChangeRate= ccp(1,0);
[self addChild:_pt];
[_pt runAction:ft];
[self schedule:@selector(watchProgressTimer:) interval:1.0];
-(void) watchProgressTimer:(ccTime) dt {
MPLOG(@"Progress timer percentage is %f ",_pt.percentage);
if(_pt.percentage==0.f){
[self unschedule:@selector(watchProgressTimer:)];
[self removeChild:_pt cleanup:YES];
[self dowhateverYouDoAtZero] ;
}
}
-(void) dowhateverYouDoAtZero{
// your business logic for expired timer here
MPLOG(@"Bang , time's up !!!");
}
これをコンソールに表示します
-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは95.254395-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは90.169464-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは85.168495-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは79.918976 MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは74.670525-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは69.669678-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは64.667480-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは59.419960-[MP :]:進行タイマーのパーセンテージは54.168777-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは49.167599-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは43.920143-[MPGameSequencerwatchProgressTimer:]:プログレスタイマーのパーセンテージは38.919609-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは33.919609-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは28.917831-[MPGameSequencer watchProgressTimer:]パーセンテージは23.669678-[MPGameSequencerwatchProgressTimer:]:進行タイマーのパーセンテージは18.667908-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは13.418236-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは8.168266-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは3.167412-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは0.000000です-[MPGameSequencer dowhateverYouDoAtZero]:バン、タイムアップ!!!920143-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは38.919609-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは33.919609-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは28.917831-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは23です。 [MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは18.667908-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは13.418236-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは8.168266-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは3.167412-[MPGameSequen watchProgressTimer:]:進行タイマーのパーセンテージは0.000000です-[MPGameSequencer dowhateverYouDoAtZero]:バン、時間切れです!!!920143-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは38.919609-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは33.919609-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは28.917831-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは23です。 [MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは18.667908-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは13.418236-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは8.168266-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは3.167412-[MPGameSequen watchProgressTimer:]:進行タイマーのパーセンテージは0.000000です-[MPGameSequencer dowhateverYouDoAtZero]:バン、時間切れです!!!プログレスタイマーのパーセンテージは38.919609-[MPGameSequencerwatchProgressTimer:]:プログレスタイマーのパーセンテージは33.919609-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは28.917831-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは23.669678-[MPGameSequencer watchProgressTimer:]パーセンテージは18.667908-[MPGameSequencerwatchProgressTimer:]:進行タイマーのパーセンテージは13.418236-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは8.168266-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは3.167412-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは0.000000-[MPGameSequencer dowhateverYouDoAtZero]:バン、タイムアップ!!!プログレスタイマーのパーセンテージは38.919609-[MPGameSequencerwatchProgressTimer:]:プログレスタイマーのパーセンテージは33.919609-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは28.917831-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは23.669678-[MPGameSequencer watchProgressTimer:]パーセンテージは18.667908-[MPGameSequencerwatchProgressTimer:]:進行タイマーのパーセンテージは13.418236-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは8.168266-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは3.167412-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは0.000000-[MPGameSequencer dowhateverYouDoAtZero]:バン、タイムアップ!!!919609-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは28.917831-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは23.669678-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは18.667908-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは13.418 [MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは8.168266-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは3.167412-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは0.000000-[MPGameSequencer dowhateverYouDoAtZero]:バン、タイムアップ!!!919609-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは28.917831-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは23.669678-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは18.667908-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは13.418 [MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは8.168266-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは3.167412-[MPGameSequencer watchProgressTimer:]:進行タイマーのパーセンテージは0.000000-[MPGameSequencer dowhateverYouDoAtZero]:バン、タイムアップ!!!プログレスタイマーのパーセンテージは18.667908-[MPGameSequencerwatchProgressTimer:]:プログレスタイマーのパーセンテージは13.418236-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは8.168266-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは3.167412-[MPGameSequencer watchProgressTimer:]:プログレスタイマーパーセンテージは0.000000です-[MPGameSequencerdowhateverYouDoAtZero]:バン、タイムアップ!!!プログレスタイマーのパーセンテージは18.667908-[MPGameSequencerwatchProgressTimer:]:プログレスタイマーのパーセンテージは13.418236-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは8.168266-[MPGameSequencer watchProgressTimer:]:プログレスタイマーのパーセンテージは3.167412-[MPGameSequencer watchProgressTimer:]:プログレスタイマーパーセンテージは0.000000です-[MPGameSequencerdowhateverYouDoAtZero]:バン、タイムアップ!!!