Cocos2d-x Lua中Sprite精灵类,cocos2d-xlua
精灵类是Sprite,它的类图如下图所示。
local layer = cc.Layer:create()
local bg = cc.Sprite:create("background.png")①
bg:setPosition(cc.p(size.width/2, size.height/2))②
layer:addChild(bg)
local tree1 = cc.Sprite:create("tree1.png",cc.rect(604, 38, 302, 295))③
tree1:setPosition(cc.p(200,230))
layer:addChild(tree1,0)
local cache = cc.Director:getInstance():getTextureCache():addImage("tree1.png")④
local tree2 = cc.Sprite:create()⑤
tree2:setTexture(cache)⑥
tree2:setTextureRect(cc.rect(73, 72,182,270))⑦
tree2:setPosition(cc.p(500,200))
layer:addChild(tree2,0)
return layer
end在上面代码第①行cc.Sprite:create("background.png")通过background.png图片创建精灵,background.png图片如前图所示,第②行代码是设置背景的位置。第③行代码cc.Sprite:create("tree1.png",cc.rect(604, 38, 302, 295))通过tree1.png图片和矩形裁剪区域创建精灵,矩形裁剪区域为(604, 38, 302, 295),如图所示。rect类可以创建矩形裁剪区,rect构造函数如下:cc.rect(x, y, width, height)其中x,y是UI坐标,坐标原点在左上角,width是裁剪矩形的宽度,height是裁剪矩形的高度。第④行代码通过纹理缓存TextureCache创建纹理Texture2D对象,通过Director的getTextureCache()函数可以获得TextureCache实例,TextureCache 的addImage("tree1.png")函数可以创建纹理Texture2D对象,其中的tree1.png是纹理图片名。
第⑤行代码创建一个空的Sprite对象,所以还要通过的后面的很多函数设置它的属性,其中第⑥行代码tree2:setTexture(cache)是设置纹理。第⑦行代码tree2:setTextureRect(cc.rect(73, 72,182,270))是设置纹理的裁剪区域。
更多内容请关注最新Cocos图书《Cocos2d-x实战:Lua卷——Cocos2d-lua开发》本书交流讨论网站:http://www.cocoagame.net欢迎加入Cocos2d-x技术讨论群:257760386更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com智捷课堂现推出Cocos会员,敬请关注:http://v.51work6.com/courseInfoRedirect.do?action=netDetialInfo&courseId=844465 categoryId=0《Cocos2d-x实战 Lua卷》现已上线,各大商店均已开售:
京东:http://item.jd.com/11659697.html
欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息
http://www.bkjia.com/Androidjc/998190.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/998190.htmlTechArticleCocos2d-x Lua中Sprite精灵类,cocos2d-xlua 精灵类是Sprite,它的类图如下图所示。 Sprite类图Sprite类直接继承了Node类,具有Node基本特征。此外,我...