Cocos2d iphone 无法使用CCLayerColor和initWithColor:cc4(255255)更改背景
我正在编写关于cocos2d理解基本概念的第一个教程。我正在尝试将背景颜色从默认的黑色更改为白色。以下是我的代码:Cocos2d iphone 无法使用CCLayerColor和initWithColor:cc4(255255)更改背景,cocos2d-iphone,Cocos2d Iphone,我正在编写关于cocos2d理解基本概念的第一个教程。我正在尝试将背景颜色从默认的黑色更改为白色。以下是我的代码: #import <Foundation/Foundation.h> #import "cocos2d.h" @interface GameScene : CCLayerColor { CCSprite *player; } +(id) scene; @end 有什么建议吗?谢谢CCDirectory只接受CCScenes。所以很可能你体验的黑屏不是一
#import <Foundation/Foundation.h>
#import "cocos2d.h"
@interface GameScene : CCLayerColor {
CCSprite *player;
}
+(id) scene;
@end
有什么建议吗?谢谢CCDirectory只接受CCScenes。所以很可能你体验的黑屏不是一个错误的CcCopyLoad,而是简单的空白阶段。
将CCScene子类化为GameSecene,然后使用所需的颜色以及玩家添加CCLayerColor。然后调用[[CCDirector sharedDirector]runWithScene:GameSecene]。CCDirectory只接收CCScenes。所以很可能你体验的黑屏不是一个错误的CcCopyLoad,而是简单的空白阶段。
将CCScene子类化为GameSecene,然后使用所需的颜色以及玩家添加CCLayerColor。然后致电[[CCDirector sharedDirector]runWithScene:GameSecene]。如果我尝试使用[[CCDirector sharedDirector]runWithScene:[GameSecene node]],并从GameSecene.h和GameSecene.m中评论+idscene,谢谢您的回复。我试图理解为什么?这背后的概念是什么…为什么?CCDirector是世界,CCScenes是游戏的章节,CCScene的所有内容都是游戏的一部分。感谢您的回复,如果我尝试使用[[CCDirector sharedDirector]runWithScene:[GameSecene node]],并从GameSecene.h和GameSecene.m中评论+idscene,一切都会正常工作。我试图理解为什么?这背后的概念是什么…为什么?CCDirector是世界,CCScenes是游戏的章节,与CCScene相关的一切都是游戏的组成部分。
#import "GameScene.h"
@implementation GameScene
+(id) scene
{
CCScene *scene = [CCScene node];
CCLayer *layer = [CCLayer node];
[scene addChild:layer];
return scene;
}
-(id) init
{
if ((self=[super initWithColor:ccc4(255, 255, 255, 255)])) {
self.isAccelerometerEnabled=YES;
player= [CCSprite spriteWithFile:@"Icon-72.png"];
CGSize screenSize=[[CCDirector sharedDirector] winSize];
float imageHeight=[player texture].contentSize.height;
player.position=CGPointMake(screenSize.width/2, imageHeight/2);
[self addChild:player z:0 tag:123];
}
return self;
}
-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
CGPoint pos=player.position;
pos.x+=acceleration.x*10;
player.position=pos;
}
- (void)dealloc {
[super dealloc];
}
@end