`
lizhuohuang
  • 浏览: 119921 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

cocos2dx 弹出模态窗口

 
阅读更多

cocos2dx 弹出模态窗口

弹出窗口触摸级别

            layer3->setTouchPriority(kCCMenuHandlerPriority-1);//设置触摸级别 -128最高
             layer3->setTouchMode(kCCTouchesOneByOne);
             layer3->registerWithTouchDispatcher();//注册可以触摸

 

 

bool PauseInfo::init(int m_nSco,int level) 
{ 
	 
	if (!CCLayer::init())  
    { 
        return false;
    }  
 
	m_pPausedTargets = CCDirector::sharedDirector()->getScheduler()->pauseAllTargets();
    CC_SAFE_RETAIN(m_pPausedTargets);
	 
	ccColor3B color = { 4, 4, 222};
    mSize=CCDirector::sharedDirector()->getWinSize(); 
    mBg= CCSprite::create("info/tishib.png"); 
    mBg->setPosition(ccp(mSize.width / 2, mSize.height / 2)); 
    this->addChild(mBg); 

      
	 //返回
       fhMenuItem = CCMenuItemImage::create( 
        "info/fanhui.png", 
        "info/fanhui.png", 
        this, 
        menu_selector(PauseInfo::fhOK)); 
    fhMenuItem->setPosition(ccp(mSize.width / 2, mSize.height / 2+20)); 
	fhMenuItem->setTag(level);
  

 
	//退出
	  tcMenuItem = CCMenuItemImage::create( 
        "info/tuichu.png", 
        "info/tuichu.png", 
        this, 
        menu_selector(PauseInfo::tcOK)); 
    tcMenuItem->setPosition(ccp(mSize.width / 2, mSize.height / 2-90)); 
	tcMenuItem->setTag(level);


    pMenu = CCMenu::create(fhMenuItem,tcMenuItem,NULL); 
    pMenu->setPosition(CCPointZero); 
    this->addChild(pMenu); 
      

		m_buttonArray=CCArray::create();
	 
		m_buttonArray->addObject(tcMenuItem);
	 	m_buttonArray->addObject(fhMenuItem);
	

    return true; 
} 
        
void PauseInfo::fhOK(CCObject* pSender ) 
{   

 
	CCDirector::sharedDirector()->getScheduler()->resumeTargets(m_pPausedTargets);
	this->removeFromParentAndCleanup(true);	 
  
}

void PauseInfo::tcOK(CCObject* pSender ) 
{  
   CCDirector::sharedDirector()->end();
	   
}
	 

bool PauseInfo::ccTouchBegan(CCTouch *touch, CCEvent * pEvent)
{
	 
	// 因为拦截了所有消息(包括按钮) 所以需要将消息手动传给模态对话框上的按钮
    if (pMenu) {
        m_bTouchedControl = pMenu->ccTouchBegan(touch, pEvent);
    }
     
    return true;
}
 
void PauseInfo::ccTouchMoved(CCTouch *touch, CCEvent * pEvent)
{
	  if (m_bTouchedControl == true) {
       pMenu->ccTouchMoved(touch, pEvent);
    }
}


void PauseInfo::ccTouchEnded(CCTouch *touch, CCEvent * pEvent)
{
	  if (m_bTouchedControl == true) {
			pMenu->ccTouchEnded(touch, pEvent);
		 }
}


void PauseInfo::ccTouchCancelled(CCTouch *touch, CCEvent * pEvent)
{
	  if (m_bTouchedControl == true) {
		    pMenu->ccTouchCancelled(touch, pEvent);
		  }
}

void PauseInfo::onExit(){
    CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this);
    CCLayer::onExit();
};

 

分享到:
评论

相关推荐

    cocos2d-x模态对话框的实现 vs2008实现 带工程

    在Cocos2d-x中,我们可以用一个不可透明的节点覆盖整个屏幕,模拟出模态效果。 3. **实现原理** 在Cocos2d-x中,模态对话框通常由一个背景层和一个内容层组成。背景层是半透明或者全透明的,用于遮盖底层的游戏...

    cocos2d-x 之 模态对话框

    在Cocos2d-x这个强大的2D游戏开发框架中,模态对话框是不可或缺的元素,它用于在游戏运行过程中暂停当前操作并显示一个需要用户交互的窗口。模态对话框通常包含确认、警告或者信息提示等,确保用户在进行重要操作前...

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    cocos2d-x-cocos2d-x-2.2.2.zip

    通过深入理解并掌握这个版本,开发者可以创建出运行在多种平台上的高质量游戏,享受到cocos2d-x带来的强大开发体验。无论是初学者还是经验丰富的开发者,都可以从中获益,提升自己的开发效率和作品质量。

    cocos2d-android.jar.zip_CoCos2d_android jar_android game_cocos2d

    cocos2d-android游戏引擎是著名游戏引擎cocos2d游戏引擎的Android版。cocos2d-android游戏引擎性能优越、易学、可以进行纯java编程、具有极高的研 究价值、大大的降低了开发者的学习成本。您只需要一台普通配置的...

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    《Cocos2d-x实战 JS卷 Cocos2d-JS开发》是一本深入探讨Cocos2d-...总之,这本书是JavaScript开发者进入Cocos2d-x世界的一把钥匙,通过深入学习,开发者可以利用Cocos2d-JS的强大功能,创造出富有创意和吸引力的2D游戏。

    cocos2d-x API中文文档

    【cocos2d-x API中文文档】是一份详尽的资料,主要涵盖了cocos2d-x游戏引擎的API,这份文档适用于2015年的最新版本。cocos2d-x是一个基于MIT许可证的开源游戏引擎,它以快速、简单且功能强大的特性闻名,允许开发者...

    cocos2d-x 3.0

    《cocos2d-x 3.0:游戏开发中的角色移动技术详解》 在游戏开发领域,cocos2d-x是一款广泛使用的开源2D游戏引擎,尤其在移动平台上的应用非常广泛。cocos2d-x 3.0版本带来了许多性能优化和新特性,使得开发者能够更...

    cocos2d-x json字符串与cocos2d::Value转换工具

    该资源主要用于cocos2d-x中Value与json字符串的相互转换,提供从json文件读取为cocos2d::Value,cocos2d::Value写入到文件,cocos2d::Value转换为json字符串,json字符串转换为cocos2d::Value。json字符串转换成cocos...

    Cocos2d-JS游戏开发

    Cocos2d-JS是一款强大的2D游戏开发...结合书中提供的示例和代码,你将有能力开发出自己的Cocos2d-JS游戏,无论是简单的休闲游戏还是复杂的策略大作,都能得心应手。在游戏开发的道路上,Cocos2d-JS是你不可多得的伴侣。

    cocos2d-x_v3.16安装及环境变量配置文档

    cocos2d-x 是一个开源的游戏开发框架,使用 C++ 语言编写,支持多平台发布,包括 iOS、Android、Windows、macOS、Linux 和 Web。cocos2d-x v3.16 是该框架的一个版本号,本文档主要介绍了该版本的安装流程以及环境...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    《cocos2d-x 3.8:经典游戏引擎源码解析》 cocos2d-x 是一个跨平台的游戏开发框架,它基于C++,同时提供了Lua和JavaScript的绑定,让开发者可以方便地在多种操作系统上创建2D游戏、演示程序和其他图形交互应用。这...

    cocos2d-x windows vs2010配置

    "cocos2d-x windows vs2010 配置详解" 本文将详细介绍如何在 Windows 环境下使用 Visual Studio 2010 配置 Cocos2d-x 游戏引擎。Cocos2d-x 是一个跨平台的游戏引擎,可以在多种平台上运行,包括 Windows、Mac OS X...

    cocos2d-android jar包全套.zip

    Cocos2d是一款开源的游戏开发框架,被广泛用于创建2D游戏、演示程序和其他互动内容。在Android平台上,Cocos2d-x是一个基于C++的版本,提供了原生的编程接口,同时也支持Java API,方便Android开发者使用。"cocos2d-...

    Cocos2d-x实战:C++卷(2版)源代码

    《Cocos2d-x实战:C++卷(2版)源代码》这本书是关于使用Cocos2d-x游戏引擎进行游戏开发的专业指南。Cocos2d-x是一个开源的、跨平台的游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言...

    Cocos2d-x实战C++卷关东升著完整版pdf

    《Cocos2d-x实战C++卷》是关东升所著的一本深入探讨Cocos2d-x游戏引擎开发的专业书籍。Cocos2d-x是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言为主要编程...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    《Cocos2d-x 3.x游戏开发实战》是一本深度探讨Cocos2d-x 3.x框架的游戏开发书籍,适合对游戏编程有兴趣的开发者学习。Cocos2d-x 是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多平台的...

    Cocos2d-x实战 JS卷

    《Cocos2d-x实战 JS卷》是一本深入探讨Cocos2d-x游戏开发的专著,主要聚焦于使用JavaScript语言进行游戏编程。Cocos2d-x是一个开源的游戏开发框架,广泛应用于移动设备和桌面平台,支持iOS、Android、Windows等多...

    Cocos2d-x 闪电特效

    "Cocos2d-x 闪电特效"正是这样一个专题,它探讨如何在Cocos2d-x环境中创建出逼真的闪电效果。 闪电特效通常涉及到电流的效果模拟,这种效果在游戏场景中常见于雷雨天气、魔法攻击或科技主题的游戏元素。在Cocos2d-x...

    Cocos2d-x实战++JS卷++Cocos2d-JS开发+PDF电子书下载+带书签目录+完整

    标题中提到了"Cocos2d-x实战++JS卷++Cocos2d-JS开发+PDF电子书下载+带书签目录+完整",这里面包含了几个关键知识点: 1. Cocos2d-x:是一个开源的游戏开发框架,它主要用于开发跨平台的游戏和应用程序,支持iOS、...

Global site tag (gtag.js) - Google Analytics