在cocos2d使用塊來創建一個菜單操作的那場戲的init
方法將導致SIGABRT
錯誤:的Cocos2D MenuItemLabel使用blocks使SIGABRT
CCLabelTTF *label = [CCLabelTTF labelWithString:@"test" fontName:@"Times" fontSize:12];
CCMenuItemLabel *toCauseCrash = [CCMenuItemLabel itemWithLabel:label block:^(id sender) {
NSLog(@"Blocks work?");
}];
嘗試最新的cocos2d的,什麼都沒有。 This forum post承諾(一)儘快修復,並編輯了「BuildSettings-iOS.xcconfig」文件(該文件不存在,據我可以告訴)。
(1)有誰知道如何解決的Cocos2D允許在菜單塊?
(2)有誰知道什麼xcconfig文件上面的帖子都在談論,或者怎麼找呢?(這是一個Kobold2d事)
編輯:這裏是代碼示例,我設置後試圖OTHER_LINKER_FLAGS 「-force_load $(BUILT_PRODUCTS_DIR)/」:
id blockAction = [CCCallBlock actionWithBlock:^{
NSLog(@"Blocks action");
}];
void (^reusableBlock)(id sender) = ^(id sender) {
NSLog(@"Reusable block");
};
// SIGABRT:
CCMenuItemLabel *menuItem = [CCMenuItemLabel itemWithLabel:myLabel block:blockAction];
// SIGABRT:
CCMenuItemLabel *menuItem = [CCMenuItemLabel itemWithLabel:myLabel block:reusableBlock];
我有菜單項中的塊出現問題,導致父項被釋放時無法正確釋放項目。我的建議是現在不要在MenuItems中使用塊,並堅持使用目標:選擇器: – Ultrakorne 2012-03-19 15:58:52
@Ultrakorne是的,這就是我所描述的問題。我希望能夠解決這個問題。與此同時,是的,我正在使用該解決方法。 – buildsucceeded 2012-03-21 11:17:52