我正在构建一款Android游戏,其中使用运动传感器控制和移动球。
有一些关于如何绘制倒圆like this one的帖子,但由于Android不支持BufferedImage,因此无法使用。
我使用以下代码创建了播放器
public class Player extends Task {
private final static float MAX_SPEED = 20;
private final static float SIZE = 16;
private Circle _cir = null;
private Paint _paint = new Paint();
private Vec _vec = new Vec();
private Vec _sensorVec = new Vec();
public Player(){
_cir = new Circle( 15, 15, SIZE ); //15,15 is the initial x,y coordinates
}
public final Circle getPt(){
return _cir;
}
private void setVec(){
float x = -AcSensor.Inst().getX()*2;
float y = AcSensor.Inst().getY()*2;
_sensorVec._x = x < 0 ? -x*x : x*x;
_sensorVec._y = y < 0 ? -y*y : y*y;
_sensorVec.setLengthCap(MAX_SPEED);
_vec.blend( _sensorVec, 0.05f );
}
private void Move(){
_cir._x += _vec._x;
_cir._y += _vec._y;
}
@Override
public boolean onUpdate(){
setVec();
Move();
return true;
}
@Override
public void onDraw( Canvas c ){
c.drawCircle(_cir._x, _cir._y, _cir._r, _paint);
}
}
问题是,如何在玩家周围创建一个倒圆圈,以便玩家只看到有限的距离,而外部部分充满黑色?例如,像this。