andengine と box2d 拡張機能を使用しています。以下に示す正弦方程式に基づいて生成された線体を使用して、いくつかの丘を生成しています。
public ArrayList<Line> CreateSinusoidalHills(PhysicsWorld world, int length, float density, float elasticity,
float friction, int resolution, Engine engine, Scene scene)
{
// resolution argument is how far the line is drawn for every iteration
ArrayList<Line> lineList = new ArrayList<Line>();
float xIndex = 0;
float offset = 150; //TODO: add offset to function arguments
for (int x=0;x<length;x++)
{
Line line = new Line(xIndex,(float)Math.cos(xIndex)*100+offset,xIndex+resolution,
(float)Math.cos(xIndex+50)*100+offset,10.0f,engine.getVertexBufferObjectManager());
line.setColor(new Color(200,90,254));
lineList.add(line);
xIndex = xIndex + resolution;
}
return lineList;
}
この生成された曲線の下の領域をシーンの背景とは異なる色にしたいのですが、それを実現する方法がわかりません。各線の下に長方形を作成しようとしましたが、パフォーマンスが大幅に低下しました (予想どおり)。おそらく、これらの x、y ポイントを使用して、丘の正確な形状であるポリゴンを作成できると思いましたが (その時点で色を変更できます)、その方法もわかりませんでした (できるポリゴンを作成しますが、長方形と同じように機能しないように見えるため、シーンに追加する方法がわかりません)。どんな助けでも大歓迎です。
これは私の最初の投稿なので、質問をするための適切なプロトコルに従っていない場合はお知らせください. ありがとう!