zoukankan      html  css  js  c++  java
  • cocos lua 创建替换图片

    关于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:setTexture("**.png")

    或者

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

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

    -- ccui.TextureResType.plistType 从图片集合中读取(C++: TextureResType::LOCAL)
    -- ccui.TextureResType.localType 从本地单一图片中读取(C++: TextureResType::PLIST)
    local Image = cc.ImageView:create("**.png",ccui.TextureResType.plistType)

     通过某张图片进行替换

    -- 参数1: 图片名
    -- 参数2:格式(local,plist)默认local
    Image:loadTexture("**.png",ccui.TextureResType.plistType)

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

  • 相关阅读:
    tcpdump分析tcp连接的建立、传输和关闭
    链表排序:冒泡和快排
    linux文件IO操作篇 (一) 非缓冲文件
    linux文件操作篇 (四) 目录操作
    linux文件操作篇 (三) 文件状态和操作属性
    linux文件操作篇 (二) 打开和关闭文件
    linux文件操作篇 (一)文件属性与权限
    linux编程(三)多线程
    linux编程(二)进程
    linux编程(一)文件IO 目录
  • 原文地址:https://www.cnblogs.com/SkyflyBird/p/7809675.html
Copyright © 2011-2022 走看看