美文网首页
字节跳动小程序 蜘蛛图

字节跳动小程序 蜘蛛图

作者: squidbrother | 来源:发表于2020-03-24 16:49 被阅读0次
    效果图
    截图
    ttml
    <!--inset-->
    <view class="inset">
    <!--titBoses-->
    <view class="titBoses">
        <view class="points pos1">
            <text>速度</text>
            <view 
                class="tags {{skillArr[0]<45?'':''}} {{skillArr[0]>=45 && skillArr[0]<75?'orengeC1':''}} {{skillArr[0]>=75 && skillArr[0]<100?'orengeC2':''}}"
            >{{skillArr[0]}}</view>
        </view>
        <view class="points pos2">
            <text>射门</text>
            <view 
                class="tags {{skillArr[1]<45?'':''}} {{skillArr[1]>=45 && skillArr[1]<75?'orengeC1':''}} {{skillArr[1]>=75 && skillArr[1]<100?'orengeC2':''}}"
            >{{skillArr[1]}}</view>
        </view>
        <view class="points pos3">
            <text>传球</text>
            <view 
                class="tags {{skillArr[2]<45?'':''}} {{skillArr[2]>=45 && skillArr[2]<75?'orengeC1':''}} {{skillArr[2]>=75 && skillArr[2]<100?'orengeC2':''}}"
            >{{skillArr[2]}}</view>
        </view>
        <view class="points pos4">
            <text>盘球</text>
            <view 
                class="tags {{skillArr[3]<45?'':''}} {{skillArr[3]>=45 && skillArr[3]<75?'orengeC1':''}} {{skillArr[3]>=75 && skillArr[3]<100?'orengeC2':''}}"
            >{{skillArr[3]}}</view>
        </view>
        <view class="points pos5">
            <text>防守</text>
            <view 
                class="tags {{skillArr[4]<45?'':''}} {{skillArr[4]>=45 && skillArr[4]<75?'orengeC1':''}} {{skillArr[4]>=75 && skillArr[4]<100?'orengeC2':''}}"
            >{{skillArr[4]}}</view>
        </view>
        <view class="points pos6">
            <text>力量</text>
            <view 
                class="tags {{skillArr[5]<45?'':''}} {{skillArr[5]>=45 && skillArr[5]<75?'orengeC1':''}} {{skillArr[5]>=75 && skillArr[5]<100?'orengeC2':''}}"
            >{{skillArr[5]}}</view>
        </view>
    </view>
    <view class="canvasBox">
        <view class="bg">
            <image src="../../resource/image/canvasBg.png" mode="aspectFill" />
        </view>
        <!--蜘蛛图-->
        <canvas canvas-id="canvasBox2" style="width:204rpx; height:238rpx" class="canvas"></canvas>
    </view>
    </view>
    
    ttss
    .inset { position:relative; z-index: 2; padding:70rpx 104rpx; width:242rpx; height:238rpx; }
    .titBoses { position:absolute; left:0; top:0; z-index:2; width:100%; height:100%; }
    .titBoses .points { position:absolute; z-index:2; font-size:22rpx; color:#2a303e; line-height:30rpx; text-align:center;}
    .titBoses .points .tags { display:inline-block; padding:0 12rpx; margin-left:5rpx; background:#ccc; font-size:16rpx; color:#FFF; line-height:28rpx; vertical-align:middle;
    -webkit-border-radius:4rpx; -moz-border-radius:4rpx; -ms-border-radius:4rpx; -o-border-radius:4rpx; border-radius:4rpx;
    }
    .titBoses .points .orengeC1 { background:#ffa435;}
    .titBoses .points .orengeC2 { background:#ff6f35;}
    .titBoses .pos1 { left:0; top:30rpx; width:100%;}
    .titBoses .pos2 { right:56rpx; top:98rpx; width:60rpx;}
    .titBoses .pos3 { right:56rpx; top:214rpx; width:60rpx;}
    .titBoses .pos4 { left:0; bottom:30rpx; width:100%;}
    .titBoses .pos5 { left:56rpx; top:214rpx; width:60rpx;}
    .titBoses .pos6 { left:56rpx; top:98rpx; width:60rpx;}
    .canvasBox { position:relative; z-index:2; width:204rpx; height:238rpx; margin:0 auto;} 
    .canvasBox .bg { position:absolute; left:2%; top:0; z-index:-1; width:96%; height:100%; }
    .canvasBox .bg image { display:block; width:auto; height:100%; margin:0 auto;}
    .canvasBox canvas { display:block; width:204rpx; height:238rpx;}
    
    js
    Page({
      data: {
          skillArr:[26,84,51,86,90,44]
      },
      onLoad(){
          //蜘蛛图
          var _skillArr = this.data.skillArr;
          this.drawFn2(_skillArr);
          console.log('蜘蛛图');
      },
      //蜘蛛图
      drawFn2(numArr){
    
        //真机修正
        var _phonePercent = this.data.trueWPercent;
        //console.log(_phonePercent)
    
        var ctx = tt.createCanvasContext("canvasBox2");
        var linePoint1 = [ 
            {'x':51,'y':58},{'x':51,'y':52},{'x':51,'y':46},{'x':51,'y':40},{'x':51,'y':34},
            {'x':51,'y':28},{'x':51,'y':22},{'x':51,'y':16},{'x':51,'y':10},{'x':51,'y':4}
        ];
        var linePoint2 = [ 
          {'x':51,'y':60},{'x':56,'y':57},{'x':61,'y':54},{'x':66,'y':51},{'x':71,'y':48},
          {'x':76,'y':45},{'x':81,'y':42},{'x':86,'y':39},{'x':91,'y':36},{'x':96,'y':33}
        ];
        var linePoint3 = [ 
          {'x':51,'y':60},{'x':56,'y':63},{'x':61,'y':66},{'x':66,'y':69},{'x':71,'y':72},
          {'x':76,'y':75},{'x':81,'y':78},{'x':86,'y':81},{'x':91,'y':84},{'x':96,'y':87}
        ];
        var linePoint4 = [ 
          {'x':51,'y':60},{'x':51,'y':66},{'x':51,'y':72},{'x':51,'y':78},{'x':51,'y':84},
          {'x':51,'y':90},{'x':51,'y':96},{'x':51,'y':102},{'x':51,'y':108},{'x':51,'y':114}
        ];
        var linePoint5 = [ 
          {'x':51,'y':60},{'x':46,'y':63},{'x':41,'y':66},{'x':36,'y':69},{'x':31,'y':72},
          {'x':26,'y':75},{'x':21,'y':78},{'x':16,'y':81},{'x':11,'y':84},{'x':6,'y':87}
        ];
        var linePoint6 = [ 
          {'x':51,'y':60},{'x':46,'y':57},{'x':41,'y':54},{'x':36,'y':51},{'x':31,'y':48},
          {'x':26,'y':45},{'x':21,'y':42},{'x':16,'y':39},{'x':11,'y':36},{'x':6,'y':33}
        ];
    
        var num1 = Math.floor(numArr[0]/100*9);
        var num2 = Math.floor(numArr[1]/100*9);
        var num3 = Math.floor(numArr[2]/100*9);
        var num4 = Math.floor(numArr[3]/100*9);
        var num5 = Math.floor(numArr[4]/100*9);
        var num6 = Math.floor(numArr[5]/100*9);  
        //console.log(num1,num2,num3,num4,num5,num6)
    
        //-----绘制点
        //速度
        ctx.beginPath();
        ctx.setLineWidth(1);
        ctx.arc(linePoint1[num1].x*_phonePercent, linePoint1[num1].y*_phonePercent, 2, 0, Math.PI * 2);
        ctx.setStrokeStyle('#046fdb');
        ctx.setFillStyle("#ffffff");
        ctx.fill();
        ctx.stroke();
        //射门
        ctx.beginPath();
        ctx.arc(linePoint2[num2].x*_phonePercent, linePoint2[num2].y*_phonePercent, 2, 0, Math.PI * 2);
        ctx.setStrokeStyle('#046fdb');
        ctx.setFillStyle("#ffffff");
        ctx.fill();
        ctx.stroke();
        //传球
        ctx.beginPath();
        ctx.arc(linePoint3[num3].x*_phonePercent, linePoint3[num3].y*_phonePercent, 2, 0, Math.PI * 2);
        ctx.setStrokeStyle('#046fdb');
        ctx.setFillStyle("#ffffff");
        ctx.fill();
        ctx.stroke();
        //盘球
        ctx.beginPath();
        ctx.arc(linePoint4[num4].x*_phonePercent, linePoint4[num4].y*_phonePercent, 2, 0, Math.PI * 2);
        ctx.setStrokeStyle('#046fdb');
        ctx.setFillStyle("#ffffff");
        ctx.fill();
        ctx.stroke();
        //防守
        ctx.beginPath();
        ctx.arc(linePoint5[num5].x*_phonePercent, linePoint5[num5].y*_phonePercent, 2, 0, Math.PI * 2);
        ctx.setStrokeStyle('#046fdb');
        ctx.setFillStyle("#ffffff");
        ctx.fill();
        ctx.stroke();
        //力量
        ctx.beginPath();
        ctx.arc(linePoint6[num6].x*_phonePercent, linePoint6[num6].y*_phonePercent, 2, 0, Math.PI * 2);
        ctx.setStrokeStyle('#046fdb');
        ctx.setFillStyle("#ffffff");
        ctx.fill();
        ctx.stroke();
        
        //绘制面积
        ctx.beginPath();
        ctx.setLineWidth(1);
          //速度
        ctx.moveTo(linePoint1[num1].x*_phonePercent, linePoint1[num1].y*_phonePercent); 
          //射门
        ctx.lineTo(linePoint2[num2].x*_phonePercent, linePoint2[num2].y*_phonePercent); 
          //传球
        ctx.lineTo(linePoint3[num3].x*_phonePercent, linePoint3[num3].y*_phonePercent); 
          //盘球
        ctx.lineTo(linePoint4[num4].x*_phonePercent, linePoint4[num4].y*_phonePercent); 
          //防守
        ctx.lineTo(linePoint5[num5].x*_phonePercent, linePoint5[num5].y*_phonePercent); 
          //力量
        ctx.lineTo(linePoint6[num6].x*_phonePercent, linePoint6[num6].y*_phonePercent); 
        ctx.closePath();
        ctx.setStrokeStyle('#046fdb');
        ctx.setFillStyle("rgba(22,130,238,0.5)");
        ctx.fill();
        ctx.stroke();
    
        // ctx.setFillStyle('#000000');
        // ctx.setFontSize(20);
        // ctx.setTextAlign('center');
        // ctx.setTextBaseline('middle')
        // ctx.fillText('8', 51, 58);
    
        ctx.draw();
      }
    });
    

    相关文章

      网友评论

          本文标题:字节跳动小程序 蜘蛛图

          本文链接:https://www.haomeiwen.com/subject/aptayhtx.html