一个js方法,用来生成一组点坐标,通过num_限制点个数。
点坐标使用的是cocos2dx的cc.p(x,y).
//关于有规律的螺旋点生成工具
//圆心点,起始半径,半径变化值,起始角度,角度间隔,角度间隔变化值,创建多少个点,是否包含中心点
circlePlace:function(centerPoint_,r_,rBuffer_,beginAngle_,perAngle_,angleBuffer_,num_,containerCenter_){
var _backPosArr=[];
var _currentAngle=beginAngle_;
var _currentCount=0;
var _atr=Math.PI/180;
var _centerX=centerPoint_.x;
var _centerY=centerPoint_.y;
var _r=r_;
if(containerCenter_){
_backPosArr.push(centerPoint_);
}
while (_currentCount<=num_){
_currentCount++;
var _x=_centerX+_r*Math.cos(_currentAngle*_atr);
var _y=_centerY+_r*Math.sin(_currentAngle*_atr);
perAngle_+=angleBuffer_;
_currentAngle+=perAngle_;
_r+=rBuffer_;
_backPosArr.push(cc.p(_x,_y));
} return _backPosArr;},
调用
等分圆 屏幕中点为原点,半径100,每30度创建一个点,共12个。
circlePlace(cc.p(this.winSize.width*0.5,this.winSize.height*0.5),100,0,0,30,0,12)
螺旋线 半径递增,角度递减
circlePlace(cc.p(this.winSize.width*0.5,this.winSize.height*0.5),10,5,0,10,-0.1,100,true);
![](https://img-blog.csdn.net/20160602122511564?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![]()
有兴趣可以自己在改改,比如添加一个衰减机制,现在的+=部分变成*=然后递减的部分变成一个衰减,效果就好很多。