创建精灵:
方法一:有一张图片文件创建
Local spriteName=cc.Sprite:create("test.dog")
cc.sprite会自动将图片文件加载为纹理,并用于初始化精灵
精灵还可以仅显示图片的一部分
Local spriteName=cc.Sprite:create("test.png",cc.rect(0,0,100,100))
cc.rect()用于创建一个cc.rect类型的变量,表示如何截取图片一部分,0,0,表示从原点开始截取,100,100,表示截取长度
方法二:纹理创造
cc.texture类型的值为纹理对象,可使用cc.textureCacha类的addimage方法将图片装载为纹理并返回纹理对象
Localtexture_dog=cc.Director:getInstance():getTextureCache():addImage("res/dog.png")
Localsprite5=cc.Sprite:createWithTexture(texture_dog,cc.rect(0,0,105,95)) sprite5:setPosition(cc.p(origin.x+visibleSize.width/2+95,origin.y+visibleSize.height/2-100))
layer:addChild(sprite5)
使用cc.SpriteFrame创建cc.Sprite精灵帧,可用于制作动画
local texture_dog=cc.Director:getInstance():getTextureCache():addImage("res/dog.png")
local sprite_frame0=cc.SpriteFrame:createWithTexture(texture_dog,cc.rect(0,0,105,95))
local sprite_frame1=cc.SpriteFrame:createWithTexture(texture_dog,cc.rect(105,0,105,95))
sprite=cc.Sprite:createWithSpriteFrame(sprite_frame0) sprite:setPosition(cc.p(origin.x,origin.y+visibleSize.height/2))
sprite:setAnchorPoint(0,0.5)
layer:addChild(sprite)
local animation =cc.Animation:createWithSpriteFrames({sprite_frame0,sprite_frame1},0.1)
local animate=cc.Animate:create(animation)
sprite:runAction(cc.RepeatForever:create(animate))