ちょこちょこiPhoneアプリ開発もやってます、さとうです。

iPhoneでもTween的な動きをつけたいってことでフェードイン、フェードアウトをやってみようと思います。
Flashでよく使われているTweenerと比較して書いてみたいと思います。

まずは簡単に

  1. alphaを0→1に0.5秒で変化
  2. 1秒停止
  3. 1→0に0.5秒で変化

というのを書いてみたいと思います。

 AS3:

var sp:Sprite = new Sprite();
sp.graphics.beginFill(0xff0000, 1);
sp.graphics.drawRect(0, 0, 320, 480);
sp.graphics.endFill();
sp.alpha = 0;

function fadeIn()
{
Tweener.addTween(sp, {alpha:1, time:0.5, transition:"easeoutcubic", onComplete:fadeOut});
}

function fadeOut()
{
Tweener.addTween(sp, {alpha:0, time:0.5, delay:1.0, transition:"easeoutcubic", onComplete:fadeOut});
}

fadeIn();

Objective-C:

UIView *sp = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,480)];
sp.backgroundColor = [UIColor redColor];
sp.alpha = 0;

- (void)fadeIn
{
	[UIView beginAnimations:@"fadeIn" context:nil];
	[UIView setAnimationDuration:0.5f];
	[UIView setAnimationDelegate:self];
	[UIView setAnimationDidStopSelector:@selector(fadeOut)];
	[sp setAlpha:1];
	[UIView commitAnimations];
}

- (void)fadeOut
{
	[UIView beginAnimations:@"fadeOut" context:nil];
	[UIView setAnimationDelay:1.0f];
	[UIView setAnimationDuration:0.5f];
	[UIView setAnimationDelegate:self];
	[sp setAlpha:0];
	[UIView commitAnimations];
}

[self fadeIn];

 若干書き方の違いはありますが、同じようなキーワードがあるのでなんとなく予想できますね。
Flashやってる人でもぜひ挑戦してみるといいと思います。ではでは。

HTML5飯