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);

                }

            }

        };

  • 相关阅读:
    python中open函数的使用
    内存地址转换与分段【转】
    VirtualBox虚拟机网络设置【转】
    Google免费的公共DNS服务器
    SSH数据交互过程【转】
    适合Web服务器的iptables规则【转】
    使用安装光盘建立本地yum仓库【转】
    RHCE从入门到精通视频教程【转】
    解决Apache启动时错误提示
    50个C/C++源代码网站【转】
  • 原文地址:https://www.cnblogs.com/xiajianwei/p/5000954.html
Copyright © 2011-2022 走看看