什么是层,层在cocos2dx里是一个能处理触摸事件的CCNode,因为它负责用户交互,因此大部分游戏细节都在这个类中完成,所以我们经常派生这个图层来完成逻辑交互代码。当然如果你的图层不需要接受交互信息,那么你可以直接使用CCNode来做图层,效率更高   触摸处理设置: 默认情况下,CCLayer并不接收触摸事件,只有设置了接收触摸事件才能接受触摸 CCLayer::setTouchEnabled(true); 这样Layer就能响应触摸实现了,当触摸开始时 voidCCLayer::ccTouchesBegan(CCSetpTouches,CCEventpEvent);被调...

  tEcohMEyDsEb   2023年11月02日   31   0   0

之前的文章介绍了深度图的获取,但是深度图只是提供了一些数据,这些数据给上层应用使用还是偏底层一些,我们希望在这个基础上,获取一些信息,比如手挥动,人跑步,或者运动等等,那么这个文章开始我们来讲述kinect骨骼跟踪的技术。在例子程序里,有一个例子叫做SkeletonBasics-D2D的程序,我们基于这个程序来学习骨骼跟踪。   在说骨骼跟踪之前,我们先看看效果图吧     这个是我的小伙伴在kinect前摆的pos截下来的图,是不是很高深呢。kinect产生的深度数据作用有限,要利用kinect创建真正意义上的交互,就需要分析深度数据之后,过滤出更加有...

  tEcohMEyDsEb   2023年11月02日   59   0   0

TGC是一个后台应用程序,它负责和脑波设备建立连接,并获取数据,另一方面,它打开了一个端口在监听,让二次开发的应用程序,可以通过socket连接到这个TGC后台程序,获取脑波数据并展示,这种接口适合非常高级的语言开发的游戏或者是其他应用,比如用flash来开发的游戏。这里演示还是用c语言,演示连接端口以及获取数据的方法。 演示代码如下:   / Copyright(c)2014-2015传智播客 Allrightsreserved. 文件名称:main.cpp 简要描述:该文件演示了脑波程序通过TGC与设备通信 创建日期:2014-02-03 作者: 说明:1.0 修改日...

  tEcohMEyDsEb   2023年11月02日   47   0   0

对于TGCD的开发,神念科技提供的文件包括,头文件thinkgear.h,thinkgear.lib,thinkgear.dll,有这三个文件,在win32下开发就不是什么难事了吧 如果是java语言开发,那么有ThinkGear.java 如果是C,那么可以参考ThinkGear.cs 我们这里只讲述C接口,对于C接口,在开发包目录下还有个示例程序thinkgear_testapp.c程序,你可以用vc打开,并链接上thinkgear.lib即可以运行。   将示例程序整理如下:   / Copyright(c)2014-2015传智播客 Allrightsres...

  tEcohMEyDsEb   2023年11月02日   24   0   0

数据流开发神念科技提供了两个文件ThinkGearStreamParse.h和ThinkGearStreamParse.cpp两个文件,主要接口为: 宏定义: /DataCODEdefinitions/definePARSER_CODE_BATTERY      0x01definePARSER_CODE_POOR_QUALITY   0x02definePARSER_CODE_ATTENTION     0x04definePARSER_CODE_...

  tEcohMEyDsEb   2023年11月02日   39   0   0

神念科技提供的mindwave提供了脑波耳机和相应的游戏,这些游戏你可以通过购买神念科技的mindwave耳机来获取,这里不多作介绍。 我们作为程序员,如果有了相应的创意,也可以通过他们提供的二次开发接口,来写自己的应用程序。   二次开发接口主要是通过神念提供的接口来获取脑波数据,我们的应用程序根据量化的脑波数据来实现一些展示或者控制,比如用脑波数据代替鼠标来进行游戏控制,代替鼠标和键盘。   神念科技提供的丰富的二次开发接口,开发接口包括三层,分别用于不同的开发环境: 我们的应用程序可以通过蓝牙直接获取脑波数据,这个接口叫做数据流分析接口。或者通过神念提供的驱动...

  tEcohMEyDsEb   2023年11月02日   27   0   0

