zoukankan      html  css  js  c++  java
  • cocos遥感器的实现

      lis->onTouchMoved=[=](Touch* ptouch, Event* pevent)

        {

            //cocos2d拖动按钮及遥感器的实现;

            Vec2 p=ptouch->getLocation();

            auto p1=this->convertToNodeSpace(p);

            float v=sp->getContentSize().width/2;

           float s=p1.distance(sp->getPosition());

            log(",,,,,,,%f.....%f",s,v);

            if (s<v) {

                log("=========%f",s-v);

                  menu->setPosition(p1);

                       }

            if (s>v) {

                //利用相似三角形求坐标;

                //一个直角边的长度;

                if (p1.y<=sp->getPosition().y) {

                    float x1=sqrtf(s*s-(p1.x-sp->getPosition().x)*(p1.x-sp->getPosition().x));

                    float x2=v*(p1.x-sp->getPosition().x)/s+sp->getPosition().x;//相似三角形比例算出另外一边;

                    //则所求临界点的x坐标为;

                    //            float x3=sp->getPosition().x+x;

                    //y坐标

                    float y3=sp->getPosition().y-v*x1/s;

                    log("y3=%f",y3);

                    //临界点为

                    Vec2 v3=Vec2(x2, y3);

                    menu->setPosition(v3);

                }

                else

                {

                    float x1=sqrtf(s*s-(p1.x-sp->getPosition().x)*(p1.x-sp->getPosition().x));

                    float x2=v*(p1.x-sp->getPosition().x)/s+sp->getPosition().x;//相似三角形比例算出另外一边;

                    //则所求临界点的x坐标为;

                    //            float x3=sp->getPosition().x+x;

                    //y坐标

                    float y3=sp->getPosition().y+v*x1/s;

                    log("y3=%f",y3);

                    //临界点为

                    Vec2 v3=Vec2(x2, y3);

                    menu->setPosition(v3);

                }

            }

        };

  • 相关阅读:
    微信公众平台可通过UnionID机制在多公众号间帐号互通
    草根玩微博 中产玩微信 土豪玩什么?支持Yo的iWatch?
    The Model Complexity Myth
    BuzzSumo:什么样的文章能获得疯转?(基于1亿篇文章大数据分析)
    深度学习成长的烦恼
    猜你喜欢-----推荐系统原理介绍
    程序设计小问题
    机器学习是什么--周志华
    提高matlab运行速度和节省空间的心得
    matlab提速技巧(自matlab帮助文件)
  • 原文地址:https://www.cnblogs.com/xiajianwei/p/5000954.html
Copyright © 2011-2022 走看看