2012-10-02 1 views
0

이번에는 cocos2d에서 버튼 (CCMenuItemImage)을 사용 중지하는 것과 같은 이상한 문제가 있는지 물어보고 싶습니다. 인앱-구매 연결되어 구매가 완료되면 다음 함수는In-App-Purchase를 사용할 때 CCMenuItem을 숨길 수 없습니다.

- (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]; 

이 두 작업은 잘 작동하지만 문제는 세 번째 함께 시작됩니다. 'BUY'버튼을 보이지 않게하고 싶습니다.

[buyItem setVisible:FALSE]; 

이 곳에서는 아무 것도하지 않습니다 (버튼은 계속 표시되고 액세스 할 수 있음). 코드의 다른 부분에서이 코드를 사용하면 잘 작동하지만 여기서는 .... 없습니다. 위치를 변경하려고 시도해도 작동하지 않습니다. inApp 구매 스레드 또는 그와 연결된 것일 수 있습니까?

+0

'[buyItem setVisible : FALSE];를 호출 할 때'buyItem'이 nil인지 확인 했습니까? – Kreiri

답변

0

귀하의 문제를 이해합니다. menuitem을 비활성화하려면 menuitem.isEnabled 속성을 설정할 수 있습니다.

그리고 버튼을 숨기려면 속성 menuitem.visible = NO을 설정할 수 있습니다.

이 기능이 작동하지 않는 경우 [menuitem runaction:[CCFadeOut actionWithDuration:1.0f] ].을 사용할 수도 있습니다. 그런 다음 요구 사항에 따라 FadeIn을 사용하십시오.

대체 옵션입니다.

작동하는지 알려주세요.

+0

안녕하세요. 답변 해 주셔서 감사합니다. 안타깝게도 작동중인 유일한 작업은 CCFadeOut이며 작업으로 위치를 변경하려고 시도해도 작동하지 않습니다. CCFadeOut을 사용하면 전혀 보이지 않더라도 버튼을 계속 눌러 볼 수 있습니다. 그래서 스프라이트가이 장소에서 가시성을 바꾸기 위해 응답하는 유일한 객체이기 때문에 CCSprite 기반의 버튼 스타일 비헤이비어 코드를 구현하려고합니다. 아직도 질문이 있습니다 ...... 왜 :) :)) – johnnyGor

+0

나는 그 이유를 발견했다. 사과 가게에 두 번 전화를 걸고 두 개의 버튼을 만들 때 내 실수였습니다. :) 그래서, 닫을 수 있습니다. – johnnyGor

0

나는 이유를 발견했다. 사과 가게에 두 번 전화를 걸고 두 개의 버튼을 만들 때 내 실수였습니다. :) 그래서, 닫을 수 있습니다.