cocosbutton头文件|cocos js 怎样做出按钮选中效果

|

㈠ cocos编辑器中的Text怎么在代码中取出

安装好 CocoStudio 程序,并准备好所需要的素材建立新的项目,命名“ChaosFight”,设置分辨率(根据实际需要),这里手动填写分辨率。导入游戏的素材到项目,在界面添加图片框控件,显示背景根据需要添加控件,在这个主界面上我们添加了,一个图片框,下面四个文本按钮,再下面一排四个图片按钮,最下面是两个文本按钮和一个文本框(文本域)。在编辑时,我们需要注意以下几点:设置图片按钮之时,可以设置禁用时显示的图片。所有的可点击操作的控件,需要启用“交互”属性。设置按钮属性 默认图片 与 点击效果图 的图片相同(或者不同,按下效果图如果不设置,实际操作按下也不显示,空白)导出各部分资源文件2.2?其次我们需要一个 “修改密码” 的二级 UI 界面:新建立项目,并导入相关资源。设计界面,如下图所示:这里我们添加了三组密码框。而在设计这样三个类似控件集的时候,有个技巧,我们首先局部好一个个控件区域,如上“旧密码”区域,然后我们将相关的控件树结构,统一在一起,如图:点击右侧对象结构,我们可以复制整个树枝“节点”,然后粘贴到树中,如上图,“新密码”区域,我们将相关的控件集合在“新密码”节点,然后拖动此节点,可以很好的完成内部元素的相对位置。修改相关属性,命名规范并导出资源3?编写代码控制页面逻辑建立新的工程,引入 CocoGUILIB 扩展库,和 UI 编辑器导出的资源文件(工程建立步骤请实时关注官方说明,不同版本操作步骤不同,这里使用的时 2.1.4e 版本,请下载最新的版本库,以使用最简单的方法配置环境等。)创建一个新的场景类,用于加载我们的 UI 资源,并编写相关逻辑,其关键代码如下(实现加载,跳转逻辑控制功能) 所有代码即工程资源:?工程代码下载 地址:点击下载整个工程#ifndef TestCpp_ChaosFight_h#define TestCpp_ChaosFight_h#include "cocos2d.h"#include "CocosGUI.h"USING_NS_CC;USING_NS_CC_EXT;class ChaosFightUI: public CCLayer{public: static CCScene* scene(); virtual bool init(); CREATE_FUNC(ChaosFightUI); void tbChangePwdCallback(CCObject* pSender); void tbBindingEmailCallback(CCObject* pSender); void tbChangeRoleCallback(CCObject* pSender); void tbLogoutCallback(CCObject* pSender); void btnSoundEffectCallback(CCObject* pSender); void btnMusicEffectCallback(CCObject* pSender); void btnSavingElectricityCallback(CCObject* pSender); void btnVideoCallback(CCObject* pSender); void tbAboutCallback(CCObject* pSender); void tbClearCacheCallback(CCObject* pSender);void btnXCallback(CCObject* pSender); void tbOkCallback(CCObject* pSender);private: UILayer* ul;UILayer* ulPwd; UIButton* btnX; UITextButton* tbOk; UITextField* tfOldPwd; UITextField* tfNewPwd; UITextField* tfNewPwdConfirm; };#endif#include "ChaosFight.h"CCScene* ChaosFightUI::scene(){ CCScene* scene = CCScene::create(); CCLayer* layer = ChaosFightUI::create(); scene->addChild(layer); return scene;}bool ChaosFightUI::init(){ bool bRef = false; do{ CC_BREAK_IF(! CCLayer::init()); ul = UILayer::create(); // 设置 UI 层的tag this->addChild(ul, 0, 100); ul->addWidget(CCUIHELPER->createWidgetFromjsonFile("ChaosFight_1/ChaosFight_1.json")); // 获得各个控件,并添加点击事件 UITextButton* tbChangePwd = dynamic_cast<UITextButton*>(ul->getWidgetByName("tbChangePwd")); UITextButton* tbBindingEmail = dynamic_cast<UITextButton*>(ul->getWidgetByName("tbBindingEmail")); UITextButton* tbChangeRole = dynamic_cast<UITextButton*>(ul->getWidgetByName("tbChangeRole")); UITextButton* tbLogout = dynamic_cast<UITextButton*>(ul->getWidgetByName("tbLogout"));UIButton* btnSoundEffect = dynamic_cast<UIButton*>(ul->getWidgetByName("btnSoundEffect")); UIButton* btnMusic = dynamic_cast<UIButton*>(ul->getWidgetByName("btnMusic")); UIButton* btnSavingElectricity = dynamic_cast<UIButton*>(ul->getWidgetByName("btnSavingElectricity")); UIButton* btnVideo = dynamic_cast<UIButton*>(ul->getWidgetByName("btnVideo")); UITextButton* tbAbout = dynamic_cast<UITextButton*>(ul->getWidgetByName("tbAbout")); UITextButton* tbClearCache = dynamic_cast<UITextButton*>(ul->getWidgetByName("tbClearCache")); // 设置字体颜色 tbChangePwd->setTextColor(0, 0, 0); tbBindingEmail->setTextColor(0, 0, 0); tbChangeRole->setTextColor(0, 0, 0); tbLogout->setTextColor(0, 0, 0); tbAbout->setTextColor(0, 0, 0); tbClearCache->setTextColor(0, 0, 0); // 为控件添加处理事件 tbChangePwd->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::tbChangePwdCallback)); tbBindingEmail->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::tbBindingEmailCallback)); tbChangeRole->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::tbChangeRoleCallback)); tbLogout->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::tbLogoutCallback)); btnSoundEffect->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::btnSoundEffectCallback)); btnMusic->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::btnMusicEffectCallback)); btnSavingElectricity->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::btnSavingElectricityCallback)); btnVideo->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::btnVideoCallback)); tbAbout->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::tbAboutCallback)); tbClearCache->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::tbClearCacheCallback));bRef = true; }while(0); return bRef;}void ChaosFightUI::tbChangePwdCallback(cocos2d::CCObject *pSender){ // 创建加载修改密码界面 ulPwd 作为类成员属性,以便重用 ulPwd = UILayer::create(); ulPwd->addWidget(CCUIHELPER->createWidgetFromJsonFile("ChaosFightPassword_1/ChaosFightPassword_1.json")); this->addChild(ulPwd); ulPwd->setAnchorPoint(CCPoint(0.5,0.5)); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); ulPwd->setPosition(CCPoint(winSize.width / 2 – 250, winSize.height / 2 – 180)); // 获取点击确定按钮 tbOk = dynamic_cast<UITextButton*>(ulPwd->getWidgetByName("tbOk")); tbOk->addReleaseEvent(this, coco_releaseselector(ChaosFightUI::tbOkCallback)); tbOk->setTextColor(0, 0, 0); tfOldPwd = dynamic_cast<UITextField*>(ulPwd->getWidgetByName("tfOldPwd")); tfNewPwd = dynamic_cast<UITextField*>(ulPwd->getWidgetByName("tfNewPwd")); tfNewPwdConfirm = dynamic_cast<UITextField*>(ulPwd->getWidgetByName("tfNewPwdConfirm")); tfOldPwd->setColor(ccc3(0, 0, 0)); tfNewPwd->setColor(ccc3(0, 0, 0)); tfNewPwdConfirm->setColor(ccc3(0, 0, 0));ul->setTouchEnabled(false);}void ChaosFightUI::tbBindingEmailCallback(cocos2d::CCObject *pSender){ CCMessageBox("绑定邮箱", "title");}void ChaosFightUI::tbChangeRoleCallback(cocos2d::CCObject* pSender){ CCMessageBox("切换角色", "title");}void ChaosFightUI::tbLogoutCallback(cocos2d::CCObject *pSender){ CCMessageBox("注销", "title");}void ChaosFightUI::btnSoundEffectCallback(cocos2d::CCObject *pSender){ CCMessageBox("音效", "title");}void ChaosFightUI::btnMusicEffectCallback(cocos2d::CCObject *pSender){ CCMessageBox("音乐", "title");}void ChaosFightUI::btnSavingElectricityCallback(cocos2d::CCObject *pSender){ CCMessageBox("省电", "title");}void ChaosFightUI::btnVideoCallback(cocos2d::CCObject *pSender){ CCMessageBox("片头", "title");}void ChaosFightUI::tbAboutCallback(cocos2d::CCObject *pSender){ CCMessageBox("关于", "title");}void ChaosFightUI::tbClearCacheCallback(cocos2d::CCObject *pSender){ CCMessageBox("清楚缓存", "title");}void ChaosFightUI::btnXCallback(cocos2d::CCObject *pSender){ CCMessageBox("btnX", "title");}void ChaosFightUI::tbOkCallback(cocos2d::CCObject *pSender){ // 获取文本框值,并且打印 const char* value = tfOldPwd->getStringValue(); CCLog(value); ul->setTouchEnabled(true); this->removeChild(ulPwd);}最后运行效果如下:二级 UI 界面:文本输入框控件:

