rk
昨天 4a8ff39b0fab0627ef8f7459587d514cc01c3676
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package com.example.datalibrary.gl.shape;
 
public class GLFaeShap {
    private Shap[] shaps;
    private float length = 0.1f;
    public GLFaeShap(){
 
        shaps = new Shap[]{new Shap() , new Shap() ,
                new Shap() , new Shap()};
 
    }
    public void init(int width , int height){
        for (int i = 0; i < shaps.length;i++){
            Shap shap = shaps[i];
            shap.init();
        }
    }
    public void setVertices(float leftTopX ,
                       float leftTopY ,
                       float leftBottomX ,
                       float leftBottomY ,
                       float rightTopX ,
                       float rightTopY ,
                       float rightBottomX ,
                       float rightBottomY){
        shaps[0].setTriangleCoords(new float[]{
                leftTopX  , leftTopY ,
                leftTopX , leftTopY - length ,  // 左下角
                leftTopX , leftTopY , // 右上角
                leftTopX + length, leftTopY, /*0.0f,*/ // 右下角
        });
 
        shaps[1].setTriangleCoords(new float[]{
                leftBottomX  , leftBottomY ,
                leftBottomX , leftBottomY + length ,  // 左下角
                leftBottomX , leftBottomY , // 右上角
                leftBottomX + length, leftBottomY, /*0.0f,*/ // 右下角
        });
        shaps[2].setTriangleCoords(new float[]{
                rightTopX  , rightTopY ,
                rightTopX , rightTopY - length ,  // 左下角
                rightTopX , rightTopY , // 右上角
                rightTopX - length, rightTopY, /*0.0f,*/ // 右下角
        });
        shaps[3].setTriangleCoords(new float[]{
                rightBottomX  , rightBottomY ,
                rightBottomX , rightBottomY + length ,  // 左下角
                rightBottomX , rightBottomY , // 右上角
                rightBottomX - length, rightBottomY, /*0.0f,*/ // 右下角
        });
    }
 
    public void setFaceColor(float[] colors){
        for (int i = 0 ; i < shaps.length ; i++){
            shaps[i].setColors(colors);
        }
    }
 
    public void cleanVertices(){
 
        shaps[0].setTriangleCoords(new float[]{
                0  , 0 ,
                0 , 0 ,  // 左下角
                0 , 0 , // 右上角
                0 , 0, /*0.0f,*/ // 右下角
        });
 
        shaps[1].setTriangleCoords(new float[]{
                0  , 0 ,
                0 , 0 ,  // 左下角
                0 , 0 , // 右上角
                0 , 0, /*0.0f,*/ // 右下角
        });
        shaps[2].setTriangleCoords(new float[]{
                0  , 0 ,
                0 , 0 ,  // 左下角
                0 , 0 , // 右上角
                0 , 0, /*0.0f,*/ // 右下角
        });
        shaps[3].setTriangleCoords(new float[]{
                0  , 0 ,
                0 , 0 ,  // 左下角
                0 , 0 , // 右上角
                0 , 0, /*0.0f,*/ // 右下角
        });
    }
 
    public void onDraw(){
        for (int i = 0; i < shaps.length;i++){
            shaps[i].onDraw();
        }
    }
}