这应该简单易行吗?!
所以,我有一个BusAttachment.cc
作为Button我在Gameobject
上引用它,其范围GamePanel
就像这样:
SurfaceView
bby = new Buttons(BitmapFactory.decodeResource(getResources(), R.drawable.babybutton),123 ,114 ,1);
被绘制并正常工作,
我的问题是如何在Touch上将资源(R.drawble.babybutton)更改为例如(R.drawble.babybutton2)的不同资源?
就像按下按钮动画一样! 提前谢谢你 (如果我的问题看起来很愚蠢,请不要讨厌!我对此很新)。
答案 0 :(得分:0)
如果您想要更改按钮在Surfaceview上的触摸可绘制。你可以在surfaceview类中覆盖这个方法。
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
//here you can set an another drawable to your button or can do something else
break;
}
return true;
}
在您的活动中,在surfaceview上设置touchListener。
初始化surfaceView
之后。将此surfaceview
传递给
surfaceView.setOnTouchListener(surfaceView)
答案 1 :(得分:0)
我可能误解了你,但是如果你想改变按钮的资源,你就应该这样做:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
runOnUiThread(new Runnable() {
@Override
public void run() {
button.setBackgroundResource(R.drawable.icon);
}
});
}
});