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

                }

            }

        };

  • 相关阅读:
    解决 Android SDK Manager不能下载旧版本的sdk的问题
    [置顶] 如何合并文件中的内容?
    JSTL解析——005——core标签库04
    C中的几组指针
    别动我的奶酪:CSV文件数据丢零现象及对策
    重载(overload),覆盖/重写(override),隐藏(hide)
    IOS 轻量级数据持久化 DataLite
    记录路径dp-4713-Permutation
    android 多媒体数据库详解
    Data Recovery Advisor(数据恢复顾问)
  • 原文地址:https://www.cnblogs.com/xiajianwei/p/5000954.html
Copyright © 2011-2022 走看看