//
// MainScene.cpp
// helloworld
//
// Created by apple on 16/9/19.
//
// #include "MainScene.hpp"
Scene * MainScene::createScene()
{
auto scene = Scene::create();
//创建层
MainScene *layer = MainScene::create();
scene->addChild(layer);
return scene;
}
bool MainScene::init(){
if (!Layer::init()) {
return false;
} sprite = Sprite::create("hu.png");
sprite ->setPosition(, );
sprite->setAnchorPoint(Vec2(0.5, 0.5));
this->addChild(sprite);// 添加到层 //声明
auto listener1 = EventListenerTouchOneByOne::create();
listener1->setSwallowTouches(true); //通过 lambda 表达式 直接实现触摸事件的回掉方法
listener1->onTouchBegan = [](Touch* touch, Event* event){
auto target = static_cast<Sprite*>(event->getCurrentTarget()); Point locationInNode = target->convertToNodeSpace(touch->getLocation());
Size s = target->getContentSize();
Rect rect = Rect(, , s.width, s.height); if (rect.containsPoint(locationInNode))
{
log("sprite began... x = %f, y = %f", locationInNode.x, locationInNode.y);
target->setOpacity();//点击的时候精灵颜色变暗,255为最大值,0最小
return true;
}
return false;
}; listener1->onTouchMoved = [](Touch* touch, Event* event){
auto target = static_cast<Sprite*>(event->getCurrentTarget());
target->setPosition(target->getPosition() + touch->getDelta());
}; listener1->onTouchEnded = [=](Touch* touch, Event* event){
auto target = static_cast<Sprite*>(event->getCurrentTarget());
log("sprite onTouchesEnded.. ");
target->setOpacity();//手势松开时使精灵恢复原来的颜色
}; //将触摸事件绑定到精灵身上
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, sprite);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener1->clone(), sprite);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener1->clone(), sprite); return true;
}

cocos2dx 3.x(点击屏幕移动精灵,拖动精灵)不需要写回调函数Lua表达式的更多相关文章

  1. cocos2dx 3.x(精灵的碰撞检测,点击移动与拖动精灵)

    // // MainScene.hpp // helloworld // // Created by apple on 16/9/19. // // #ifndef MainScene_hpp #de ...

  2. cocos2d-x C++ (利用定时器自定义屏幕双击事件函数)

    //GameScene.h #include "cocos2d.h" USING_NS_CC; class GameScene : public cocos2d::Layer { ...

  3. cocos2d-x推断sprite点击

    我们经常须要推断用户的点击操作是否落于某个sprite之上,进而让这个sprite做出响应. 可是假设我们通过继承CCSprite类来实现自己的Sprite类的时候,产生的视图尺寸会充满屏幕.多个Sp ...

  4. Vuforia点击屏幕自动对焦,过滤UGUI的按钮

    //点击屏幕自对对焦 #if UNITY_EDITOR )) #elif UNITY_ANDROID || UNITY_IPHONE && Input.GetTouch().phase ...

  5. android 点击屏幕关闭 软键盘

    //点击屏幕 关闭输入弹出框 @Override public boolean onTouchEvent(MotionEvent event) { InputMethodManager im = (I ...

  6. iOS 点击return或者点击屏幕键盘消失

    //定义两个文本框 UITextField *textName; UITextField *textSummary; //点击return 按钮 去掉 -(BOOL)textFieldShouldRe ...

  7. ios-点击屏幕,隐藏键盘

    ios-点击屏幕,隐藏键盘 - (void)getFirstRegist{ //结束键盘编辑 __weak typeof(self)weakSelf = self; UITapGestureRecog ...

  8. appium点击屏幕(手势)

    在android测试过程中,会遇到要点击一下屏幕的需求. 在appium旧版本使用下面代码点击android屏幕,没有报错.Map tap = new HashMap(); tap.put(" ...

  9. cocos2d-x中的导演、场景、层和精灵

    场景(Scenes) 场景在cocos2d-x中是CCScene类实现的,是应用程序流中独立的一部分.一个cocos2dx应用程序可以有许多场景,但是在某一时刻,只有一个场景在运行. 比如,你有一个游 ...

随机推荐

  1. 如何用Apache POI操作Excel文件-----如何用Apache POI 画一个离散图

    有的时候,我们需要Excel中的数据,通过一个图画,可视化的表现出来. 那么这个时候,应该如何做呢?现在就借花献佛,以Apache POI自己提供的一个例子为例,给大家演示一下POI的API 如何画图 ...

  2. [听听音乐]when you believe [singer: mariah carey]

    movie: prince of egypt Lyrics   Many nights we prayed With no proof anyone could hear In our hearts ...

  3. C#winform中ListView的使用

    使用ListView模仿Windows系统的资源管理器界面,实现文件(夹)的浏览.重命名.删除及查询等功能,主要功能界面展示如下: 1.MainForm.cs及MainForm.Designer.cs ...

  4. Jquery--string

    --判断string是否为空 state !== undefined || state !== null || state != ""

  5. iconv vs mb_convert_encoding

    iconv 字符串按要求的字符编码来转换 string iconv ( string $in_charset , string $out_charset , string $str ) 将字符串 st ...

  6. Android Studio 快捷键使用

    最近开始全面转向Android Studio开发了,经常要去查快捷键,索性汇总下,自己方便查找 IDE 按键    说明 F1 帮助 Alt(Option)+F1 查找文件所在目录位置 Alt(Opt ...

  7. 分享一个开源的流程图绘制软件--Diagram Designer

    最近在写专利文件,在制作说明书附图时想到自己还只会用wps进行简单的绘制,于是想学习下,填补下这方面的短板.这两天查到了DiagramDesigner这个小工具,派上了大用场.用它写完了一个发明专利, ...

  8. php--http与https的区别

    在URL前加https://前缀表明是用SSL加密的.你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定. http和ht ...

  9. 使用多种客户端消费WCF RestFul服务(一)——服务端

    RestFul风格的WCF既然作为跨平台.跨语言.跨技术的一种方式出现,并且在ASP.NET API流行起来之前还是架构的首选技术之一,那么我们就来简要的介绍一下WCF在各个平台客户端的操作. 开发工 ...

  10. css背景图片定位练习(一)

    首先准备一张雪碧图,Like this 背景图片的定位方法有3种,比较常用的两种为 关键字:background-position: top left; (top/bottom/cennter/lef ...