Domanda

non posso davvero trovare la mia risposta dopo la navigazione (non un sacco di argomenti su cocos2d con il centro del gioco)

Al momento ho il mio centro sandbox game impostare e io sono in grado di autenticare, ma quando creo la classifica viene lanciato lateralmente ritratto presumo. Ho provato la rotazione della vista, ma niente. Il mio gioco viene eseguito solo in modalità orizzontale. Sono in esecuzione beta 3 0.99.5. Qui è il mio codice di riferimento.

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];
}

Davvero apprezzerebbe alcun aiuto. Ottenere alcuna risposta dalla scheda cocos2d.

EDIT:

fissi modificando auto-rotazione a CCDirector. Inoltre, ho avuto problemi con la perdita di funzionalità multi-touch dopo aver mostrato GameCenter. Il licenziamento per il consiglio di amministrazione dovrebbe usare questo:

[tempVC dismissModalViewControllerAnimated:YES];
[tempVC.view.superview removeFromSuperview];
È stato utile?

Soluzione 2

fissi modificando auto-rotazione a CCDirector. Inoltre, ho avuto problemi con la perdita di funzionalità multi-touch dopo aver mostrato GameCenter. Il licenziamento per il consiglio di amministrazione dovrebbe usare questo:

[tempVC dismissModalViewControllerAnimated:YES];
[tempVC.view.superview removeFromSuperview];

Altri suggerimenti

= Ho avuto questo problema e si strappava i capelli fuori per giorni, ma alla fine ho ottenuto di lavorare perfettamente in modalità orizzontale, non importa quale modo l'utente sta tenendo il telefono. E 'un po' strano, e se qualcuno sa meglio per favore fatemelo sapere!

1 - devo avere la vista (del controllore che chiama la classifica) in verticale, nel mio caso fatto in IB

2 - Funziona solo se sostenete l'orientamento verticale (anche se sembra paesaggio) -

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

3 - È quindi necessario ridimensionare e ruotare la classifica -

[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);

4 - Hey Presto! Sta lavorando bene. Spero che funziona anche per te.

se può aiutare, ho scoperto che semplicemente rimuovendo il GKLeaderboard dal superview non è davvero sufficiente, quindi dopo aver utilizzato

[tempVC.view.superview removeFromSuperview];

si dovrebbe anche usare

[rilascio tempVC];

Senza questo il GKLeaderboardViewController sta facendo alcune cose strane, come dopo la seconda chiamata non è automatico per sé rotazione nella vista.

Spero che aiuto

L'utilizzo di questo su v1.0.1 cocos2d, ultima versione stabile del 19 aprile 2012, questo in realtà non consente il vc a scomparire animato. Probabilmente l'esecuzione di questo, invece:

[tempVC dismissModalViewControllerAnimated:YES];
[[[tempVC view] superview] performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:1.2];
[tempVC performSelector:@selector(release) withObject:nil afterDelay:1.3];

La corretta era è quello di implementare per inserire questa categoria:

.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

Ha avuto lo stesso problema con GC lancia in verticale su iPad quando il mio gioco era Cocos2d nel paesaggio. Risolto questo derivando il mio controller GameKit da RootViewController invece di UIViewController.

@interface GCController: RootViewController {

Una volta ho avuto lo stesso problema, ho seguito il blog di Connor Denman che lavora per me Ecco il link
  http://connordenman.com/post/15554858770 / presentando-un-modal-view-controller-in-cocos2d-iphone

Un GKLeaderboardViewController viene utilizzato per visualizzare la classifica di default, che è un ritratto unico punto di vista. Per visualizzare una classifica paesaggio, è necessario implementare il proprio punto di vista classifica personalizzata.

Modifica:. Dal momento che la scrittura iniziale di questo, GKLeaderboardViewController è stato migliorato per lavorare bene in qualsiasi orientamento

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top