Yes, it’s your Draw call. Try changing to:
public function updateMeter():void
{
trace(player.meter);
bitmapData.fillRect(bitmapData.rect, 0); // clear bitmapData
Draw.setTarget(bitmapData);
// removed x, y from next call as they are relative to bitmapData and not to screen
Draw.arcPlus(20, 20, 15, 60, player.meter * 18, player.inner.color, 1, true);
Draw.resetTarget();
img.updateBuffer();
}
Also, since I tested it, you’ll probably end up with the meter’s position being out of sync in respect to the player. If it does just update its pos in render()
, or change it directly from player.update()
.