- 本帖最后由 rrobin 于 2013-9-7 22:38 编辑 *
— Begin quote from ____
%url%黑夜 发表于 2013-9-7 20:41
可反提供源码么?
— End quote
代码真的简单到不用开源…等我有空把修改步骤写一下吧…lua代码在文件夹里就可以看到
function UIButtonTest(Scene)
local widgetSize = widget:getRect().size
local displayValueLabel = UILabel:create()
displayValueLabel:setText("No Event")
displayValueLabel:setFontName("Marker Felt")
displayValueLabel:setFontSize(32)
displayValueLabel:setAnchorPoint(ccp(0.5, -1))
displayValueLabel:setPosition(ccp(widgetSize.width / 2.0, widgetSize.height / 2.0))
uiLayer:addWidget(displayValueLabel)
local alert = UILabel:create()
alert:setText("Button")
alert:setFontName("Marker Felt")
alert:setFontSize(30)
alert:setColor(ccc3(159, 168, 176))
alert:setPosition(ccp(widgetSize.width / 2.0, widgetSize.height / 2.0 - alert:getRect().size.height * 1.75))
uiLayer:addWidget(alert);
local button = UIButton:create()
button:setTouchEnable(true)
button:loadTextures("cocosgui/animationbuttonnormal.png", "cocosgui/animationbuttonpressed.png", "")
button:setPosition(ccp(widgetSize.width / 2.0, widgetSize.height / 2.0))
local function buttonEvent(eventType)
if eventType == "pushDown" then
displayValueLabel:setText("Touch Down")
elseif eventType == "move" then
displayValueLabel:setText("Touch Move")
elseif eventType == "releaseUp" then
displayValueLabel:setText("Touch Up")
end
end
button:registerEventScript(buttonEvent)
uiLayer:addWidget(button)
return Scene
end
function UIButtonTest_Scale9(Scene)
local widgetSize = widget:getRect().size
local displayValueLabel = UILabel:create()
displayValueLabel:setText("No Event")
displayValueLabel:setFontName("Marker Felt")
displayValueLabel:setFontSize(32)
displayValueLabel:setAnchorPoint(ccp(0.5, -1))
displayValueLabel:setPosition(ccp(widgetSize.width / 2.0, widgetSize.height / 2.0))
uiLayer:addWidget(displayValueLabel)
local alert = UILabel:create()
alert:setText("Button scale9 render")
alert:setFontName("Marker Felt")
alert:setFontSize(30)
alert:setColor(ccc3(159, 168, 176))
alert:setPosition(ccp(widgetSize.width / 2.0, widgetSize.height / 2.0 - alert:getRect().size.height * 1.75))
uiLayer:addWidget(alert);
local button = UIButton:create()
button:setTouchEnable(true)
button:setScale9Enabled(true)
button:loadTextures("cocosgui/button.png", "cocosgui/buttonHighlighted.png", "")
button:setPosition(ccp(widgetSize.width / 2.0, widgetSize.height / 2.0))
button:setSize(CCSizeMake(150,button:getContentSize().height * 1.5))
local function buttonEvent(eventType)
if eventType == "pushDown" then
displayValueLabel:setText("Touch Down")
elseif eventType == "move" then
displayValueLabel:setText("Touch Move")
elseif eventType == "releaseUp" then
displayValueLabel:setText("Touch Up")
end
end
button:registerEventScript(buttonEvent)
uiLayer:addWidget(button)
return Scene
end
function UIButtonTest__PressedAction(Scene)
local widgetSize = widget:getRect().size
local displayValueLabel = UILabel:create()
displayValueLabel:setText("No Event")
displayValueLabel:setFontName("Marker Felt")
displayValueLabel:setFontSize(32)
displayValueLabel:setAnchorPoint(ccp(0.5, -1))
displayValueLabel:setPosition(ccp(widgetSize.width / 2.0, widgetSize.height / 2.0))
uiLayer:addWidget(displayValueLabel)
local alert = UILabel:create()
alert:setText("Button Pressed Action")
alert:setFontName("Marker Felt")
alert:setFontSize(30)
alert:setColor(ccc3(159, 168, 176))
alert:setPosition(ccp(widgetSize.width / 2.0, widgetSize.height / 2.0 - alert:getRect().size.height * 1.75))
uiLayer:addWidget(alert);
local button = UIButton:create()
button:setTouchEnable(true)
button:setPressedActionEnabled(true)
button:loadTextures("cocosgui/animationbuttonnormal.png", "cocosgui/animationbuttonpressed.png", "")
button:setPosition(ccp(widgetSize.width / 2.0, widgetSize.height / 2.0))
local function buttonEvent(eventType)
if eventType == "pushDown" then
displayValueLabel:setText("Touch Down")
elseif eventType == "move" then
displayValueLabel:setText("Touch Move")
elseif eventType == "releaseUp" then
displayValueLabel:setText("Touch Up")
end
end
button:registerEventScript(buttonEvent)
uiLayer:addWidget(button)
return Scene
end