【问题标题】:cocos2d add a 'ready-go!' animation before the gamecocos2d 添加一个 'ready-go!'比赛前的动画
【发布时间】:2011-06-13 07:06:12
【问题描述】:

我想添加一个“准备就绪!”游戏前和游戏中的动画(需要暂停游戏) 我尝试使用[CCDirector sharedDirector] pushScene: [Anim scene]],但是虽然动画场景的背景小于窗口大小,但透明区域是黑色的,而不是看穿下面的场景。

我该如何实现它? (或者我根本不需要使用 pushScene?)

这里是 GameScene 的代码,onEnter 我安排“计数”(计时器),onExit 我取消安排。

-(void) onEnter {
    GameManager* sharedManager = [GameManager sharedManager];
    [[CCScheduler sharedScheduler] scheduleSelector:@selector(count) forTarget:sharedManager interval:1.0f paused:NO];
    [super onEnter];
}

- (void)onExit {
    GameManager* sharedManager = [GameManager sharedManager];
    [[CCScheduler sharedScheduler] unscheduleSelector:@selector(count) forTarget:sharedManager];
    [super onExit];
}

【问题讨论】:

    标签: iphone ios animation cocos2d-iphone


    【解决方案1】:

    问题解决了。我只是为“ready-set-go”动画专门创建一个场景,将必要的参数传递给 AnimationScene,然后使用调度程序从 AnimationScene 启动游戏。 结果不如 GameScene 顶部的“ready-go”标志好,因为我无法制作透明效果,但我尝试模仿游戏场景的背景,结果非常好。

    【讨论】:

      【解决方案2】:
      - (void)pauseButtonTapped {
          [[CCDirector sharedDirector] pause];
          [self pauseSchedulerAndActions];
      }
      
      - (void)playButtonTapped {
          [[CCDirector sharedDirector] resume];
          [self resumeSchedulerAndActions];
      }
      

      【讨论】:

      • 不是我要问的。我需要让 AnimScene 看穿。 (不隐藏 GameScene。
      • 也许您需要将其添加到场景上方的图层并调整其 alpha,而不是作为新场景
      • 我需要一个新场景,因为我需要让 [CCDirector 暂停 GameScene 中的所有内容。
      • CCDirector 将暂停所有内容,而不仅仅是一个场景。要暂停您的“游戏场景”,请创建一个方法来取消所有驱动游戏时间和逻辑的调度程序。
      • 是的,当然我想暂停一切。我所有的游戏逻辑都在游戏场景中。计时器不是我安排的全部。
      【解决方案3】:

      CC序列。在启用 AI 计时器或任何运行游戏对象的程序之前,请运行 CCSequence 操作。

      【讨论】:

      • 安排了太多东西。我希望我可以使用 ccdirector 来暂停所有这些。但推送的场景必须是透明的。
      • 如果安排了太多事情,您能否不将所有调度调用转移到一种方法中,而只调用该一种方法来启用调度?对禁用计划执行相同操作吗?
      • 不,我要安排的方法来自不同模块的不同类
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 2020-05-25
      • 2012-07-18
      • 2021-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多