1

Couldn't really find much help anywhere on this subject-- I'm stuck trying to figure out how to implement a virtual D-Pad on an orthogonal tilemap to simulate movement as seen in the GBA pokemon/zelda games.

Does anyone have a good tutorial i should look at? If not, I'd appreciate example code as well.

Jordan Brown
  • 638
  • 1
  • 5
  • 14

1 Answers1

2

SneakyInput is what I used for my D-Pad in my game, the classes can be found at https://github.com/sneakyness/SneakyInput.

#import "SneakyJoystick.h" 
#import "SneakyButton.h"
#import "SneakyButtonSkinnedBase.h"
#import "SneakyJoystickSkinnedBase.h"

@interface GameplayLayer : CCLayer 
{ 
    SneakyJoystick *leftJoystick; 
    SneakyButton *jumpButton; 
    SneakyButton *attackButton;
}
@end

You then declare the dimensions of each of the buttons and their positions on the screen:

-(void)initJoystickAndButtons 
{
    CGSize screenSize = [CCDirector sharedDirector].winSize;
    CGRect joystickBaseDimensions = CGRectMake(0, 0, 128.0f, 128.0f);
    CGRect jumpButtonDimensions = CGRectMake(0, 0, 64.0f, 64.0f);
    CGRect attackButtonDimensions = CGRectMake(0, 0, 64.0f, 64.0f);
    CGPoint joystickBasePosition;
    CGPoint jumpButtonPosition;
    CGPoint attackButtonPosition;

    joystickBasePosition = ccp(screenSize.width*0.0625f, screenSize.height*0.052f);
    jumpButtonPosition = ccp(screenSize.width*0.946f, screenSize.height*0.052f);
    attackButtonPosition = ccp(screenSize.width*0.947f, screenSize.height*0.169f);
}

If you want the full code block I can help you out, but its long and I don't want to type it all out here. Hope this helps.

Perception
  • 79,279
  • 19
  • 185
  • 195
  • So I understand how to do that part, my question is more how i make the movement on the tilemap nice and animate my "hero" sprite when he is moving – Jordan Brown Mar 04 '12 at 15:01