㈡ cocos creater 2.1版本,在2.5D下,button为什么这么难按到

正常的。。。。。

㈢ Cocos Creator按钮怎么可以设置为disable状态

this.node.getComponent(cc.Button).interactable = false;这个就是禁用,node就是你的那个Button的节点

㈣ cocos lua 给button添加 listener

可以用layer做,在layer里放两个sprite。sp1放没点的按钮图片,sp2里放点击之后的按钮图片。两个sprite重叠放置,sp1显示,sp2隐藏。layer监听touch事件,begin的时候sp1隐藏,sp2显示。moved时,只要不出layer范围保持原状,出范围sp2隐藏,sp1显示。end时执行你要做的事情。一直执行某个function可以使用sheleupdate做。用个全局变量保存按钮状态,点击时发现按钮已经按下了就跟上面的反过来,end时停止你要做的事就行了。

㈤ Cocos或者c++同个工程下却找不到头文件

如果在linux下要找头文件的话还是要 -I头文件的位置的,另外我就不知道了

㈥ cocos js 怎样做出按钮选中效果

cocos js 做出按钮选中效果示例:

一,首先使用cocos新建一个Cocos2d-js的新项目,然后再cocostudio中创建一个场景,在场景中添加三个按钮分别设置三态的图片

㈦ 如何使用Cocos Studio v3.10通过按钮控件切换场景

