加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-x binding lua 实现背景图片平铺

发布时间:2020-12-14 19:06:10 所属栏目:百科 来源:网络整理
导读:使用情境: 先在Cocos Studio中创建了一个Panel作为背景层,需要在其中平铺图片。 代码如下: 其中注释部分注明了我用过的错误方法,需注意。 local panelPage1 = ccui.Helper:seekWidgetByName(uiNode,"Panel_page1")local panelRepeatBg1 = ccui.Helper:see

使用情境:
先在Cocos Studio中创建了一个Panel作为背景层,需要在其中平铺图片。

代码如下:
其中注释部分注明了我用过的错误方法,需注意。

local panelPage1     = ccui.Helper:seekWidgetByName(uiNode,"Panel_page1")
local panelRepeatBg1 = ccui.Helper:seekWidgetByName(panelPage1,"Panel_repeat_bg")

-- 注意1:不要使用plist方式给sprite指定图片,否则getTexture()会得到plist文件的整个图片,而不是你指定的那张小图
-- cc.SpriteFrameCache:getInstance():addSpriteFrames("publish/More/More_png.plist")
-- local bgSprite = cc.Sprite:createWithSpriteFrameName("More_repeat_bg.png")

local bgSprite = cc.Sprite:create("More/More_repeat_bg.png")

bgSprite:setAnchorPoint(0,0)
bgSprite:setPosition(0,0)

-- 注意2:不能给sprite只设置size,而是要设置rect
-- local bgSize = panelRepeatBg1:getContentSize()
-- bgSprite:setContentSize(bgSize)

local bgRect = panelRepeatBg1:getBoundingBox()
bgSprite:setTextureRect(bgRect)

bgSprite:getTexture():setTexParameters(gl.LINEAR,gl.LINEAR,gl.REPEAT,gl.REPEAT)

panelRepeatBg1:addChild(bgSprite)

-- TODO setTexParameters()中4个参数分别什么意思尚待查明

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读