Iphone COCOS-2d:需要在游戏中实现水平进步的想法

Iphone COCOS-2d:需要在游戏中实现水平进步的想法,iphone,ios,cocos2d-iphone,Iphone,Ios,Cocos2d Iphone,我开发了一款ios游戏,有20个关卡。 我在开始屏幕上有一个菜单,它有20个按钮,用于20个级别 我需要的是,例如,如果用户不完成1级2级按钮不应该被启用,等等。当用户完成游戏中的一些级别时,下一个级别应该被启用 我知道它非常基本,这是我在ios上的第一个游戏。所以请温柔一点,任何想法都会很感激的。谢谢。) 注意:我的游戏完全是cocos2d。cocos2d中的任何想法都是好的:)在你的应用程序委托中,你可以有一个变量,指向他完成的级别,你还可以有一个函数,根据该变量启用和禁用按钮 要禁用您可以

我开发了一款ios游戏,有20个关卡。 我在开始屏幕上有一个菜单,它有20个按钮,用于20个级别

我需要的是,例如,如果用户不完成1级2级按钮不应该被启用,等等。当用户完成游戏中的一些级别时,下一个级别应该被启用

我知道它非常基本,这是我在ios上的第一个游戏。所以请温柔一点,任何想法都会很感激的。谢谢。)


注意:我的游戏完全是cocos2d。cocos2d中的任何想法都是好的:)

在你的应用程序委托中,你可以有一个变量,指向他完成的级别,你还可以有一个函数,根据该变量启用和禁用按钮

要禁用您可以使用的按钮

button.enabled = NO;
当用户结束某个级别时,增加达到的级别变量和启用/禁用按钮

使用用户默认值的示例

设置
currentLevel

[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithInt:currentLevel]
                                         forKey:@"level"];
[[NSUserDefaults standardUserDefaults] synchronize];
获取当前级别

currentLevel = [[[NSUserDefaults standardUserDefaults] valueForKey:@"level"] intValue];

在你的AppDelegate中,你可以有一个变量,指向他完成的级别,你还可以有一个函数,根据该变量启用和禁用按钮

要禁用您可以使用的按钮

button.enabled = NO;
当用户结束某个级别时,增加达到的级别变量和启用/禁用按钮

使用用户默认值的示例

设置
currentLevel

[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithInt:currentLevel]
                                         forKey:@"level"];
[[NSUserDefaults standardUserDefaults] synchronize];
获取当前级别

currentLevel = [[[NSUserDefaults standardUserDefaults] valueForKey:@"level"] intValue];

最初,您将禁用除按钮1之外的所有按钮,如下所示:

button2.enabled = FALSE;
button2.enabled = TRUE;
等,然后用户完成第一级使按钮2启用,如下所示:

button2.enabled = FALSE;
button2.enabled = TRUE;

最初,您将禁用除按钮1之外的所有按钮,如下所示:

button2.enabled = FALSE;
button2.enabled = TRUE;
等,然后用户完成第一级使按钮2启用,如下所示:

button2.enabled = FALSE;
button2.enabled = TRUE;
你可以用它来记住你的玩家完成的等级

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"savedGameLevel"] ) {
    NSNumber *num = [defaults objectForKey:@"savedGameLevel"];
}
然后您可以启用/禁用按钮,如

 for(UIButton *levelBtn in self.yourView.subviews)
 {
     if(levelBtn.tag == [num intValue] + 1)
         [levelBtn setEnabled:YES];
     else
         [levelBtn setEnabled:NO];

 }
//用于保存游戏状态

 -(void)saveLevelAsFinished
   { 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:@"1" forKey:@"savedGameLevel"];

   }
你可以用它来记住你的玩家完成的等级

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"savedGameLevel"] ) {
    NSNumber *num = [defaults objectForKey:@"savedGameLevel"];
}
然后您可以启用/禁用按钮,如

 for(UIButton *levelBtn in self.yourView.subviews)
 {
     if(levelBtn.tag == [num intValue] + 1)
         [levelBtn setEnabled:YES];
     else
         [levelBtn setEnabled:NO];

 }
//用于保存游戏状态

 -(void)saveLevelAsFinished
   { 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:@"1" forKey:@"savedGameLevel"];

   }
下面是一个伪代码:

for (int i=1; i<=count;i++)
    button[i].enable() //This method will enable the button


for (int i=count+1; i<=20; i++)
    button[i].disable() //This method will disable the button
for(int i=1;i这里是一个伪代码:

for (int i=1; i<=count;i++)
    button[i].enable() //This method will enable the button


for (int i=count+1; i<=20; i++)
    button[i].disable() //This method will disable the button
for(int i=1;i使用“custombutton”类创建所有按钮。在其中设置BOOL变量

@interface CustomLabel : UIButton
{
  BOOL *is_level_completed;

}
@property (nonatomic, retain)BOOL *is_level_completed;
创建按钮时,设置btn.is_level_completed=否;完成每个级别设置后,显示签入视图并更改已完成级别的图像

存储数据

设置按钮的标记值(如1,2,3…),并在完成该级别时,使用以下代码将标记值存储在NSUserDefaults中

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:btn.tag forKey:@"Completed_level_no"];
在视图中,将显示完成的级别并更改按钮的图像。

使用“custombutton”类创建所有按钮。在该类中设置BOOL变量

@interface CustomLabel : UIButton
{
  BOOL *is_level_completed;

}
@property (nonatomic, retain)BOOL *is_level_completed;
创建按钮时,设置btn.is_level_completed=否;完成每个级别设置后,显示签入视图并更改已完成级别的图像

存储数据

设置按钮的标记值(如1,2,3…),并在完成该级别时,使用以下代码将标记值存储在NSUserDefaults中

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:btn.tag forKey:@"Completed_level_no"];

在视图中,将显示完成的级别并更改按钮的图像。

是的。我不是问如何禁用按钮。我需要一些类似于如何记住数据的内容。是的。我不是问如何禁用按钮。我需要一些类似于如何记住数据的内容。是的。我不是问如何禁用按钮。我需要一些例如如何保持数据的记忆。是的。我不是问如何禁用按钮。我需要一些类似于如何保持数据的记忆。是的。我不是问如何禁用按钮。我需要一些类似于如何保持数据的记忆。查看下一页,了解如何在ios上本地存储数据。这应该是您需要的。是的。我不是问如何禁用按钮。。我需要一些东西,比如如何记住数据。请查看以下页面,了解如何在ios上本地存储数据。这应该是您所需要的。我可以将此与cocos2d一起使用吗?我的是纯cocos2d吗?我的是纯CoCoCoS2D,但当用户关闭应用程序时,保存状态将为g一对吗?对不起。我已经编辑了答案。谢谢它起作用了:)我可以获取你的Skype id吗?我有一些iPhone的疑问吗?但是当用户关闭应用程序时,保存状态会变好吗?对不起。我已经编辑了答案。谢谢它起作用了:)我可以获取你的Skype id吗?我有一些iPhone的疑问吗?