어둡고 우울한 배경 을 행복한 잔디 배경 으로 실시간으로 변경하여 행복한 배경이 게임 캐릭터 주위의 반경에 표시 되도록하고 싶습니다 .
당신이 원한다면 행복 의 힘장 .
사용자 정의보기에서 캔버스로 렌더링 할 때 가능한 한 성능 적으로 수행 할 수있는 방법은 무엇입니까?
업데이트 : 내 머리에서 작동하는 방법은 다음과 같습니다.
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 관련 링크와 예제 코드를 사용하여 클리핑이 일반적으로 작동하는 방식을 설명하기 위해 답변을 편집했습니다.