代码之家  ›  专栏  ›  技术社区  ›  Arbel

Cocos 2D和游戏中心(排行榜问题)

  •  6
  • Arbel  · 技术社区  · 14 年前

    浏览后我真的找不到答案(没有很多关于cocos2d和游戏中心的主题)

    我目前已经设置了沙盒游戏中心,我可以进行身份验证,但是当我创建排行榜时,我假设它是从侧面以肖像方式启动的。试图旋转视图,但什么也没有。我的游戏只能在横向模式下运行。我正在运行beta 3 0.99.5。这是我的代码供参考。

    tempVC = [[RootViewController alloc] init];
    
    GKLeaderboardViewController *leaderboardController = [[[GKLeaderboardViewController alloc] init] autorelease];
    
    if (leaderboardController != nil)
    {
        leaderboardController.leaderboardDelegate = self;
        [[[CCDirector sharedDirector] openGLView] addSubview:tempVC.view];
        [tempVC presentModalViewController:leaderboardController animated:YES];
    }
    

    真的很感谢你的帮助。从cocos2d板没有得到响应。

    [tempVC dismissModalViewControllerAnimated:YES];
    [tempVC.view.superview removeFromSuperview];
    
    8 回复  |  直到 11 年前
        1
  •  2
  •   SomaMan    13 年前

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
    }
    

    [self presentModalViewController: leaderboardController animated: YES];
    
    leaderboardController.view.transform = CGAffineTransformMakeRotation(CC_DEGREES_TO_RADIANS(0.0f));
    leaderboardController.view.bounds = CGRectMake(0, 0, 480, 320);
    leaderboardController.view.center = CGPointMake(240, 160);
    

        2
  •  2
  •   Arbel    13 年前

    [tempVC dismissModalViewControllerAnimated:YES];
    [tempVC.view.superview removeFromSuperview];
    
        3
  •  1
  •   Endre Olah    12 年前

        4
  •  1
  •   RoLYroLLs    12 年前

    [tempVC dismissModalViewControllerAnimated:YES];
    [[[tempVC view] superview] performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:1.2];
    [tempVC performSelector:@selector(release) withObject:nil afterDelay:1.3];
        5
  •  1
  •   Jonny    11 年前

    正确的方法是实现并包括以下类别:

    h

    #import <GameKit/GameKit.h>
    
    @interface GKLeaderboardViewController (additions)
    -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation;
    -(NSUInteger)supportedInterfaceOrientations;
    @end
    

    m

    #import "GKLeaderboardViewController+additions.h"
    
    @implementation GKLeaderboardViewController (additions)
    -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
        return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
    }
    -(NSUInteger)supportedInterfaceOrientations {
        return UIInterfaceOrientationMaskLandscape;
    }
    @end
    
        6
  •  0
  •   lil Z    14 年前

    当我的Cocos2d游戏在风景区的时候,GC在iPad上的肖像发布也有同样的问题。通过从rootviewcontroller(而不是uiviewcontroller)派生GameKit控制器来修复此问题。

    @接口gcController:rootviewController{

        7
  •  0
  •   Ajit Satarkar    12 年前

    当我遇到同样的问题时,我关注康纳·丹曼的博客,这是我的链接。
    http://connordenman.com/post/15554858770/presenting-a-modal-view-controller-in-cocos2d-iphone

        8
  •  -1
  •   Mr. Berna    13 年前

    GKLeaderBoardViewController用于显示默认的排行榜,这是一个仅纵向视图。要显示横向排行榜,您必须实现自己的自定义排行榜视图。

    编辑:自从最初写这篇文章以来,GKLeaderBoardViewController已经被改进为在任何方向上都可以正常工作。