圆形点数组,螺旋点数组生成函数

一个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);

有兴趣可以自己在改改,比如添加一个衰减机制,现在的+=部分变成*=然后递减的部分变成一个衰减,效果就好很多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值