欢迎来到澳门ag有限公司

动漫

《月色真美》主视觉图公布 2017年4月开播

发布者: 发布时间:2020-03-26 11:11 浏览量:134

图片 1

1.系统提供的转场动画

目前,系统给我们提供了push/pops和present/dismiss两种控制器之间跳转方.当然,通过设置UIModalTransitionStyle属性,可以实现下面4种modal效果,相信大家都比较熟悉了,这里就不再展示效果图.

 UIModalTransitionStyleCoverVertical // 从下往上, UIModalTransitionStyleFlipHorizontal // 水平翻转 UIModalTransitionStyleCrossDissolve // 淡入淡出 UIModalTransitionStylePartialCurl // 卷角翻页

核心提示:在新公开的以“Brandnew TV Animation”为题的官网上公开了一部分关于《ProjectAttack》的消息,《ProjectAttack》将会被制作成TV系列动画,负责执导这部动画的是荒木哲郎,负责系列构成的是小林靖子,负责人物设定的是浅野恭司,负责制作这部动画的是WIT STUDIO。

TV动画《月色真美》宣传图公布,预计2017年4月开播。该动画的故事讲述了初中三年学生安昙小太郎和水野茜在升上三年级后初次同班,在与同班同学和大人们的纠葛中慢慢成长,他们在为自己的改变不安的同时,也对彼此产生了恋爱的意识。

2.自定义转场动画使用场景

系统给我们提供的转场动画效果较少,并且有时想对系统的效果做一些修改.例如:我们使用淡入淡出的modal效果,系统的动画时间我们不满意,希望让动画快点,或者慢点.系统并没有给我提供直接修改的属性或者方法,那么,这时我们不得不考虑使用自定义转场动画来实现我们想要的效果.

目前2012的TV动画,剧场版等都已接近尾声,而2013年的动画情报却都纷至沓来。果然是新的一年,新的期待。沸沸扬扬传了大半年的动画《ProjectAttack》在12月2日也正式公开了官网,这意味着什么?意味着这部动画即将开始制作并且和广大观众见面咯!

另外,动画由feel.公司制作,岸诚二担任导演,柿原优子负责系列构成和剧本,角色原案由loundraw负责。

3.自定义转场动画的实现步骤

 detailVc.modalPresentationStyle = UIModalPresentationCustom;

detailVc.transitioningDelegate = self
  • 可以抽一个工具类,专门负责转场动画
  • 确定谁负责弹出动画
-(id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source { self.isPresnted = YES; return self;}
  • 确定谁负责动画消失
- (id<UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed { self.isPresnted = NO; return self;}

上面都返回self,说明当前控制器即负责弹出动画又负责动画消失,所以具体的转场动画在当前控制器中进行.

  • 先确定转场动画时间间隔
- (NSTimeInterval)transitionDuration:(id<UIViewControllerContextTransitioning>)transitionContext { return 1.0;}
  • 再实现具体动画(由于当前控制器即负责弹出动画,又负责消失动画,所以定义一个Bool类型属性isPresnted加以区分)
- animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext { if (self.isPresnted == YES) { //这里做弹出动画 } else { //这里做消失动画 }}

也可以让不同的控制器分别负责弹出和消失动画,这样就不需要定义一个专门用于区分的属性.个人建议最好是抽取一个专门负责转场动画的工具类,让该工具类负责所有转场动画,这样,不管是从业务逻辑上还是代码的复用性上都更加好.当然,这样做存在的一个弊端就是,转场动画中需要用到的一些属性必须通过定义变量,代理和Block等方式传递进来,而使用不同的控制器来管理弹出和消失动画在获取属性上更加方便.具体怎样做,也就仁者见仁,智者见智了.

在新公开的以Brandnew TV Animation为题的官网上公开了一部分关于《ProjectAttack》的消息,《ProjectAttack》将会被制作成TV系列动画,负责执导这部动画的是荒木哲郎,负责系列构成的是小林靖子,负责人物设定的是浅野恭司,负责制作这部动画的是WIT STUDIO。其他相关信息目前暂时还没有公布。

下面来具体实现一个转场动画效果吧

** 由于实现动画的核心代码在第四步,这里也就只看animateTransition:这一个方法啦!**

  • 从上往下的Modal效果
- animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext { if (self.isPresnted == YES) { //1.取出view UIView *presentedView = [transitionContext viewForKey:UITransitionContextToViewKey]; //2.放入containerView [[transitionContext containerView]addSubview:presentedView]; //3.设置基本属性 presentedView.frame = CGRectMake(0, -667, 375, 667); //4.动画 [UIView animateWithDuration:[self transitionDuration:transitionContext] animations:^{ presentedView.frame = CGRectMake(0, 0, 375, 667); }completion:^(BOOL finished) { [transitionContext completeTransition:YES]; }]; } else { //1.取出view UIView *dismissedView = [transitionContext viewForKey:UITransitionContextFromViewKey]; //2.放入containerView [[transitionContext containerView]addSubview:dismissedView]; //3.动画 [UIView animateWithDuration:[self transitionDuration:transitionContext] animations:^{ dismissedView.frame =CGRectMake(0, -667, 375, 667); }completion:^(BOOL finished) { [transitionContext completeTransition:YES]; }]; }}

图片 2modal1.gif

  • 模仿系统淡入淡出效果
- animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext { if (self.isPresnted == YES) { //1.取出view UIView *presentedView = [transitionContext viewForKey:UITransitionContextToViewKey]; //2.放入containerView [[transitionContext containerView]addSubview:presentedView]; //3.设置基本属性 presentedView.alpha = 0; //4.动画 [UIView animateWithDuration:[self transitionDuration:transitionContext] animations:^{ presentedView.alpha = 1.0; }completion:^(BOOL finished) { [transitionContext completeTransition:YES]; }]; } else { //1.取出view UIView *dismissedView = [transitionContext viewForKey:UITransitionContextFromViewKey]; //2.放入containerView [[transitionContext containerView]addSubview:dismissedView]; //3.设置基本属性 dismissedView.alpha = 1; //4.动画 [UIView animateWithDuration:[self transitionDuration:transitionContext] animations:^{ dismissedView.alpha = 0; }completion:^(BOOL finished) { [transitionContext completeTransition:YES]; }]; }}

图片 3淡入淡出.gif

  • 动画的时间可以从ransitionDuration:方法获取
  • 通过UITransitionContextToViewKey和UITransitionContextFromViewKey两个Key分别获取弹出和消失动画的View(注意别混淆两个Key)
  • 要将做动画的View加入到专门用于动画的containerView中这里只介绍怎样实现转场动画,至于其他好玩NB的效果,大家可以自己试着实现,后面我也会抽时间研究其他效果

另一方面,《ProjectAttack》将会在12月8日举行记者招待会,正式发表动画的制作决定。当天的发布会会在日本NIKONIKO视频网站进行现场直播。动画的声优阵容以及其他情报也会在当天的发布会上公开。

从目前的企划阶段的宣传攻势已经可以看出《ProjectAttack》将会是一部值得我们期待的新作动画。首先谈谈负责执导这部动画的导演荒木哲郎,2006年荒木哲郎首次担任导演执导动画《DEATH NOTE》,动画一经播出后在整个东南亚掀起热潮,获得了非常高的评价,而之后他亲手操刀制作的动画青之文学系列《樱之森之满开之下 》,《学园默示录HIGHSCHOOL OF THE DEAD》,《罪恶王冠》等等,无一不是吸引人气的话题作品。

栏目热搜词

关于我们

网址: http://www.quanmeiyundong.com