**编辑 我做了一些调试并更改了名称" penguin"到一个不存在的图像文件,奇怪的是,有时当我编译它时,我会得到带有x的方形图标,这意味着没有找到具有该给定名称的文件,但有时,这个错误框甚至不会出现。奇怪的是,即使这个错误框没有显示出来(意味着程序没有尝试找到图像文件),命中检测仍然会出现问题并且"看不见"企鹅仍然可以死 **
我最近从6.4更新了我的Xcode。至7.2.1。这样做后,我的一些图像将不再加载。奇怪的是,图像将(在模拟器上编译游戏时)偶尔加载,偶尔也不会显示。此外,我的SpriteKit粒子发射器都没有加载。
我的图片都在支持文件夹中,标记为" imageName@2x.png"。另外,图像全部以编程方式实例化/插入到游戏中。
基本上我正在创建一个名为hero的SKSpriteNode:
characterName = @"penguin";
hero = [SKSpriteNode spriteNodeWithImageNamed:characterName];
hero.position = CGPointMake(self.frame.size.width*0.5, self.frame.size.height*0.5);
hero.physicsBody = [SKPhysicsBody bodyWithTexture:hero.texture size:hero.texture.size];
hero.physicsBody.dynamic=YES;
hero.physicsBody.friction=NO;
hero.physicsBody.allowsRotation=NO;
hero.physicsBody.categoryBitMask = heroCategory;
hero.physicsBody.contactTestBitMask = enemyCategory;
hero.physicsBody.collisionBitMask = 0;
hero.physicsBody.usesPreciseCollisionDetection = YES;
hero.alpha = 0;
[mainLayer addChild:hero];
然后为了使英雄可见,我稍后在开始游戏时更改SKSpriteNode的alpha:
-(IBAction)startGame:(id)sender{
hero.alpha = 1;
.....
}
我以类似的方式制作了许多其他图像。
将要发生的事情的一个例子是,我第一次编译游戏时,企鹅图像可能正确加载,然后我将停止构建并重新编译它,此时企鹅将不再显示,然后如果我停止它并重建它,企鹅可能再次可见,等等....
这是我如何实现我的粒子发射器:
-(void)addFeathers: (CGPoint) position{
if (soundEnabled==TRUE) {
[poofSound play];
}
NSString *explosionPath2 = [[NSBundle mainBundle] pathForResource:@"FeatherAnimation1" ofType:@"sks"];
SKEmitterNode *explosion2 = [NSKeyedUnarchiver unarchiveObjectWithFile:explosionPath2];
explosion2.position = position;
[mainLayer addChild:explosion2];
SKAction *removeExposion2 = [SKAction sequence:@[[SKAction waitForDuration:10],[SKAction removeFromParent]]];
[explosion2 runAction:removeExposion2];
}
然后在程序中:
if([characterName isEqualToString:@"penguin"]){
[self addFeathers:deadPos];
}
可以通过以下链接找到该项目:https://github.com/cyrusbehr/Dodge.git
我理解这个应用程序是在糟糕的编程实践中完成的,但它只是我的第一个。我真的想解决这些问题,这样我就可以把游戏放回appstore了!
非常感谢任何帮助。
答案 0 :(得分:0)
您是否尝试将图片放入资产目录?
答案 1 :(得分:0)
尝试将图像放入资产目录中; 这是因为方法:
+ (instancetype)spriteNodeWithImageNamed:(NSString *)name;
name是应用程序包中存储的图像文件的名称。
添加“.png”即可。
答案 2 :(得分:0)
事实证明,在XCode更新后,我的背景图像阻止了我的其他节点。我通过更改背景的z位置解决了这个问题。
POST my_index/_search
{
"filter": {
"bool": {
"should": [
{
"term": {
"exact_value": "MILAN"
}
},
{
"query": {
"query_string": {
"default_field": "full_text",
"query": "live"
}
}
}
]
}
}
}