Я написал приложение, которое в основном показывает прыгающий мяч на экране.Я хочу добавить SeekBar, который увеличивает скорость мяча, когда я изменяю его значение.Я сделал функции в своем классе Ball, чтобы получить и установить скорости x и y.
package perseus.gfx.test;
import everything;
public class GfxActivity extends Activity implements OnSeekBarChangeListener {
ViewGroup.LayoutParams vg = new ViewGroup.LayoutParams(-1, -1);
double velx, vely;
double x, y;
double finx, finy;
SeekBar velo;
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Ball ball = new Ball(this);
setContentView(R.layout.main);
addContentView(ball, vg);
tv = (TextView)findViewById(R.id.test);
velo = (SeekBar)findViewById(R.id.vel);
velo.setOnSeekBarChangeListener(this);
x = ball.getSpeedX();
y = ball.getSpeedY();
ball.setSpeedX(finx);
ball.setSpeedY(finy);
}
@Override
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
finx = x + arg1;
finy = y +arg1;
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
//nothing
}
@Override
public void onStopTrackingTouch(SeekBar arg0) {
//nothing
}
}
Проблема в том, (я думаю), что затрагиваются только локальные значения fin1 и fin2, и поэтому шарне двигается вообще.Как передать значения fin1 и fin2 обратно в onCreate ()?