cocos ----------点在旋转矩形内实现方法2----
来源:互联网 发布:宋江 知乎 编辑:程序博客网 时间:2024/06/06 16:53
原理:
旋转前(a,b) 旋转后(a',b') 旋转角度为X
a'=acos(t+X)=a*costcosX-a*sintsinX=acosX-bsinX
b'=bsin(t+X)=b*costsinX+b*sintcosX=asinX+bcosX
p'(acosX - bsinX,bsinX + bsinX) :
------------------------代码
local rectW = self.pic_BeEequal:getSize().width
local rectH = self.pic_BeEequal:getSize().height
精灵默认锚点是0.5 所以中点就是这个X
local rectCentPosY = self.pic_BeEequal:getPos().y
local nTempX ,nTempY =0,0
local deg = (self.pic_BeEequal:getRotation()) * math.pi / 180
-- 还原鼠标点 ,先平移到中点。
nTempX = rectCentPosX + (touches[1]:getLocation().x - rectCentPosX) * math.cos(deg) - (touches[1]:getLocation().y - rectCentPosY) * math.sin(deg)nTempY = rectCentPosY + (touches[1]:getLocation().x - rectCentPosX) * math.sin(deg) + (touches[1]:getLocation().y - rectCentPosY)* math.cos(deg)
-- rect
print("nTempX",nTempX)
print("nTempY",nTempY)
dump(self.rect) -- 旋转之前的矩形
if cc.rectContainsPoint(self.rect,cc.p(nTempX,nTempY)) then
print("............<<<<<<<<<<<<<<")
end
0 0
- cocos ----------点在旋转矩形内实现方法2----
- 判断一个点是否在旋转过任意角度的矩形内
- cocos旋转矩形碰撞检测
- 判断点在矩形内!!(MFC)
- 判断点是否在矩形内
- 判断点是否在矩形内
- 如何判断一个点在矩形内
- 判断点是否在矩形内
- 判断一个点是否在矩形内PtInRect
- 判断一个点是否在圆角矩形、椭圆形内
- 第3章:几何方面:点是否在矩形内?
- 判断点是否在矩形内碰撞代码
- 计算几何----判断点是否在一个矩形内
- 编程练习:判断点是否在矩形内
- cocos2d-js判断点是否在矩形内
- POJ1410Intersection【判断线段与矩形相交+点在矩形内的简单判定】
- 矩形内点的确定
- cocos creator 判断触摸的点是否在某个组件内
- Android数据存储方式之文件存储详解
- Docker Window下安装
- 同步、异步和阻塞、非阻塞的区别
- 进程通信
- 使用BigDecimal进行精确运算
- cocos ----------点在旋转矩形内实现方法2----
- mybatis批量插入,主键自增问题
- C++A Text-Query Program Design(文本查询程序设计)
- jdk安装步骤
- 几个简单的各向异性光照模型
- Java队列递归求解素数环问题
- MySQL里设置一列为自增型
- 第四单元练习题
- MySQL学习第三篇:权限相关