2015-05-09 123 views
0

所以我有我的场景呈现,并试图显示一个精灵时,我按下按钮。我知道这个函数是因为NSLog而被调用的,但是我不能让这个精灵显示出来。cocos2d swift如何显示一个精灵?

func ShowShip() { 
var booster = CCBReader.load("ccbResources/Booster") 
booster.position = CGPoint(x: 0, y: 0) 
self.addChild(booster) 
NSLog("created sprite") 
} 

日志的调用,但不显示精灵。我看了快速入门教程,看不出有什么区别。

编辑:打过电话直接巴纽资源,但得到缠误差

+0

你是否设置了sprite类似'booster.zPosition = 1'的zPosition? –

+0

嗨Dharmesh我停止使用助推器,因为我把它变成了代码连接类,我只是想要精灵。所以当我尝试直接加载精灵时,我仍然得到一个错误“精灵的无效精灵帧” – shwick

回答

0

尝试直接法:

// method_1:从磁盘中读取图像

var booster = CCSprite(imageNamed:"Booster.png") 
booster.position = CGPoint(x: 50, y: 50) 
self.addChild(booster, z:3) 

// method_2:读取图像来自精灵图片

var frame1 = CCSpriteFrameCache.sharedSpriteFrameCache().spriteFrameByName("Booster.png") as CCSpriteFrame 
    var booster = CCSprite(spriteFrame: frame1) 
    booster.position = CGPoint(x: 50, y: 50) 
    self.addChild(booster, z:3) 
+0

嗨,不幸的是,当我尝试该方法时,我得到了“精灵的无效精灵帧”。 – shwick

+0

@shwick,如果它是精灵表,那么你可以使用spriteFrame方法..更新的答案。 – Guru

+0

当我的电脑重新启动时,我会尝试使用最新的编辑功能。 我真的不确定到目前为止发生了什么。 CCSprite的图像构造函数说,“它需要一个名称的图像,或者一个图像名称”,这意味着它将从任何一个图像加载。这两种方法对我来说都完全失败了。我尝试命名spritesheet中的图像,sprite frame exception。只是尝试将图像自身投射到spritebuilder中,尝试通过名称(不是spritesheet)加载该图像,但也失败了,同样的异常。不知道现在发生了什么。 – shwick