【问题标题】:Can't hide CCMenuItem when using In-App-Purchase使用应用内购买时无法隐藏 CCMenuItem
【发布时间】:2012-10-02 18:29:33
【问题描述】:

这次我想问一下有没有人在cocos2d中禁用按钮(CCMenuItemImage)有这么奇怪的问题。我已连接应用内购买,购买完成后触发以下功能

  - (void)productPurchased:(NSNotification *)notification {

        [NSObject cancelPreviousPerformRequestsWithTarget:self];
        waitingForStore = FALSE;
        [loop setVisible:FALSE];
       [buyItem setVisible:FALSE];
       //  setAccessibilityElementsHidden:YES];

        NSString *productIdentifier = (NSString *) notification.object;
        NSLog(@"Purchased: %@", productIdentifier);


    }



waitingForStore = FALSE;
 [loop setVisible:FALSE];

这两个操作工作正常,但问题出在第三个。我想让“购买”按钮不可见。

 [buyItem setVisible:FALSE];

这个在这个地方没有做任何事情(按钮仍然可见并且可以访问)。如果我将在代码的另一部分使用它,它就可以正常工作-但在这里....不是。试图改变位置也不起作用。 会不会跟inAppPurchase线程什么的有关?

【问题讨论】:

  • 当你打电话给[buyItem setVisible:FALSE];时,你检查buyItem是否为零?

标签: cocos2d-iphone in-app-purchase ccmenuitem


【解决方案1】:

我找到了原因。当我两次调用苹果商店并创建两个按钮时,这是我的错误。 :) 所以,它可以关闭。

【讨论】:

    【解决方案2】:

    我了解您的问题。如果要禁用 menuitem,可以设置 menuitem.isEnabled 属性。

    如果你想隐藏按钮,你可以设置属性menuitem.visible = NO

    如果这不起作用,您也可以使用[menuitem runaction:[CCFadeOut actionWithDuration:1.0f] ]. 然后根据您的要求使用 FadeIn。

    这是您的替代选择。

    【讨论】:

    • 嗨。感谢您的答复。不幸的是,唯一有效的操作是 CCFadeOut,尝试通过操作更改位置也不起作用。使用 CCFadeOut 仍然可以按下按钮,即使它根本不可见。所以我正在考虑实现基于 CCSprite 的按钮样式行为代码(因为精灵是唯一响应更改此位置可见性的对象)。还有一个问题......为什么:)))
    • 我找到了原因。当我两次调用苹果商店并创建两个按钮时,这是我的错误。 :) 所以,它可以关闭。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多