【发布时间】:2010-03-13 09:18:26
【问题描述】:
我正在尝试在同一屏幕上绘制两个精灵。我在两个单独的类文件中定义了两个精灵对象。
- 如果我注释掉两行(请参阅下面的“项目 1”注释),我会得到一个显示为 [a backgroundimage[background2.jpg],左侧有一个 sprite[grossini.png]。
- 如果我取消注释这两行,我不会得到 (gameScreen.m) 的背景图像和精灵。我只得到 (enemy.m) 中定义的精灵 [grossinis_sister1.png]。
- 但我需要的是一个屏幕中的 [backgroundimage[background2.jpg]]、sprite[grossini.png] 和 sprite [grossinis_sister1.png]。
这是我的第一堂课的实现文件:
#import "gameScreen.h"
#import "enemy.h"
@implementation gameScreen
-(id)init
{
if((self = [super init]))
{
CCSprite *backGroundImage = [CCSprite spriteWithFile:@"background2.jpg"];
backGroundImage.anchorPoint = ccp(0,0);
CCParallaxNode *voidNode = [CCParallaxNode node];
[voidNode addChild:backGroundImage z:-1 parallaxRatio:ccp(0.0f,0.0f) positionOffset:CGPointZero];
[self addChild:voidNode];
CGSize windowSize = [[CCDirector sharedDirector] winSize];
CCSprite *player = [CCSprite spriteWithFile:@"grossini.png"];
player.position = ccp(player.contentSize.width/2, windowSize.height/2);
[self addChild:player z:0];
//eSprite = [[enemy alloc]init]; //<-- see item 1
//[self addChild:eSprite];
}
return self;
}
这是我第二课的实现文件:
#import "enemy.h"
#import "gameScreen.h"
@implementation enemy
-(id)init
{
if ((self = [super init]))
{
CGSize windowSize = [[CCDirector sharedDirector] winSize];
CCSprite *enemySprite = [CCSprite spriteWithFile:@"grossinis_sister1.png" ];
enemySprite.position = ccp(windowSize.width/2, windowSize.height/2);
[self addChild:enemySprite];
}
return self;
}
@end
【问题讨论】:
-
您似乎对如何构建 iPhone 应用程序有一些概念性的误解。谷歌“iPhone 游戏教程”,我相信你会找到符合你水平的东西,它会告诉你做事的正确方法。此外,您的问题提出的含糊不清,因为您没有提供代码示例,甚至没有提供您正在使用的类的想法,因此无法提供解决方案。
-
对不起,我会以清晰的方式编辑我的问题。谢谢。
-
如果您打算包含他们没有通过的图片链接。
标签: iphone-sdk-3.0 cocos2d-iphone