2012-05-14 3 views
1

안드로이드 캔버스에 아무것도 및 다각형 그리기하지 않았다방법 drawVertices이() 나는 삼각형을 그릴 싶습니다

내가 인터넷에서 발견이 방법을 사용하는 삼각형 그리려면

this.p.setStyle(Paint.Style.STROKE); 
    int triangleColors[] = { 
      this.p.getColor(), this.p.getColor(), this.p.getColor(), 
      this.p.getColor(), this.p.getColor(), this.p.getColor() 
     }; 

    float verts[] = { 
      ptsFloat.get(0).x, ptsFloat.get(0).y, 
      ptsFloat.get(1).x, ptsFloat.get(1).y, 
      ptsFloat.get(2).x, ptsFloat.get(2).y 
    }; 
    c.drawVertices(Canvas.VertexMode.TRIANGLES, 
     verts.length, 
     verts, 
     0, 
     null, 
     0, 
     triangleColors, 
     0, 
     null, 
     0, 
     0, 
     this.p); 

을하지만, 결과는 null입니다. 아무 것도 그려지지 않았습니다 ... drawLine, drawCircle은 완벽하게 작동합니다. 왜이 방법이 작동하지 않는지 아십니까? 더구나, 나는 logcat 콘솔에 나를 도와 준 흔적이 없다!

답변

1

좋아요. 그래서 나 자신을 위해 시험해 본 후에 문제가 귀하의 컬러 배열임을 깨달았습니다. 각 포인트에 대해 동일한 색상을 사용하는 경우 해당 배열이 필요하지 않습니다. getColor() 함수는 필요한 int 값을 반환하지 않습니다. 다른 색상이 필요한 경우 해당 색상에 대해 Color.X를 사용하여 삼각형의 해당 부분에 지정합니다.

+0

@Mikelsrael에 감사하지만 그것은 내가하는 일입니다. 내 색상 배열은 내 버텍스 배열과 같은 크기이기 때문에 – Bibu

+0

그래,하지만 텍사스는 아니야. 그것은 또한 동일한 크기가 필요하지만, 당신은 null을 보내고 있다고합니다. "verts, tex 및 colors 배열의 배열 크기는 모두 vertexCount와 일치해야합니다." 어쩌면 그게 문제인지 테스트하는 것뿐 아니라 verex를 텍사스로 보내고 아무 것도 얻는 지 확인하십시오. – MikeIsrael

+0

방금 ​​시도한 결과가 같은 것 같습니다. – Bibu

관련 문제