转:https://www.cnblogs.com/SkyflyBird/p/7809675.html
关于Sprite或ImageView 创建图片或替换图片,使用cocos 2dx 3.10 lua:
一,sprite相关
-- 通过指定的某张图片创建
local sprite = cc.Sprite:create("**.png")
-- 通过创建纹理缓存来创建
local sprite = cc.Sprite:create() local cache = cc.Director:getInstance():getTextureCache():addImage("**.png") sprite:setTexture(cache)
或者
local sprite = cc.Sprite:create() sprite:initWithFile("**.png")
-- 通过.plist来创建,将小的图片通过TexturePacker制作生成纹理图集,这样有利于减少文件读取次数,减少OpenGL ES 绘制次数,减少内存消耗
local plistName = "**.plist" -- 判定指定的plist文件是否加载 local isLoad = cc.SpriteFrameCache:getInstance():isSpriteFramesWithFileLoaded(plistName) if not isLoad then -- 加载指定的plist文件 cc.SpriteFrameCache:getInstance():addSpriteFrames(plistName) end -- 根据纹理图集中的某张图片创建精灵 local sprite = cc.Sprite:createWithSpriteFrameName("**.png") -- 根据纹理图集中的某张图片或帧缓存替换精灵 sprite:setSpriteFrame("***.png") -- local frame = cc.SpriteFrameCache:getInstance():getSpriteFrame("***.png") sprite:setSpriteFrame(frame)
一,ImageView相关
扫描二维码关注公众号,回复:
935735 查看本文章
![](/qrcode.jpg)
-- 通过指定图片直接创建
local Image = cc.ImageView:create("**.png",ccui.TextureResType.plistType)
第二个参数默认为:ccui.TextureResType.localType(或UI_TEX_TYPE_LOCAL)
-- 通过某张图片进行替换 Image:loadTexture("**.png",ccui.TextureResType.plistType)
以上倘若有编写不当之处,欢迎留言,以避免误导其它人,感谢!