如果您已經創建了SurfaceView
,你有你的變量x和y的子類,最好的做法是創建getter和setter方法爲這些變量(我叫它setPositionX()
,而不是setX()
,因爲SurfaceView
已經具有法):
public class MySurfaceView extends SurfaceView {
private int x;
private int y;
public void setPositionX(int x) {
this.x = x;
}
public void setPositionY(int y) {
this.y = y;
}
public int getPositionX() {
return x;
}
public int getPositionY() {
return y;
}
}
,並在你的活動:
private MySurfaceView mySurfaceView;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Create SurfaceView and assign it to a variable.
mySurfaceView = new MySurfaceView(this);
// Do other initialization. Create button listener and other stuff.
button1.setOnClickListener(this);
}
public void onClick(View v) {
int x = mySurfaceView.getPositionX();
int y = mySurfaceView.getPositionY();
if (x == 230) {
mySurfaceView.setPositionX(x + 20);
}
invalidate();
}
我是新來的這個東東一些例子也將是讚賞 –
,如果你把這些變量可能會更容易公共和靜態的,所以他們可以從任何地方訪問。使用接口的好處是它充當一個監聽器。執行流程將返回到調用類。在這裏你可以找到如何定義一個接口。 http://www.tutorialspoint.com/java/java_interfaces.htm – Emmanuel