Cocos2d-lua,Button 切換圖片時的適配處理

1,Cocos2d中的Button能夠經過兩種方式建立:緩存

代碼:ui

local btn = ccui.Button:create()

CocosStudio:lua

直接使用Button空間,拖拽到指定的位置調整好須要的屬性便可。code

local btn = panel:getChildByName("button")
button:addClickEventListener(function(sender, type)
     --TODO       
 end)添加按鈕監聽事件。

ok,上面就是按鈕簡單的使用,這裏要說的是第二種狀況下的一個小需求。orm

使用控件生成的按鈕,起初的大小,scale9屬性都是既定設置好的,如今想使用新的圖片替換以前按鈕設置好的正常,按下的效果,沒錯,使用:事件

loadTextureNormal(name, type) --替換正常顯示的效果
loadTexturePressed(name, type)--替換按下顯示的效果
loadTextureDisabled(name, type)--替換禁用的效果
type==0,表示從本地加載,type==1,表示從緩存的cache也就是打包生成的plist里加載

問題來了,當你以前替換的按鈕大小和scale9的屬性和須要的不一致時,就得考慮到大小和scale9的問題,以便新生成的圖片能夠正常顯示,不會出現大小不合適或拉伸很差看的問題,好吧,直接給出解決辦法:圖片

1,更換按鈕:loadNormalTexture
2,setScale9Enabled
3,setSize,設置新按鈕的大小
4,setCapInsets()這裏面的字就是你新的按鈕scale時對應從下到上的數值:get

相關文章
相關標籤/搜索