码迷,mamicode.com
首页 > 其他好文 > 详细

cocos2d-x三角函数和反三角函数

时间:2014-06-18 08:19:27      阅读:357      评论:0      收藏:0      [点我收藏+]

标签:class   tar   get   os   set   amp   

//计算角度

float CMgrSkill::getAngle( CCPoint & frome, CCPoint & to )

{

    double len_y = to.y - frome.y;

    double len_x = to.x - frome.x;

    if( 0 == len_x && frome.y <= to.y )

    {

        return 0;

    }

    else if( 0 == len_x && frome.y > to.y )

    {

        return 180;

    }

    

    double tan_yx = tan_yx = std::abs(len_y)/std::abs(len_x);

    float angle = 0;

    if(len_y > 0 && len_x < 0) {

        angle = atan(tan_yx)*180/M_PI - 90;

    } else if (len_y > 0 && len_x > 0) {

        angle = 90 - atan(tan_yx)*180/M_PI;

    } else if(len_y < 0 && len_x < 0) {

        angle = -atan(tan_yx)*180/M_PI - 90;

    } else if(len_y < 0 && len_x > 0) {

        angle = atan(tan_yx)*180/M_PI + 90;

    }

    

    return angle;

}

 

//计算步长

void CBattleField::streakUpdate( float delta )

{

    if( NULL != m_pTarget )

    {

        int r = random()%5;

        int k = random()%2;

        float e = CC_DEGREES_TO_RADIANS(m_pTarget->getRotation());

        float x = r * cos(e);

        float y = r * sin(e);

        CCLOG( "x:%f y:%f", x, y );

        m_pStreak->setPosition( ccp( m_pTarget->getPositionX()+(1==k?x:-x), m_pTarget->getPositionY()+(1==k?y:-y) ) );

    }

}

cocos2d-x三角函数和反三角函数,布布扣,bubuko.com

cocos2d-x三角函数和反三角函数

标签:class   tar   get   os   set   amp   

原文地址:http://www.cnblogs.com/sealme/p/3793409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!