gpt4 book ai didi

ios - 停止背景层菜单吸收触摸 Cocos2D

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:48:09 25 4
gpt4 key购买 nike

我已经使用 Cocos2D 为我的 iPhone 应用程序创建了一个滑出式设置菜单,通过将一个带有设置菜单的层移出到另一个具有游戏菜单的层上,它工作得很好......但是你可以仍然通过设置菜单单击游戏菜单上的菜单项,坦率地说,我不想这样做 ;) 是否有任何简单的方法来设置菜单项,使其不响应用户输入?或者我应该在设置菜单中创建一个透明的覆盖菜单项来吸收任何触摸吗?

这是我的代码:

- (void)addButtons: (int) screenSize {


CCMenuItemImage *goPlay = [CCMenuItemImage itemWithNormalImage:@"playButtonUnpressed.png"
selectedImage:@"playButtonPressed.png"
target:self
selector:@selector(onPlay:)];
CCMenuItemImage *goSettings = [CCMenuItemImage itemWithNormalImage:@"settingsButtonUnpressed.png"
selectedImage:@"settingsButtonPressed.png"
target: self
selector:@selector(onSettings:)];
CCMenuItemImage *goFacebook = [CCMenuItemImage itemWithNormalImage:@"facebook.png"
selectedImage:@"facebook.png"
target: self
selector:@selector(onFacebook:)];
CCMenuItemImage *goTwitter = [CCMenuItemImage itemWithNormalImage:@"twitter.png"
selectedImage:@"twitter.png"
target: self
selector:@selector(onTwitter:)];
CCMenuItemImage *goWebsite = [CCMenuItemImage itemWithNormalImage:@"website.png"
selectedImage:@"website.png"
target: self
selector:@selector(onWebsite:)];
CCMenu *play = [CCMenu menuWithItems: goPlay,goSettings,goFacebook,goTwitter,goWebsite,nil];

[self addChild: play];
// Add menu image to menu
play.position = ccp(0,0);

if (self.iPad) {

goPlay.position = ccp(64, 64);
goSettings.position = ccp(128,128);

// Add menu to this scene
}
else if (screenSize < 490){

goPlay.position = ccp(85, 85);
goSettings.position = ccp(235,85);
goFacebook.position = ccp(275,445);
goTwitter.position = ccp(275,402);
goWebsite.position = ccp(275,359);

// Add menu to this scene
}
}

- (void) onSettings: (id) sender{
CGPoint onScreenPoint = ccp(0, 0);
id actionMove = [CCMoveTo actionWithDuration:0.3
position:onScreenPoint];
[_settings runAction:[CCSequence actions:actionMove, nil]];
}

如果您需要查看其他任何内容,请告诉我...但我很确定可以使用上面的代码给出解决方案:)

最佳答案

您可以在游戏层菜单的检查中创建一个 bool 检查,以查看它们是否被触摸。例如,由于您使用 CCMenus 只需将其添加到选择器中:

if(!settingsMenuOut)//checks to see if settingsMenuOut (a bool) is false,
//if its true it won't do whatever it normally would.
{
//do the menu stuff
}

关于ios - 停止背景层菜单吸收触摸 Cocos2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12773716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com