gpt4 book ai didi

objective-c - 使用 onEnter 方法 cocos2d

转载 作者:行者123 更新时间:2023-12-02 22:19:24 28 4
gpt4 key购买 nike

我正在开发一款游戏。并在我的游戏中使用音频。对于音频,我导入了 SimpleAudioEngine 框架。我在 onEnter 方法中设置音频,其他声明和编码在 init 方法中。在 onEnter 方法中添加音频后,我的屏幕菜单按钮不起作用。在添加之前一切正常。我不明白我的代码有什么问题。

这是我在 onEnter 方法中的代码。

- (void)onEnter{
backgroundMusic=[SimpleAudioEngine sharedEngine];
[backgroundMusic playBackgroundMusic:@"sonic_title_music.mp3" loop:YES];
}
- (void)onExit{
[backgroundMusic stopBackgroundMusic];}

这是我的初始化方法:

- (id)init{
self = [super init];
if (self) {
controller = (AppController *)[[UIApplication sharedApplication] delegate];
CGSize size=[[CCDirector sharedDirector]winSize];
[CCMenuItemFont setFontName:@"Marion"];
[CCMenuItemFont setFontSize:30];
CCMenuItem *newGame=[CCMenuItemFont itemWithString:@"New Game" target:self selector:@selector(newGame)];
CCMenuItem *modes=[CCMenuItemFont itemWithString:@"Modes" target:self selector:@selector(modes)];
CCMenuItem *help=[CCMenuItemFont itemWithString:@"Help" target:self selector:@selector(help)];
CCMenuItem *setting=[CCMenuItemFont itemWithString:@"Setting" target:self selector:@selector(setting)];
menu=[CCMenu menuWithItems:newGame,modes,setting,help, nil];
[menu alignItemsVerticallyWithPadding:10];
CCLOG(@"width== %f",size.width);
if(size.width==320)
menu.position=ccp(size.width/2, size.height/2);
else
menu.position=ccp(size.width/2, size.height/2);
[self addChild:menu];
}
return self;

最佳答案

你必须调用[super onEnter]:

-(void) onEnter
{
[super onEnter];

backgroundMusic=[SimpleAudioEngine sharedEngine];
[backgroundMusic playBackgroundMusic:@"sonic_title_music.mp3" loop:YES];
}

覆盖任何 on* CCNode 方法时需要调用 super 实现。

关于objective-c - 使用 onEnter 方法 cocos2d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13971188/

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