当前位置 : 主页 > 手机开发 > 其它 >

cocos lua 创建替换图片

来源:互联网 收集:自由互联 发布时间:2021-06-13
转:https://www.cnblogs.com/SkyflyBird/p/7809675.html 关于Sprite或ImageView 创建图片或替换图片,使用cocos 2dx 3.10 lua: 一,sprite相关 -- 通过指定的某张图片创建 local sprite = cc.Sprite:create( " **.png " )

转: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相关

-- 通过指定图片直接创建

local Image = cc.ImageView:create("**.png",ccui.TextureResType.plistType)

第二个参数默认为:ccui.TextureResType.localType(或UI_TEX_TYPE_LOCAL)

-- 通过某张图片进行替换
Image:loadTexture("**.png",ccui.TextureResType.plistType)

 

以上倘若有编写不当之处,欢迎留言,以避免误导其它人,感谢!

网友评论