2012-05-14 2 views
1

には何も描画しませんでした:メソッドdrawVerticesは()私は三角形を描くしたいと思い、ポリゴン</p> <p>は私がインターネットで見つけ、このメソッドを使用して三角形を描画するにはAndroidのキャンバス

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

[OK]それで自分で試してみたら、あなたのカラー配列が問題であることに気付きました。各点に同じ色を使用している場合は、その配列は必要ありません。 getColor()関数は必要なint値を返していません。異なる色が必要な場合は、その色を三角形のその部分に割り当てるためにColor.Xを使用します。

+0

ありがとう@Mikelsraelしかし、それは私が何をしているのですか?私のカラー配列は私の頂点配列と同じサイズを持っているので – Bibu

+0

テクスチャはありません。それは同じサイズを持つ必要もあると言いますが、あなたはnullを送ります。 "verts、texs、およびcolors配列の配列サイズは、すべてvertexCountと一致する必要があります。たぶん、それが問題であるかどうかをテストすることは、同様にテクスチャとしてvertsを送信し、何かを得るかどうかを確認します。 – MikeIsrael

+0

私はちょうど試したことがあり、私は結果が同じであることを恐れています。 – Bibu

関連する問題