用C来实现手势识别是比较困难的,所以在这个例子,我们只实现了握拳和松手的手势识别,其他没有实现。 先上个效果图:     在这个程序里,我们打开了kinect的RGB流,深度流,骨骼数据流和手势识别流。其中手势识别接口需要骨骼数据流和深度流来进行计算。 代码如下:   / Copyright(c)2014-2015传智播客 Allrightsreserved. 文件名称:main.cpp 简要描述:该文件演示了Kinectforwindows手势例子 创建日期:2014-01-20 作者: 说明:1.0 修改日期: 作者: 说明: / include...

  tEcohMEyDsEb   2023年11月02日   40   0   0

何为手势识别,就是电脑认识人手的自然动作。自然动作包括摆手,握拳,双手合十等等。如果电脑能认识我们这些手势,将来的人机交互将会变得简单而有趣。这里手势不等同于某些规定的动作,比如按鼠标左键,则不属于手势,这个动作的结果是固定的,而手势有一定的随意性,容易被电脑误会,但是也有一定的规律可循,这些手势在现实生活中也表示一些特定的意义。   kinect在v1.7.0的开发包的工具包中,新增了手势识别的功能。手势识别的框架如下: 最底层是KinectInteraction1.7.0_.dll,提供C接口,可供C开发。 在这个dll基础上,封装了Microsoft.Kinect.To...

  tEcohMEyDsEb   2023年11月02日   41   0   0

  有的同学建议先上图,好吧,先上效果图 再看代码,创建了两个CCControlSlider在主窗口中     //on"init"youneedtoinitializeyourinstance boolControlSlider01::init() { // //1.superinitfirst if(!MenuLayer::init()) { returnfalse; } CCSizescreenSize=CCDirector::sharedDirector()->getWinSize(); //Addtheslider CCControl...

  tEcohMEyDsEb   2023年11月02日   86   0   0

CCControlSwitch也是extension中的控件,本身比较简单,直接上例子 //on"init"youneedtoinitializeyourinstance boolControlSwitch01::init() { // //1.superinitfirst if(!MenuLayer::init()) { returnfalse; } CCSizesize=__winSize; //Createtheswitch CCControlSwitchswitchControl=CCControlSwitch::create ( CCSprite::create("ex...

  tEcohMEyDsEb   2023年11月02日   87   0   0

