2013-02-02 25 views
1

我有以下CCMenuItem:呼叫一個CCMenuItem的塊編程

menuItem = [CCMenuItemImage itemWithNormalImage:@"example.png" selectedImage:@"example2.png" disabledImage:@"example3.png" block:^(id sender) { 
     // do some important things. 
    }]; 

,其中菜單項是一個全球性的實例變量。

有沒有一種方法以編程方式調用菜單項的分組碼?還是我來包裝另一個函數在那裏,然後調用?例如

menuItem = [CCMenuItemImage itemWithNormalImage:@"example.png" selectedImage:@"example2.png" disabledImage:@"example3.png" block:^(id sender) { 
     [self doThings]; 
    }]; 

    ... 
    - (void) doThings { 
     // do some important things. 
    } 

我寧願只是以編程方式調用塊代碼。

+0

您可以在塊存儲在一個實例變量,那麼你就可以調用它的任何時間。 – LearnCocos2D

回答

2

您可以撥打:

[菜單項激活]。

它將調用塊或回調。這種方法唯一需要注意的是,使用香草框架方法,菜單項不能被禁用。就像我提到的(必須有menuItem.isEnabled = YES)

我更願意用你的第二個方法,雖然和使用包裝的方法和調用外部,因爲警告的準確。