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

前端之家收集整理的这篇文章主要介绍了cocos2d-x binding lua 实现背景图片平铺前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用情境:
先在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个参数分别什么意思尚待查明

猜你在找的Cocos2d-x相关文章