八方位位置判断代码——1

来源:互联网 发布:比特币购买 知乎 编辑:程序博客网 时间:2024/04/30 00:45
        Vec2 touch_end_pos = touch->getLocation();Vec2 diff = touch_end_pos - touch->getStartLocation();diff.normalize();auto a = std::move(Vec2(1, 0));auto result = Vec2::dot(diff, a);if (fabs(result) > 0.7) // left or right , cos45 = 0.7{if (result > 0)  // right{_player->tryMove(Player::DIRECTION::RIGHT);CCLOG("right");}else             // left{_player->tryMove(Player::DIRECTION::LEFT);CCLOG("left");}}else{if (diff.y > 0){_player->tryMove(Player::DIRECTION::FRONT);CCLOG("front");}else{_player->tryMove(Player::DIRECTION::BEHIND);CCLOG("behind");}}

0 0
原创粉丝点击