【步兵 cocos-js】cc.EditBox 的 快速创建

时间:2021-09-11 18:18:14

【步兵 cocos-js】cc.EditBox 的 快速创建 by EOS.

快速创建接口

es.newEidtBox = function (panel, hintStr, delegate, pic) {
es.dePanel(panel);//去掉panel的格式
var fontSize = panel.getContentSize().height*0.8;
var tmpEidtBox = new cc.EditBox(panel.getContentSize(), new cc.Scale9Sprite(nil == pic ? Default_PNG : pic));
tmpEidtBox.addTo(panel);
tmpEidtBox.setFontSize(fontSize);
tmpEidtBox.setPlaceHolder(hintStr);
tmpEidtBox.setPlaceholderFontSize(fontSize);
tmpEidtBox._backgroundSprite.setVisible(false);
tmpEidtBox.needsLayout = function () {
}
tmpEidtBox.passwordType = function () {
tmpEidtBox.setInputFlag(cc.EDITBOX_INPUT_FLAG_PASSWORD);
}
tmpEidtBox.showBackGround = function () {
tmpEidtBox._backgroundSprite.setVisible(true);
}
if (nil != delegate) {
tmpEidtBox.setDelegate(delegate);
}
return tmpEidtBox;
//下面是delegate,用到的话,转到定义直接粘贴过去~
// panel.attr({
// editBoxEditingDidBegin: function (editBox) {
// cc.log("editBox " + editBox.getTag() + " DidBegin !");
// },
//
// editBoxEditingDidEnd: function (editBox) {
// cc.log("editBox " + editBox.getTag() + " DidEnd !");
// },
//
// editBoxTextChanged: function (editBox, text) {
// cc.log("editBox " + editBox.getTag() + ", TextChanged, text: " + text);
// },
//
// editBoxReturn: function (editBox) {
// cc.log("editBox " + editBox.getTag() + " was returned !");
// },
// });
}

测试代码

var editPanel = this.rootNode.deepFind("Panel_1");
var testEditBox = es.newEidtBox(editPanel, "test");
testEditBox.setMaxLength(16);
//testEditBox.showBackGround();
testEditBox.passwordType();

截图

1.编辑器中
【步兵 cocos-js】cc.EditBox 的 快速创建
2.未操作时
【步兵 cocos-js】cc.EditBox 的 快速创建
3.输入过后
【步兵 cocos-js】cc.EditBox 的 快速创建

题外话

我喜欢用自己感觉最熟悉的方式,最舒服的用法,来编写代码。
当然这个过程是不断摸索的,可能现在觉得写的不错的,后面会被
完全推翻也不一定,不过这么一写,可读性是不是更强了呢?

最近开始用js了。用的好爽,*度好高,方便到爆了!
说实话,用c++实现可能就变得不要不要的了,代码肯定不会看着这么舒服~
我还是js新手,好多高级写法还不会,继续摸索,有好东西继续分享给大家。

See Again~
之前
真爱无价,欢迎打赏~
【步兵 cocos-js】cc.EditBox 的 快速创建