Button:按钮
测试demo实现效果:
Button组件创建后可以看到:
Btn父节点下跟着Background背景和lbl按钮文字,
其中Btn父节点主要是操作属性检查器上的
实现对应的功能。
Target:一般target就指向background这个节点,改变target的话就会出现点击指定的按钮,反而有反应的是其他按钮的情况。
Interactable:按钮是否可交互,点掉之后按钮就失效了。
Transition:按钮的过渡类型:
SPRITE:
正常情况下的样式,按下去的样式,鼠标移动到上面时候的样式,按钮在不可用时候是什么样式的(比如Interactable关闭时)
COLOR:
Color实际上就多了个duration,控制按钮颜色变化的过渡时间(把duration调成10的话,鼠标移动到按钮上面变红就需要十秒)
SCALE:
按钮在这个模式下点击会放大缩小,放大缩小几倍由Zoom Scale决定,Duration决定放大缩小的速度。
最后处理按钮点击事件:
第一格放挂载脚本的节点,第二个选择脚本,第三个选择回调函数
btnCotroller:
@property(cc.Sprite)
pic: cc.Sprite ;
@property(cc.SpriteFrame)
pic2 : cc.SpriteFrame[] = Array<cc.SpriteFrame>() ;
@property(cc.Button)
Btn1: cc.Button ;
// LIFE-CYCLE CALLBACKS:
// onLoad () {}
clickScale(){
console.log(this.Btn1.node.getChildByName('lbl'))
cc.tween(this.pic.node)
.to(1.0,{scale:2}).start();
//this.Btn1.node.getChildByName('Background').color = new cc.Color().fromHEX("#FFFFA7");;
}
clickMove(){
console.log("sss")
cc.tween(this.pic.node)
.to(1.0,{position:cc.v3(300,80)}).start();
}
clickChange(){
let num =Math.round(Math.random()) ;
console.log(num)
this.pic.getComponent(cc.Sprite).spriteFrame = this.pic2[num];
}
如果我想按下去的时候可以边放大边改变颜色应该怎么办?