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