2014-06-21 1 views
0

나는 프리랜서에게 돈을 지불했다. 나는 정상적인 Ojct-C 및 스토리 보드에서 경험했지만 coco2sd에서는 경험하지 못했습니다. 그는 게임이 끝난 후 메뉴를 만들었습니다. 3 버튼 (소셜 미디어 공유 버튼)과 1 재생 버튼. 소셜 미디어 버튼을 위로 이동 (iads를위한 공간 확보)하지만 재생 버튼을 같은 위치에 두려고합니다. 여기 코드 :코코스 2D 개별 버튼 배치

-(void)createMenu 
{ 
btnNextpeer=newButtonPosA(@"next", POS_BTN_NEXT, self, @selector(onNextpeerClicked:), true, RATIO_Y, F_BTN_SCALE); 
btnEM=newButtonPosA(@"em", POS_BTN_EM, self, @selector(onClickEM:), false, RATIO_Y, F_BTN_SCALE); 
btnFB=newButtonPosA(@"fb", POS_BTN_FB, self, @selector(onClickFB:), false, RATIO_Y, F_BTN_SCALE); 
btnTW=newButtonPosA(@"tw", POS_BTN_TW, self, @selector(onClickTW:),false, RATIO_Y, F_BTN_SCALE); 
btnGC=newButtonPosA(@"gc", POS_BTN_GC, self, @selector(onClickGC:), true, RATIO_Y, F_BTN_SCALE); 
btnRestart=newButtonPosA(@"restart", POS_BTN_RESTART, self, @selector(onClickRestart:), false, RATIO_Y, 1.0); 

menu=[CCMenu menuWithItems:btnNextpeer,btnEM,btnFB,btnTW,btnGC,btnRestart, nil]; 
[menu setPosition:ccp(0,30)]; 
[self addChild:menu z:Z_BTN]; 
[self showButtons:false]; 
} 

(0,0)이 기본 위치입니다. 소셜 미디어 버튼이 (0,30)에 있지만 재생은 (0,0)에 있어야합니다.

여기에 내가 (0,0)에 재생 버튼을 이동하려고 노력 무엇 :

menu=[CCMenu menuWithItems:btnNextpeer,btnEM,btnFB,btnTW,btnGC,btnRestart, nil]; 
[btnRestart setPosition:ccp(0, 100)]; 
[menu setPosition:ccp(0,30)]; 
[self addChild:menu z:Z_BTN]; 
[self showButtons:false]; 

내가 코드의 단순한 라인의 재생 버튼이 사라진 것을 추가합니다. 도움을 주시면 감사하겠습니다. 감사합니다.

답변

0

여기가 게임의 예입니다. GETextMenuItem은 필자의 창조물 중 하나입니다. 기본적으로 CCMenuItemLabel을 확장하고 긴 툴팁 (툴팁 표시), 미리 지정된 글꼴 및 글꼴 크기, 레이블 및 툴팁을 추가하고 터치하는 동안 약간 큰 크기의 동작을 추가합니다. 그러나 여기있다 :

CGSize dims = CGSizeMake(deviceOffset(230), deviceOffset(40)); 

// a bunch of other menu items before 

GETextMenuItem *fx = [GETextMenuItem textMenuItemWithText:@"FX volume" 
               dimensions:dims 
               alignment:kCCTextAlignmentLeft 
                font:kMPAmenuFont 
               fontSize:deviceFontSize(16) 
                color:ccWHITE 
                target:nil selector:nil]; 
fx.toolTip = @"Adjusts the sound effects volume from mute to the current master volume."; 

GETextMenuItem *music = [GETextMenuItem textMenuItemWithText:@"Music volume" 
                dimensions:dims 
                alignment:kCCTextAlignmentLeft 
                 font:kMPAmenuFont 
                fontSize:deviceFontSize(16) 
                 color:ccWHITE 
                 target:nil selector:nil]; 
music.toolTip = @"Adjusts the music setting volume from mute to the current master volume."; 

CCMenu *labelMenu = [CCMenu menuWithItems:showDialogs, showHelp, showConfirmation, master, fx, music, nil]; 

float hOffs = -kScreenWidth/2 + dims.width/2 + _leftMargin; 

showDialogs.position  = ccp(hOffs, kScreenHeight/2 - _topMargin); 
showHelp.position   = ccp(hOffs, kScreenHeight/2 - _topMargin - 1 * _toggleMenuSpacing); 
showConfirmation.position = ccp(hOffs, kScreenHeight/2 - _topMargin - 2 * _toggleMenuSpacing); 
master.position   = ccp(hOffs, kScreenHeight/2 - _topMargin - 3 * _toggleMenuSpacing); 
fx.position    = ccp(hOffs, kScreenHeight/2 - _topMargin - 4 * _toggleMenuSpacing); 
music.position   = ccp(hOffs, kScreenHeight/2 - _topMargin - 5 * _toggleMenuSpacing); 

labelMenu.position = ccp(0, 0); 
[self addChild:labelMenu]; 

그래서, 내가 위에서 아래 메뉴 midscreen을 배치하고 화면의 왼쪽에서 _leftMargin 각 버튼을 배치하고 _topMargin. 이 '메뉴'에 대해서는 어떤 대상도 사용하지 않고 메뉴를 수행하는 유일한 시점은 레이블을 누를 때 툴팁 (도움말 텍스트)을 얻는 것이 었습니다. 이 나오는 방법이 있습니다 :

enter image description here

0

메뉴에서 개별 항목을 (자유롭게) 재배치 할 수 없습니다. 대신 각 항목을 자체 메뉴에 넣으면 메뉴 위치를 변경하여 각 메뉴를 개별적으로 배치 할 수 있습니다 (메뉴 항목과 반대 됨).

+0

흠 ... 난 내가 가진 모든 메뉴 장면 꽤 많이 ccmenu 내에서 메뉴 항목의 위치를 ​​배치 (2.1적인 Cocos2D). 메뉴에서 메뉴 항목의 상대적 위치를 먼저 설정 한 다음 메뉴 위치를 적절하게 설정합니다. – YvesLeBorg

+0

어쩌면 그게 수정되었습니다, 나는 어떤 item.position 변경 기억 터치 감지 엉망 기억 – LearnCocos2D

+0

@ YvesLeBorg 당신이 대답을 설명에 제발 쓸 수 있니? – user3763526