很简单的一个需求,我只是想要让每次添加的button组件默认选择scaleTransition模式,并且能修改zoomScale和during的默认值。
因为每次加一个按钮都得修改很麻烦,一个项目的按钮变化模式应该是相同的,cocos有没有提供修改默认值的方法呢?
因为只是一个简单的需求,我看定制引擎还要有一堆操作,看得头疼。。
很简单的一个需求,我只是想要让每次添加的button组件默认选择scaleTransition模式,并且能修改zoomScale和during的默认值。
因为每次加一个按钮都得修改很麻烦,一个项目的按钮变化模式应该是相同的,cocos有没有提供修改默认值的方法呢?
因为只是一个简单的需求,我看定制引擎还要有一堆操作,看得头疼。。
修改engine下的CCButton.js
修改注意备份。
修改完成后按照官方文档引擎定制流程,编译后再编辑器中配置使用
http://docs.cocos.com/creator/manual/zh/advanced-topics/engine-customization.html
这种东西不太建议修改源码,你可以自己外挂一个组件。
cc.Class({
extends: cc.Component,
properties: {
pressedScale: 1,
transDuration: 0
},
// use this for initialization
onLoad: function () {
var self = this;
var audioMng = cc.find('Menu/AudioMng') || cc.find('Game/AudioMng')
if (audioMng) {
audioMng = audioMng.getComponent('AudioMng');
}
self.initScale = this.node.scale;
self.button = self.getComponent(cc.Button);
self.scaleDownAction = cc.scaleTo(self.transDuration, self.pressedScale);
self.scaleUpAction = cc.scaleTo(self.transDuration, self.initScale);
function onTouchDown (event) {
this.stopAllActions();
if (audioMng) audioMng.playButton();
this.runAction(self.scaleDownAction);
}
function onTouchUp (event) {
this.stopAllActions();
this.runAction(self.scaleUpAction);
}
this.node.on(cc.Node.EventType.TOUCH_START, onTouchDown, this.node);
this.node.on(cc.Node.EventType.TOUCH_END, onTouchUp, this.node);
this.node.on(cc.Node.EventType.TOUCH_CANCEL, onTouchUp, this.node);
}
});