cc.cirlce圆形运动小工具

先上图,无图无真相

再上使用代码
var tag = this.node.getChildByName('tag')
tag.runAction(cc.repeatForever(cc.circle(1,cc.v2(0,0),80,0,2*Math.PI)))

下面是使用文件,直接拷贝到项目中就可以用
CCCircleAction.rar248 (680 字节)

再补充一个方法,如果不确定圆和半径,只知道点的话,下面是计算方法
前提是我们知道,三点可以确定一个唯一的圆。
findCircle(p1,p2,p3){
var pt1 = cc.v2(0,0)
var pt2 = cc.v2(0,0) 
pt1.x = (p1.x+p2.x)/2
pt1.y = (p1.y+p2.y)/2

pt2.x = (p1.x+p3.x)/2
pt2.y = (p1.y+p3.y)/2
var k1 = (p2.y == p1.y ? 1 : -(p2.x-p1.x) / (p2.y-p1.y))
var k2 = (p3.y == p1.y ? 1 : -(p3.x-p1.x) / (p3.y-p1.y))
var centerx = (pt2.y - pt1.y - k2* pt2.x + k1*pt1.x) / (k1 - k2);
var centery = pt1.y + k1*(pt2.y-pt1.y-k2*pt2.x + k2*pt1.x)/(k1-k2);
var radius = Math.sqrt( (centerx-p1.x)*(centerx-p1.x) + (centery-p1.y)*(centery-p1.y))
return {x:centerx,y:centery,radius:radius}

}
将上面方法返回的三个值,传入cc.circle里即可使用<<路过三个点的一个圆形运动>>

PS:回帖太少,以后这种工具就不发了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值