如何调用cocostudio创建场景中的按钮控件cocos2d::gui::TouchGroup* touchGroup = static_cast<cocos2d::gui::TouchGroup*>(render->getNode());UIWidget* widget = static_cast<UIWidget*>(touchGroup->getWidgetByName("Panel_20"));UIButton* button = static_cast<UIButton*>(widget->getChildByName("Button_24"));//为按钮添加触控事件button->addTouchEventListener(this, toucheventselector(MenuScene::touchEvent));return pNode;}[cpp] view plainprint?cocos2d::CCNode* MenuScene::createGameScene(){CCNode *pNode = SceneReader::sharedSceneReader()->createNodeWithSceneFile("yourJson.json");//加载第一个场景if (pNode == NULL){return NULL;}_node = pNode;//从场景中获取ui按钮控件CCComRender *render = static_cast<CCComRender*>(_node->getChildByTag(10013)->getComponent("GUIComponent"));cocos2d::gui::TouchGroup* touchGroup = static_cast<cocos2d::gui::TouchGroup*>(render->getNode());UIWidget* widget = static_cast<UIWidget*>(touchGroup->getWidgetByName("Panel_20"));UIButton* button = static_cast<UIButton*>(widget->getChildByName("Button_

㈧ cocoscreator怎么访问button的label

cocoscreator怎么访问button的label. Find function在运行Turbo C debugger时用于显示规定的函数。4. Refresh display如果编辑窗口偶然被用户窗口重写了可用此恢复编辑窗口的内容。1.13.10 Break/watch菜单按Alt+B可进入Break/watch菜单, 该菜单有以下内容,如图所示:1. Add watch: 向监视窗口插入一监视表达式。2. Delete watch:从监视窗口中删除当前的监视表达式。3. Edit watch:在监视窗口中编辑一个监视表达式。4. Remove all :watches从监视窗口中删除所有的监视表达式。5. Toggle breakpoint:对光标所在的行设置或清除断点。6. Clear all breakpoints:清除所有断点。7. View next breakpoint:将光标移动到下一个断点处。

㈨ 在Cocos Studio中添加了laber,输入的文字变形

1 关于 cocosStudio下载安装以及使用CocosStudio下载地址 http://www.cocos.com/cocos/cocosdownloads/具体CocosStudio怎么使用的,网络上资料还比较多,而且使用起来确实不难,这里就不多说了。初次测试可以就放一个Sprite,然后就发布就好了。注意发布之后,res目录【cocosStudio默认的发布目录】下的所有文件都需要到 cocos2d-x 项目的 Resources 目录下去。这样加载的时候,所有资源才会顺利加载。2 如果在cocos2d-x 中加载 csb文件。bool HelloWorld::init(){ //cocos2d::Node *m_csbNode; //定义为成员变量是因为 csb文件返回类型需要在其他类的函数中使用m_csbNode = CSLoader::createNode("Login.csb"); //注意csb文件已经到Resources目录了。this->addChild(m_csbNode); //通过name得到在cocosStudio里增加的按钮。注意,cocosStudio的类型和cocos2d-x中的类是一一对应关系。 Button *button1 = static_cast<Button*>(m_csbNode->getChildByName("Button_1")); button1->addClickEventListener(CC_CALLBACK_1(HelloWorld::button1ClickCallback, this)); }其中 void button1ClickCallback(cocos2d::Ref* pSender); 为头文件中定义的 回调函数。通过这样的代码,就可以看到我们在 cocosStudio中自己定义的界面了。如果有编辑框的,则使用TextField *textField1 = static_cast<TextField*>(m_csbNode->getChildByName("TextField_1")); std::string str1 = textField1->getString();返回控件指针,然后使用。


赞 (0)