使用Cocos Studio中的按钮

在没有Cocos Studio的时候通常使用菜单作为按钮,在Cocos Studio中不用这么麻烦了,Cocos Studio中自带了一个按钮控件,使用Cocos Studio自带的按钮控件可以直接在界面上添加按钮

首先启动Cocos Studio,并且创建好一个C++项目

向Cocos Studio中添加一张图片用作窗口的背景图片,并且按照下面的方法将图片添加到MainScene场景中

按照下面演示的方法在场景中添加一个按钮

按照面展示的操作方式删掉按钮上的文字

设置按钮正常状态时的图片

选中按钮->单击鼠标右键->设置按钮样式->正常状态

选择按钮正常状态下的图片,选择一张图片,并且单击打开

设置好按钮正常状态下图片后的效果

设置按钮按下状态时的图片

选中按钮->单击鼠标右键->设置按钮样式->按下状态

选择按钮按下时的图片,选择一张图片,并且单击打开

设置完成后单击下面标注的按钮出现一个展示效果的界面

展示效果

发布项目,将项目发布到Visual  Studio,并且将HelloWorldScene.h中的代码改成下面的代码

#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__

#include "cocos2d.h"
#include "cocostudio/CocoStudio.h"
#include "ui/CocosGUI.h"

USING_NS_CC;

//使用动画相关的类引用的命名空间
using namespace cocostudio::timeline;

//使用UI引用的命名空间
using namespace cocos2d::ui;

class HelloWorld : public Layer
{
public:
	CREATE_FUNC(HelloWorld);

	static Scene* createScene();
	bool init();

	//按钮响应函数
	void Option(Ref* pSender, Widget::TouchEventType type);
};

#endif // __HELLOWORLD_SCENE_H__

将HelloWorldScene.cpp中的代码改成下面的代码

#include "HelloWorldScene.h"

Scene* HelloWorld::createScene()
{
    auto scene = Scene::create();

    auto layer = HelloWorld::create();

    scene->addChild(layer);

    return scene;
}

bool HelloWorld::init()
{
    if(!Layer::init())
    {
        return false;
    }

	//加载Cocos Studio编辑好的资源
    auto rootNode = CSLoader::createNode("MainScene.csb");
    addChild(rootNode);

	//通过按钮的名字获得按钮
	Button* button = dynamic_cast<Button*>(rootNode->getChildByName("Button"));

	//添加监听
	button->addTouchEventListener(CC_CALLBACK_2(HelloWorld::Option, this));

    return true;
}

//按钮响应函数
void HelloWorld::Option(Ref* pSender, Widget::TouchEventType type)
{
	switch(type)
	{
		//按下按钮
		case Widget::TouchEventType::BEGAN:
		{
			log("Down !");
		}
		break;

		//松开按钮
		case Widget::TouchEventType::ENDED:
		{
			log("Up !");
		}
		break;

		//在按钮上移动
		case Widget::TouchEventType::MOVED:
		{
			log("Move !");
		}
		break;

		//取消按钮
		case Widget::TouchEventType::CANCELED:
		{
			log("Cancel !");
		}
		break;
		default:
		break;
	}
}

执行结果:

当按下按钮时会打印Down !

当松开按钮时会打印Up !

当按下按钮并且在按钮上滑动时会打印 Move !

单击此处下载资源和代码

时间: 2024-08-27 12:04:01

使用Cocos Studio中的按钮的相关文章

Android Studio中Run按钮app的module显示红叉

app出现红叉提示找不到Android SDK 一.直接有效 1. ?File -> Invalidate Caches -> Invalidate 2. ?File -> Close Project. 3. ?Remove the project from the AS project selector window. 4. ?Quit from Android Studio 5. ?Start AS and open project again 二.根本分析 项目切换到:Projec

cocos Studio中ScrollView选择裁切后显示白底的问题

