官术网_书友最值得收藏!

Getting access to MainScene

When you launch the application, the scene created in SpriteBuilder will load up by default. We will have to make some minor changes to get access to the MainScene file and load this as default instead.

Getting ready

As of now, both the MainScene.h and MainScene.m files have nothing in them. So, open them up and add the following code in them.

How to do it…

First, open up MainScene.h and add the following highlighted code:

@interface MainScene :CCNode{

CGSizewinSize;    
}

+(CCScene*)scene;

@end

Next, in the MainScene.m file, add the following:

#import "MainScene.h

@implementation MainScene

+(CCScene*)scene{

  return[[self alloc]init];

}

-(id)init{

  if(self = [super init]){

  winSize = [[CCDirectorsharedDirector]viewSize];

  }

  return self;
}

@end

Then, navigate to the AppDelegate.m file, which is in the iOS group under Source/Platforms, as shown in the following screenshot:

Change the code in the startScene function as highlighted here:

- (CCScene*) startScene
{

  //Comment or delete line below as shown
  //return [CCBReaderloadAsScene:@"MainScene"];

  //add below line instead
 return [MainScene scene];
}

Now, we have a complete blank project to work with.

If you build and run the project now, you will see nothing but a black screen. To make sure that we are actually ready to draw something and that it will get displayed onscreen, let's add some basic code to change the background color.

Add the following code to the init function of the MainScene.m file:

-(id)init{

  if(self = [super init]){

    winSize = [[CCDirectorsharedDirector]viewSize];

    CGPoint center = CGPointMake(winSize.width/2,
      winSize.height/2);

    //Background
    CCNode* backgroundColorNode = [CCNodeColor
      nodeWithColor:[CCColor
      colorWithRed:0.0f
      green:1.0
      blue:0.0]];
    [selfaddChild:backgroundColorNode];


  }

  return self;
}

In the init function, after initializing the super init file, we will first get the screen size of the current device. Then, we will have a helper CGPoint variable, which is used to calculate the center of the screen.

Then, we will create a new CCNode and call it backgroundColorNode and call the CCNodeColor class and the nodeWithColor function. In it, we will pass the red, green, and blue values. As I wanted a green background, I have the value of green as 1 and the rest are 0.

Then, we will add backgroundColorNode to the scene.

How it works…

Run the project to see the changes.

You will just see a green screen, which is the node that was just added to the scene. This can be used if you want to have a plain background, and instead of importing an image into the project, this is a quick way of having any colored background.

主站蜘蛛池模板: 探索| 林西县| 张北县| 山阳县| 新乐市| 乌拉特中旗| 斗六市| 甘谷县| 紫阳县| 阿坝县| 华宁县| 普宁市| 丰顺县| 建始县| 桑植县| 于都县| 博客| 宣恩县| 鸡泽县| 安多县| 始兴县| 弋阳县| 葵青区| 青神县| 新巴尔虎右旗| 宜阳县| 大方县| 新巴尔虎左旗| 宝兴县| 石城县| 灵山县| 科技| 中方县| 额尔古纳市| 云浮市| 屏东县| 同江市| 蒙阴县| 沅江市| 阜阳市| 三原县|