我有这个游戏像涂鸦跳跃雪碧突然消失了cocos2d
我插在
玩家触发子弹,并删除
我插入的NSLog到目标的玩家一些怪物和子弹这两个所以我知道如果子弹火灾和目标显示
所有在模拟器工作平稳ios 4.0
但是当每次我的设备
子弹上安装它和目标似乎未出现(是只有这两个游戏依然流畅运行)
,但每次我检查控制台我可以看到子弹的NSLog和目标
我尝试了3周不同的手机的iOS 4.0,5.0和4.2
现在即时通讯混乱,如果有什么似乎是问题
我在谷歌检查相同的问题,但我似乎无法找到一个
我也检查拼写和迷你问题,但它仍然发生。
什么似乎是造成这个问题?
PS:应用IM工作是过时的,它是旧版本的cocos2d的。这个 影响它吗?我尝试升级,但我有这么多的错误,我不 知道这就是为什么我回到默认。
妖怪都出现了约0.5秒,然后就会突然消失这是因为spriteMoveFinished的?
这里是代码(目标):
-(void)addTarget {
Sprite *target =[Sprite spriteWithFile:@"him.png"];
CGSize winSize = [[Director sharedDirector]winSize];
int minX = winSize.width/6;
int maxX = winSize.width - target.contentSize.width/2;
int rangeX = maxX - minX;
int actualX = (arc4random() % rangeX) + minX;
target.position = ccp(actualX,500);
NSLog(@"Location:%f",target.position);
[self addChild:target];
int minDuration = 2.0; int maxDuration = 4.0;
int rangeDuration = maxDuration - minDuration;
int actualDuration = (arc4random() % rangeDuration)+minDuration;
id actionMove = [MoveTo actionWithDuration:actualDuration position:ccp(actualX, -target.contentSize.height/2)];
id actionMoveDone = [CallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished:)];
[target runAction:[Sequence actions:actionMove,actionMoveDone, nil]];
target.tag = 1;
[_targets addObject:target];
}
(子弹):
-(void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
AtlasSpriteManager *spriteManager = (AtlasSpriteManager*)[self getChildByTag:kSpriteManager];
AtlasSprite *bird = (AtlasSprite*)[spriteManager getChildByTag:kBird];
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:[touch view]];
location = [[Director sharedDirector]convertCoordinate:location];
Sprite *projectile = [Sprite spriteWithFile:@"psn.png"];
projectile.position = ccp(bird.position.x,bird.position.y);
CGSize winSize = [[Director sharedDirector]winSize];
int offX = location.x - projectile.position.x;
int offY = location.y - projectile.position.y;
[self addChild:projectile];
float scalarX = 1.0f;
if(offX < 0.0f) scalarX = -1.0f;
int realX = scalarX * (winSize.width + (projectile.contentSize.width/2));
float ratio = (float) offY/(float) offX;
int realY = (realX *ratio) +projectile.position.y;
CGPoint realDest = ccp(realX,realY);
int offRealX = realX - projectile.position.x;
int offRealY = realY - projectile.position.y;
float length = sqrtf((offRealX*offRealX)+(offRealY*offRealY));
float velocity = 480/1;
float realMoveDuration = length/velocity;
[projectile runAction:[Sequence actions:[MoveTo actionWithDuration:realMoveDuration position:realDest],
[CallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished:)], nil]];
NSLog(@"Shoot!");
projectile.tag = 2;
[_projectiles addObject:projectile];
}
感谢我希望这将得到解决......
尝试澄清此问题的条件:启用绘制sprite界限('ccConfig.h'中的'#define CC_SPRITE_DEBUG_DRAW 1'),将纹理更改为某个检查图像,在另一个图像编辑器中重新保存企鹅图像...让我们知道,iDevice究竟发生了什么问题。 – brigadir 2012-01-12 06:55:22
你的纹理可能有问题吗?子弹和目标使用什么样的纹理?和什么大小? – purplelilgirl 2012-01-12 06:42:54
@brigadir我不认为这个问题是关于纹理,因为我试图替代我的目标,并且它也没有出现的雪碧..谢谢 – NoobMe 2012-01-12 09:09:51