我有一个非常简单的游戏,并且该游戏的主要中心游戏屏幕为ViewController。还有一个顶视图,显示了您需要经过的下一个对手如何。
如您所见,白色区域是游戏区域,蓝色顶视图是下一个对手的状态。
我要做的是,当您超越对手时,最后一个会向下运动,但不会在后面的白色区域运动。我正在尝试通过代码创建这种效果,这里是:
-(void)animationPlayerDawnwaords{
self.backgroundColor = COLOR_BLUE;
[_playerView setCenter:CGPointMake(self.center.x, self.center.y)];
[_playerView setHidden:NO];
[UIView animateWithDuration:1.0 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
[_playerView setCenter:CGPointMake(self.center.x, self.center.y * 4.0 )];
} completion:^(BOOL finished) {
//
}];
}
但是结果是:
我想做这样的事情:
我知道最后一张图片不是来自同一项目,但是如果是的话,我不会问这个大声笑(;
任何实现这一目标的方式将不胜感激,谢谢
编辑
主ViewController的白色区域是它的子视图,蓝色区域是它的子视图,我的意思是,它位于顶部。因此,不可能使白色区域成为最顶视图。希望我设法清楚地说明了我的自我。
有两种方法:
第一:一个班轮
[self.view bringSubviewToFront:self.yourWhiteView];
// this line of code will place your white view on top of everything else
第二:如果您想要更多控制权
#import "QuartzCore/QuartzCore.h"
int whiteViewZ = self.yourWhiteView.layer.zPosition;
// set your playerview z position to be behind your white view
self.playerView.layer.zPosition = whiteViewZ - 1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句