ฉันต้องการเปลี่ยนพื้นหลังที่มืดและหดหู่ของฉันให้เป็นพื้นหลังหญ้าที่มีความสุขแบบเรียลไทม์ดังนั้นฉากหลังที่มีความสุขจะปรากฏในรัศมีรอบตัวละครเกม
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 และโค้ดตัวอย่าง