zoukankan      html  css  js  c++  java
  • cocos2d0基础知识三个音符

    1.触摸屏事件:

    bool HelloWorld::init()

    {

           //省略的代码的最后位

            this->schedule(schedule_selector(HelloWorld::usecreatesprite),2);//定时器

     this->setTouchEnabled(true);/CCLayer是能够对应点击对象的,默认情况是没开启的,我们通过this->setTouchEnabled(true)来设置是否接受触摸事件。
     return true;
    }



    void HelloWorld::ccTouchesEnded(CCSet*pTouches,CCEvent*pEvent){                    //点击事件所响应的函数

    CCSize visiblesize=CCDirector::sharedDirector()->getVisibleSize();
    CCTouch*touch=(CCTouch*)pTouches->anyObject();                                        //因为响应函数传过来时一个集合,我们要从中先取出一个点
    CCPoint locatpoint=touch->getLocationInView();                                                  //获取单机坐标基于2D,是以左上角为原点。
    CCPoint loc=CCDirector::sharedDirector()->convertToGL(locatpoint);             //获取单机坐标,基础Cocos2d

         //计算发射目标的终于坐标算法(利用精灵坐标(20,visiblesize.height/2),点击坐标(loc.x,loc.y),和发射精灵可经过的最大路程也就是窗体的对角线长度D,然后用相似三角形原理求出发射精灵的终于坐标(endx,endy))
    double x=loc.x-20;
    double y=loc.y-visiblesize.height/2;
    double d=sqrt(x*x+y*y);
    double D=sqrt(visiblesize.width*visiblesize.width+visiblesize.height*visiblesize.height);
    double ratio=d/D;
    double endx=x/ratio+20;
    double endy=y/ratio+visiblesize.height/2;

      //创建发射精灵

        CCSprite* fire=CCSprite::create("1.png");
        fire->setPosition(ccp(20,visiblesize.height/2));
        this->addChild(fire);

     //创建发射精灵动作

    CCMoveTo*move=CCMoveTo::create(1.0f,ccp(endx,endy));
    CCCallFuncN*disappear=CCCallFuncN::create(this,callfuncN_selector(HelloWorld::selfdefine));
    CCSequence*action=CCSequence::create(move,disappear,NULL);

    fire->runAction(action)

    }

    效果图:


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    golang 数据结构 优先队列(堆)
    leetcode刷题笔记5210题 球会落何处
    leetcode刷题笔记5638题 吃苹果的最大数目
    leetcode刷题笔记5637题 判断字符串的两半是否相似
    剑指 Offer 28. 对称的二叉树
    剑指 Offer 27. 二叉树的镜像
    剑指 Offer 26. 树的子结构
    剑指 Offer 25. 合并两个排序的链表
    剑指 Offer 24. 反转链表
    剑指 Offer 22. 链表中倒数第k个节点
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4828003.html
Copyright © 2011-2022 走看看