2
當菜單被點擊時,下面的塊將被調用。objective c將塊轉換爲選擇器
CCMenuItem* iconItem = [CCMenuItemSprite itemFromNormalSprite:icon
selectedSprite:icon2
block:^(id sender) {
[self buttonClickedWithUnlocked:unlocked world:world];
}];
我可以將參數傳遞給塊內的方法。
但現在我正在翻譯obj-c到C++。因此塊不被支持。我需要使用像選擇:
CCMenuItem* iconItem =
CCMenuItemSprite::itemFromNormalSprite(icon, icon2, this,
menu_selector(SomeClass::buttonClickedWithUnlockedWorld(unlocked, w)));
,但我不能夠在參數(不選擇支持)來傳遞 那麼有沒有任何其他的方式做到這一點?
如果你不使用C++,選擇的對象 - 版本是:
CCMenuItem* iconItem = [CCMenuItemSprite itemFromNormalSprite:icon
selectedSprite:icon2
target: self
selector: @selector(buttonClickedWithUnlocked)
}];
不過,我仍然不能在任何參數的@selector通過其中。 任何其他方法?
該方法獲得通過?你能提供簽名或代碼示例嗎?我可以傳入一個整數和一個布爾值嗎? – OMGPOP
@OMGPOP我編輯了我的答案。 –