我正试图为我的游戏设置一个触摸声音,但最后一行MediaPlayer mp = MediaPlayer.create(这个,R.raw.move)的错误;有什么建议? THX
@Override
public boolean onTouchEvent(MotionEvent event) {
int x_aux = (int) (event.getX() / (this.getWidth() / x));
int y_aux = (int) (event.getY() / (this.getHeight() / y));
drawimage(x_aux, y_aux);
final MediaPlayer mp = MediaPlayer.create(this, R.raw.move);
setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
mp.start();
}
});
return super.onTouchEvent(event);
}
答案 0 :(得分:0)
create(...)
的{{1}}方法需要MediaPlayer
作为第一个参数。问题可能是你的游戏类是Context
(它不会扩展View
)所以使用Context
作为第一个参数将无法正常工作。
您可以尝试保存对传递给构造函数的this
的引用。在私人字段Context
下,为private Paint caneta;
添加一个。实施例...
Context
然后在构造函数中保存对传入的public class Game extends View {
private Cell[][] singlesquare = null;
int x = 3;
int y = 3;
private int l;
private int a;
private boolean whatdrawn = false;
private int playerwin = 3;
private Paint caneta;
private Context context; // ADD THIS LINE
的引用。示例...
Context
然后当您创建public Game(Context context) {
super(context);
this.context = context; // ADD THIS LINE
使用...
Mediaplayer