ui::ScrollView * m_pScrollView; m_pScrollView = static_cast<ui::ScrollView*>(Helper::seekWidgetByName(_layout, "ScrollView_97")); m_pScrollView->setClippingType(ui::Layout::ClippingType::SCISSOR);

Cocos2d-x使用Cocos Studio制作界面并应用---之游戏开发《赵云要格斗》(11上)

         这里是Evankaka的博客,欢迎大家前来讨论与交流------         转载请注明出处http://blog.csdn.net/evankaka/article/details/42883881 本文主要讲了怎么用Cocos Studio制做登陆界面,并导出成Json文件,直接在coco2d-x中来调用.这样做的好处就是界面和代码是分离的,你如果想改界面的话,就可以直接在外面用Cocos Studio来修改,只要不修改按钮之类的名称,你的功能代码完全不用修改,只要将导

加载cocos studio场景

今天尝试加载cocos studio的场景. 新版的cocos studio中,"导出"选项变成了"发布".发布之后会生成一个res文件夹,其中每个场景有一个.csb文件,在c++代码中,可以调用CSLoader::createNode直接加载这个csb文件,再把加载后生成的Node放入Scene中. 来自为知笔记(Wiz)

AndRodi Strudio中的按钮时件

AndRodi Studio中的按钮时件注册一定要写在onCraete中 @Override protected void onCreate(Bundle savedInstanceState) { //创建事件用以下代码 Button btn = (Button) findViewById(R.id.btn_on); //创建事件 btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(

Cocos开发中Visual Studio下HttpClient开发环境设置

?Cocos2d-x 3.x将与网络通信相关的类集成到libNetwork类库工程中,这其中包括了HttpClient类.我们需要在Visual Studio解决方案中添加libNetwork类库工程.为了能够在Visual Studio 2012下HttpClient开发,我们需要设置内容如下:在解决方案中添加libNetwork库工程.添加libNetwork库引用.配置头文件搜索路径.配置libcurl库. 1.在解决方案中添加libNetwork库工程首先,打开解决方案,右键点击解决方案

Cocos2d-x 3.8.1+Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画

Cocos2d-x 3.8.1+Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画 引子 这段时间一直努力在把早期版本的拇指接龙游戏(Cocos2d-x 2.2.3+CocoStudio 1.4.0.1)升级到当前相对稳定的高大上环境--Cocos2d-x 3.8.1+Cocos Studio 2.3.2.行程中遇到不少麻烦,时间不知不觉像流水一样悄然逝去(这正是我时不时酸酸地想起"程序猿"三字的主要原因).想之再三,还是努力记录下来,一来为自己可能逝去的记忆,二来为

Cocos Creator开发中的按钮节点的事件处理方法

Cocos Creator开发中的按钮节点的事件处理方法 Cocos Creator基于Cocos2d-x(C++方案),提出全新的编程理念.Cocos Creator是以内容创作为核心的游戏开发工具,在Cocos2d-x基础上实现了彻底脚本化(可以使用Javascript.Typescript或者Coffeescript).组件化和数据驱动等特点.但是,在事件处理机制上并不显得简单,至少是新手初学阶段如此.下面我们通过场景制作中按钮组件的事件处理机制来说明这个问题. 试验目的 通过为按钮组件设

让Cocos Studio 2.3.2制作UI界面中控件支持运行3d动作特效的间接途径

引子 下了课有点小空,回想起前天的Studio中UI控件的3D动作问题,还是有点放心不下,毕竟3D高级动作特效是一件游戏开发的"法宝".在仔细地研究了Waves3D等3D高级动作特效之后,我找到了一种如本文标题所示的间接途径.有兴趣的朋友可以参考一下. 实现过程记录 先上图,下图给出的是我的教学游戏中游戏中启动场景在Cocos Studio 2.3.2中的截图,同学们可以注意我在图中标记的部分. 显然,在上图中,我在原先的Cocos2d-x 2.x(结合早期的CocoStudio 2.