CCTextFieldTTF是一个简单的封装,用起来不是那么便利,在cocos2dx的extension里,对输入框有更加简单使用的类,那就是CCEditBox 上代码先: boolEditBox01::init() { // //1.superinitfirst if(!MenuLayer::init()) { returnfalse; } CCSizesize=__winSize; m_pEditName=CCEditBox::create(CCSizeMake(size.width-100,60),CCScale9Sprite::create("extensions/gre...

  tEcohMEyDsEb   2023年11月02日   33   0   0

CCTextFieldTTF是一个提供文本输入的控件。 先上个简单的例子 CCSizesize=__winSize; CCTextFieldTTFtextEdit=CCTextFieldTTF::textFieldWithPlaceHolder("inputhere",FONT_NAME,FONT_SIZE); addChild(textEdit); textEdit->setPosition(ccp(size.width/2,size.height/2)); 以上代码只是将控件放到界面上,但是鼠标点点,发现没反应的,没有虚拟键盘出来。那我们就是要做一个功能,当鼠标或者触摸...

  tEcohMEyDsEb   2023年11月02日   45   0   0

为了更加个性化,系统提供的字体,有时候没法满足我们的要求,所以cocos2dx提供了自定义字体控件。 分别是CCLabelBMFont和CCLabelAtlas,先看BMFont的效果 CCLabelBMFontlabel=CCLabelBMFont::create("abc","fonts/bitmapFontTest.fnt"); addChild(label); label->setPosition(ccp(__winSize.width/2,__winSize.height/2)); 在上面的代码中,我们创建了一个CCLabelBMFont,第一个参数制定要显示的内...

  tEcohMEyDsEb   2023年11月02日   34   0   0

有些时候需要在界面上显示些文字,自然涉及到字体的问题 显示文字使用CCLabelTTF即可,创建方法是 CCLabelTTF(constchartext,constcharfont,intsize); 系统自带了很多字体,不多说了,直接上代码和图吧 staticstd::string_font[]={ "AppleGothic", "HiraKakuProN-W6", "HiraKakuProN-W3", "MarkerFelt-Thin", "STHeitiK-Medium", "STHeitiK-Light", "TimesNewRomanPSMT", "Hel...

  tEcohMEyDsEb   2023年11月02日   45   0   0

cocos2dx中使用opengl坐标系,左下角为坐标原点,在大部分情况下,都是使用这种坐标系的。 当我们创建了一个渲染对象到窗口后,那么这个对象本身也是也是有自己的坐标系的,这种坐标系是节点自己的坐标系,我们称之为节点坐标系,这个坐标系的方向也是左下角为原点。那么相对于节点坐标系,全局坐标系可以称之为世界坐标系。 任何节点的位置值,是参照它父亲节点的坐标系的值。 看例子吧。 //OpenES座标体系 CCSpritesprite=CCSprite::create("Images/blocks.png"); sprite->setPosition(ccp(300,300)); a...

  tEcohMEyDsEb   2023年11月02日   43   0   0

当一个渲染对象加入到两外一个渲染对象中时,可以有两个可选参数,一个时tag,一个是order   virtualvoidaddChild(CCNodechild);   virtualvoidaddChild(CCNodechild,intzOrder);   virtualvoidaddChild(CCNodechild,intzOrder,inttag); 当使用addChild,不带zOrder和tag时,那么使用子对象保存的zorder和tag,而这两个值在对象创建时, zOrder是0,tag是-1 tag用于...

  tEcohMEyDsEb   2023年11月02日   67   0   0

在cocos2dx中,默认的CCLayer背景是黑色的,有些时候需要特殊的Layer,所以cocos2dx中提供了这两种Layer CCLayerColor是可以改变背景色的Layer,示例如下: CCSizesize=__winSize; CCLayerColorlayer=CCLayerColor::create(ccc4(255,0,0,255),size.width/2,size.height/2); addChild(layer); 通过create函数创建层,并把它放到父层,效果如下: create是一个重载函数,有各种重载方式: staticCCLayerCol...

  tEcohMEyDsEb   2023年11月02日   22   0   0

这里主要说android   1)打开工程 打开eclipse,菜单:file->new->other       将  /Users/xueguoliang/Documents/cocos2d-x-2.2.3/cocos2dx/platform/android/java/src/org目录拷贝到   /Users/xueguoliang/Documents/cocos2d-x-2.2.3/projects/HelloWorld/proj.android/src中 或者做个软链接  2)编译C部分代码...

  tEcohMEyDsEb   2023年11月02日   46   0   0

1)下载eclipse 地址:http://www.eclipse.org/downloads/ 2)安装adt 打开eclipse,菜单:help->installnewsoftware 然后就按部就班安装就行了,时间长短,看你的网速如何   3)下载androidsdk 地址:http://developer.android.com/sdk/index.html 我只是选择了sdk,未选择adt-bundleformac   下载后解压,我的解压路径是:   /Users/xueguoliang/Documents/android-sdk-mac...

  tEcohMEyDsEb   2023年11月02日   67   0   0

上篇文章写了Paddle类来处理精灵的点击、触摸事件,现在我们在Paddle的基础上 写一个MyPaddle类,来处理上一关、下一关、开始游戏按钮的点击事件。 1.类声明如下:   classMyPaddle: publicPaddle { CC_SYNTHESIZE(enum_evt,m_evttyp,evttyp); CC_SYNTHESIZE(ChoiceScene,m_pSence,pSence); public: MyPaddle(); MyPaddle(); virtualboolccTouchBegan(CCTouchtouch,CCEventev...

  tEcohMEyDsEb   2023年11月02日   56   0   0
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~