Я хочу змінити свій темний і пригнічуючий фон на щасливий трав'янистий фон у реальному часі таким чином, щоб щасливий фон відображався в радіусі навколо ігрового персонажа.
ForceField щастя , якщо ви будете.
Як це можна зробити якомога ефективніше, коли рендерінг полотна в користувацькому вигляді?
ОНОВЛЕННЯ: Ось як це працює в моїй голові:
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 та коду прикладу.