Cocos2d-x的学习之旅(六)输入框

Cocos2d-x的学习之旅(六)输入框,第1张

概述声明 本教程仅用于初学cocos2dx同学使用,内容由本人(Code-Man)编写,此教程使用cocos2dx版本为3.4。本教程内容可以自由转载,但必须同时附带本声明,或注明出处。QQ群:Cocos2d-CodeMonkey ,461679592。 又是一个深夜啊,但也就是深夜才更有灵感解决问题。这大概就是CodeMonkey的职业病吧!!!白天上班总提不起劲,晚上就睡不着。我希望有一天,我们程

声明

本教程仅用于初学cocos2dx同学使用,内容由本人(Code-Man)编写,此教程使用cocos2dx版本为3.4。本教程内容可以自由转载,但必须同时附带本声明,或注明出处。QQ群:Cocos2d-CodeMonkey,461679592

又是一个深夜啊,但也就是深夜才更有灵感解决问题。这大概就是CodeMonkey的职业病吧!!!白天上班总提不起劲,晚上就睡不着。我希望有一天,我们程序员能自由分配自己的上班时间,只要能解决问题管你来不来公司。虽然国外很多企业实现了在家办公,生在天朝的我们也就只有羡慕的份了。。。。

进入正题吧。今天学的是输入框,这个是什么?不要问拉低智商的问题。。。不想回答。今天的目标是学会用,知道输入框存在的坑。


今天任务:做一个屌炸天的兑换码的兑换界面

今天的资源:

终于清除了我们用了几节课的场景,背景不换继续我们《罪恶王冠》。哈哈哈!!!!

先来拼图吧,有了前面的知识,为了不多说废话,不会重复讲已经说过的知识。




效果图:


如果把我们的输入框的背景去掉,使用Scale9Sprite看看是一个怎样的效果???


由于我们输入框的背景图是椭圆形的所有,文字跟输入框的融合有点突入。并不美观。如果你要调整文字的大小你需要去调整输入框的高度,但相应的输入框的背景图片也会相应的缩小,输入框背景和文字成正比关系。不管你怎么调它都会按照这个比例调整。所有我们才要把输入框文字和输入框背景分开。

关于为什么输入框文字不管怎么设置的大小都改变不了的情况。我真不知道,哈哈哈!!!!,如果知道的小伙伴欢迎告诉我,但我知道只要改变输入框的高度可以改变文字的大小。


                //输入框背景    auto input@R_301_6951@ = Sprite::create("exchage_input_frame.png");//    input@R_301_6951@->setposition(exchage_bg->getContentSize()/2+Size(0,30));//    exchage_bg->addChild(input@R_301_6951@);            /**     *  输入框控件     *  1.Size 输入框的大小     *  2.Scale9Sprite 输入框背景,由输入框的大小决定输入框背景的大小,这里我们并没有传入参数,而是自己创建了一个输入框背景。     */    auto edit@R_301_6951@ = Edit@R_301_6951@::create(Size(input@R_301_6951@->getContentSize().wIDth,input@R_301_6951@->getContentSize().height),Scale9Sprite::create("exchage_input_frame.png"));    edit@R_301_6951@->setposition(exchage_bg->getContentSize()/2+Size(30,30));    edit@R_301_6951@->setMaxLength(8);   //输入框最多能输入多少个字符    edit@R_301_6951@->setText("请输入兑换码"); //初始化文字    edit@R_301_6951@->setFontcolor(color3B(255,0));   //文字颜色    edit@R_301_6951@->setFontSize(10);   //文字的大小:注意!!!  这个设置没有任何效果。这也是为什么要自己建立背景的一个问题    exchage_bg->addChild(edit@R_301_6951@);            //兑换按钮    auto Exchangebuttom =MenuItemImage::create("exchage_button.png","exchage_button.png");    Exchangebuttom->setposition(Point(exchage_bg->getContentSize().wIDth/2,40));    Exchangebuttom->setCallback([&,edit@R_301_6951@](Ref*obj){                //取得输入框里面的文字,输出到控制台        log("%s",edit@R_301_6951@->getText());    });            auto menu = Menu::create(Exchangebuttom,NulL);    menu->setposition(Point::ZERO);    exchage_bg->addChild(menu);        

注意!!!!!!!!!!

如果使用的是cocos2dx3.2的Monkey,在IOS8以上的真机调试的时候一定会遇到,整个游戏画面向右移动的问题。

解决方法在这里:http://www.cocoachina.com/bbs/read.php?tid-271139.html 既然有解决方法我就不重复了。

如果还不能解决的欢迎加入Q群,可以帮你解决这个问题。




最近心情很郁闷~~~~~~ 下期见,我是CodeMonkey 我有我的傲娇!!!

本文Demo下载

总结

以上是内存溢出为你收集整理的Cocos2d-x的学习之旅(六)输入框全部内容,希望文章能够帮你解决Cocos2d-x的学习之旅(六)输入框所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061024.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存