zoukankan      html  css  js  c++  java
  • 【转】获取Sprite的实际Rect

    判断点击是否点击在了一个精灵上, 其实就是判断一个点是否在一个矩形内。

    cocos2d-x的2.0.2版本可以使用CCRect的函数

    bool CCRect::containsPoint(const CCPoint& point) const来判断。

    找出Sprite的Rect很重要了,简单搜索了下,发现网上普遍没有考虑Sprite的AnchorPoint, 所以导致判断出错。

    CCSprite *sprite = CCSprite::create("test.png");
        CCSize contentSize = sprite->getContentSize();
        CCPoint position = sprite->getPosition();
        CCPoint anchorPoint = sprite->getAnchorPoint();
        CCRect rect = CCRectMake(position.x - anchorPoint.x * contentSize.width , position.y - anchorPoint.y * contentSize.height,contentSize.width, contentSize.height);

    这样就能获取到Sprite真实的Rect

  • 相关阅读:
    C#基础:ref和out的区别
    .NET Petshop详解(五):petshop输出缓存设置
    静态方法和实例化方法的区别
    .Net Petshop详解(一):petshop概览和准备工作
    什么是MVC(三层架构)
    C# 反射入门知识
    C#类与对象
    linux用户权限的管理
    PHP pear安装
    shell神器curl用法笔记
  • 原文地址:https://www.cnblogs.com/yssgyw/p/3233285.html
Copyright © 2011-2022 走看看