0

ゲームでレベルの読み込みにMenuLevelを使用しています。http: //www.prioregroup.com/iphone/menulevel.aspx

現時点では、レベルがロックされているかどうかに関係なく、ロードされています。ロックされている場合は、ロードされるべきではありません。どうすればよいですか?ありがとう..

//メニュー項目を作成します

    [menu createMenuItemLevel:1 position:ccp(x, size.height / 2) life:0 locked:NO];  





- (void)menuLevel:(MenuLevel *)menuLevel buttonSelected:(id)source
{
    CCMenuItem *item = (CCMenuItem*)source;
    NSString *msg = [NSString stringWithFormat:@"You have pressed the button # %d", item.tag]; // retrieve level number.. 
            NSLog(@"MenuLevel Sample %@", msg);


// What I want is something like..  if (item.locked == YES) do something

}
4

1 に答える 1

0

userDataプロパティを使用できます。MenuLevel.mファイルに次の行を追加します

- (CCMenuItem*)createMenuItemLevel:(NSInteger)level 
                          position:(CGPoint)position 
                              life:(NSInteger)life 
                            locked:(BOOL)locked
                            target:(id)target
                          selector:(SEL)selector

方法。

if (locked)
{
    item.userData = @"locked";
}
else
{
    item.userData = @"notLocked";
}

そして、buttonSelected:メソッドで、以下に示すようにuserDataを確認します。

NSString *lockString = (NSString *)item.userData;
if ([lockString isEqualToString:@"locked"])
{
    // Locked level
}
else
{
    // Unlocked
}
于 2012-12-15T05:03:16.387 に答える