非批渲染的按钮,可以通过ZButton.createButton的方法进行创建:
var button = ZButton.createButton(assets.getBitmapData("button"));
批渲染使用的按钮对象,使用方法可以直接通过BButton.createButton方法创建:
//创建一个按钮
var button = BButton.createButton(assets.getTextureAtlas("GameUI"),
"GameUI:btn1"));
assets.getBitmapData(//添加到批渲染中
batchs.addChild(button);
如按钮需要侦听点击事件,可简易的使用:
function():Void{
button.clickEvent = //点击事件
}
BButton以及ZButton对象类都是使用zygame.commponents.skin.BaseSkin
类管理皮肤。当需要更换图像的内容时,可简单通过以下方式更换,但需要注意批渲染需要提供精灵数据,而非批渲染则需要提供位图数据:
//更换upSkin对象
"button2"); button.skin.upSkin = assets.getBitmapData(
当通过createButton方法,只传入了一个upSkin参数的图像数据时,该Button被点击时,会呈现缩放效果。 当通过createButton方法,传入了upSkin,以及downSkin图像数据时,该Button被点击时,会呈现切换为downSkin图像效果。
当批渲染按钮需要支持九宫格时,请使用zygame.display.batch.BScale9Button
功能:
var button:BScale9Button = BButton.createScale9Button(精灵表,宽,高,默认皮肤);
//很多时候九宫格都是不含内容的,需要追加内容时,请使用精灵数据通过setConntent方法添加。
button.setConntent(精灵数据);
当需要给ZButton
以及BButton
添加点击音效时,可直接设置:
"音频ID"; //点击成功会触发该ID的音频,资源需要与ZBuilder.bindAssets绑定。 ZButton.defaultSound =
如果需要给按钮覆盖音频,则为sound
属性填写音频ID:
var btn:ZButton = ZButton.createModelButton("测试");
"音频ID"; //该音频优先级会比ZButton.defaultSound高。 btn.sound =