1

この件に関してはどこにも助けがありませんでした.GBAのポケモン/ゼルダゲームで見られるような動きをシミュレートするために、直交タイルマップに仮想D-Padを実装する方法を見つけようとして立ち往生しています.

誰かが私が見るべき良いチュートリアルを持っていますか? そうでない場合は、サンプルコードもいただければ幸いです。

4

1 に答える 1

2

SneakyInput は、私がゲームで D-Pad に使用したものです。クラスは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

次に、各ボタンのサイズと画面上の位置を宣言します。

-(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);
}

完全なコード ブロックが必要な場合は、私がお手伝いしますが、長いので、ここにすべてを入力したくありません。お役に立てれば。

于 2012-03-04T13:12:33.433 に答える