ゲームキャラクターの周囲に幸せな背景が表示されるように、暗くて憂鬱な背景を幸せな草で覆われた背景にリアルタイムで変更したい。
幸福の力場。
カスタムビューでキャンバスにレンダリングするときに、これを可能な限りパフォーマンスの高い方法で実行するにはどうすればよいですか?
更新: これは私の頭の中でどのように機能するかです:
private int hModeX, hModeY;
private float hModeRadius = 0.1f;
private float hModeStart = 0;
happyModeBg = Bitmap.createScaledBitmap(happyModeBg, getWidth(),getHeight(), true);
hModeX = getWidth()/2;
hModeY = getHeight()/2;
private void initHappyMode(Canvas canvas){
hModeRadius = 75 * thread.getDelta();
if(hModeRadius > 500) {
hModeStart = timestep; //What is timestep?
}
//context.arc(x, y, radius, 0, 2 * Math.PI, false); <- your version
canvas.save();
canvas.drawArc(oval, startAngle, sweepAngle, useCenter, paint) // <- my version
//context.clip(); <- dont know what this does or if there is an equivilant
canvas.drawBitmap(happyModeBg, 0, 0, null);
canvas.restore();
//requestAnimationFrame(step); <- dont know what this does since I cant seem to find it for android
}
私はcanvas.drawArc()
円を作るのに使っていますが、間違いなく何かが欠けています。
Canvas
はHTMLとは少し異なる動作をします<canvas>
。Android固有のリンクとサンプルコードを使用して、一般的にクリッピングがどのように機能するかを説明するために回答を編集しました。