Wednesday, July 4, 2012

Lessons/Stanford: Programming Leassons

Hi!

Here's a quick tip for everyone who wants to learn more and didn't go to college or wants or simply enjoys to get as much information possible:


Enjoy!

PS. I mustn't forget to thank Caue for the hint, I already had atended to the iOS classes but didn't know about the others, so, "Thank you, Cauê (L)"

Monday, May 14, 2012

Cocos2d/Gamecenter: How to implement correctly GameCenter into Cocos2d

Hi,

How's it going there?
Here's a tutorial that i saw loads of people having the same problem and after some research  I figured it out.

I don't know if it's the ideal way, but as it worked I can suit you.

Cocos2D: 1.0.1

What was the problem that it wouldn't work?
R: For some reason the RootViewController wasn't referenced and so it gave me a 12h delay on the project.

Step 1:

Go to you AppDelegate.h


#import <UIKit/UIKit.h>

@class RootViewController;

@interface AppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
RootViewController *viewController;
}

@property (nonatomic, retain) UIWindow *window;
@property (nonatomic, retain) RootViewController *viewController;

@end



Step 2:

Go to your AppDelegate.m


#import "cocos2d.h"



#import "AppDelegate.h"

#import "RootViewController.h"

@implementation AppDelegate

@synthesize window;
@synthesize viewController;

- (void) applicationDidFinishLaunching:(UIApplication*)application
{
// Init the window
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    window.rootViewController = viewController;
//blablablá
// Init the View Controller
viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
viewController.wantsFullScreenLayout = YES;
}

Step 3:

Import GameKit.framework

Step 4:

Implement some code.
I'm going to put only some basic stuff and of course the most important the leaderboard.



-(void)localUserAuthentication{

    

    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    [localPlayer authenticateWithCompletionHandler:^(NSError *error) {
        if (!error){
            isLocalUserAuthenticated = YES;
            //NSLog(@"AUTHETICATION SUCCEDED");
        } else {
            isLocalUserAuthenticated = NO;
            //NSLog(@"AUTHETICATION FAILED");
        }
    }];
}





-(void)showLeaderboard{
    
    
    GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
    if (leaderboardController != NULL) {
        leaderboardController.category = @"com.yourcompany.gamename.leaderboard.whatleaderboard"
        leaderboardController.timeScope =GKLeaderboardTimeScopeAllTime;
        leaderboardController.leaderboardDelegate = self
        AppDelegate *delegate = [UIApplication sharedApplication].delegate
        [delegate.viewController presentModalViewController:leaderboardController animated:YES];
    }
    
    leaderboardController.toolbar.autoresizesSubviews = YES;
    leaderboardController.view.bounds = CGRectMake(0, 0, 480, 320);
    leaderboardController.view.transform = CGAffineTransformMakeRotation(CC_DEGREES_TO_RADIANS(90));
}



-(void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController{
    CCMenu* gamemenu = (CCMenu*)[self getChildByTag:kGameMenu];
    gamemenu.isTouchEnabled = YES;
    [self show];
    
    AppDelegate *delegate = [UIApplication sharedApplication].delegate
    [delegate.viewController dismissModalViewControllerAnimated:YES];
}



Well, so that's that.
If you guys need any help, just get in contact.
Hasta luego.

Thursday, January 26, 2012

XCode/Archiving: Uploading Archive Problem

How's going, everybody?


Well, here's a quick tip on what can help you when you get the dreadful error while you're uploading your archive to the store:




'iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present'



This is a error that really sucks because, dudes! The last thing after 120 hours working on your code is an error for uploading the thing. But here is what you do:




1)Select your project "stuff" up there;
2)Select the "PROJECT" option;
3)Go to "Architectures";
4)Press on top of the up-and-down arrow;
5)Inserting the "armv6" thing:
    5.1) Delete any option that you have there:
        5.1.1)Select the option;
        5.1.2)Press the "-";
    5.2) Press the "+";
    5.3) Insert the "armv6";
    5.4) Probably you'll need to press some type of confirmation.




That's it.
Cheers.

Friday, January 20, 2012

Cocos2D/Orientation: How to get the orientation you want.


Yo, dudes,

How's it going? Kind of shitty, hun? No Megaupload, no FBI, no WhiteHouse.
What else to do? Well, here goes a fast topic for orientation issues.
Know when you have that real cool game that you're using Cocos2D but want to use Portrait Orientation?
Just do This:


1) Go to "RootViewController.m";
2) Find this piece of code:



#elif GAME_AUTOROTATION == kGameAutorotationUIViewController
//
// EAGLView will be rotated by the UIViewController
//
// Sample: Autorotate only in landscpe mode
//
// return YES for the supported orientations
return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );

3)Change the "UIInterfaceOrientationIsLandscape" to "UIInterfaceOrientationIsPortrait", or any other that you would like. (Just try not using "PortraitUpSideDown" if would be kind of awkward.

Now your code should be something like this:

#elif GAME_AUTOROTATION == kGameAutorotationUIViewController
//
// EAGLView will be rotated by the UIViewController
//
// Sample: Autorotate only in landscpe mode
//
// return YES for the supported orientations
return ( UIInterfaceOrientationIsPortrait( interfaceOrientation ) );


Any problems, get in contact.
Cheers.

Tweet