pochen1314 2016-06-14 05:59 采纳率: 50%
浏览 1274
已采纳

求大神帮我代码大概注释一下

public class MainActivity extends Activity {
private int i = 0;
private Handler handler;
private ImageView mouse;
private TextView textView ;
private ImageView integral; //整体图片
private Chronometer ch ; //计时器
private SoundPool pool; //播放音效
private static MediaPlayer mp = null;
private HashMap soundmap = new HashMap();
public int[][] position = new int[][] { { 150, 100 }, { 250, 100 }, //地鼠出现的位置
{ 350, 100 }, { 450, 100 }, { 550, 100 }, { 650, 100 },
{ 50, 100 }, { 150, 220 }, { 250, 220 }, { 350, 510 },
{ 450, 220 }, { 550, 220 }, { 650, 220 }, { 50, 220 } };

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //音乐
    //如果音乐不为空,释放
    if(mp != null){
        mp.release();
    }
    mp = MediaPlayer.create(MainActivity.this, R.raw.dalaoshu);
    mp.start();

    //计时器
    ch = (Chronometer) findViewById(R.id.chronometer1);
    ch.setBase(SystemClock.elapsedRealtime());//复位计时器,停止计时
    ch.setFormat("已用时间:%s");
    ch.start();
    //设置监听
    ch.setOnChronometerTickListener(new OnChronometerTickListener() {

        @Override
        public void onChronometerTick(Chronometer chronometer) {
            //如果从开始到现在超过了30s
            if(SystemClock.elapsedRealtime() - ch.getBase() >= 30000){
                Intent intent = new Intent(MainActivity.this,Finish.class);
                Bundle bundle = new Bundle();
                bundle.putInt("num", i);
                intent.putExtras(bundle);
                startActivity(intent);
                finish();
            }
        }
    });

    textView = (TextView) findViewById(R.id.textView1);
    mouse = (ImageView) findViewById(R.id.imageView1);
    integral=(ImageView) findViewById(R.id.imageView2);
    integral.setVisibility(View.INVISIBLE);
    pool = new SoundPool(2, AudioManager.STREAM_SYSTEM, 0);
    soundmap.put(1, pool.load(MainActivity.this, R.raw.dalaoshu,1));
    soundmap.put(2, pool.load(MainActivity.this, R.raw.enter,1));
    pool.play(soundmap.get(1), 1, 1, 0, -1, 1);
    final Animation translate = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim_translate);
    mouse.setOnTouchListener(new OnTouchListener() {

        @Override
        public  boolean onTouch(View v, MotionEvent event) {
            v.setVisibility(View.INVISIBLE);// 设置地老鼠不显示
            i++;
            pool.play(soundmap.get(2), 1, 1, 0, 0, 1);
            integral.startAnimation(translate);
            integral.setVisibility(View.INVISIBLE);
            textView.setText("积分:"+i+"0");
            return false;
        }
    });
    handler = new Handler(){

        @Override
        public void handleMessage(Message msg) {
            int index = 0;
            if(msg.what == 0x111){
                index = msg.arg1;
                mouse.setX(position[index][0]);
                mouse.setY(position[index][1]);
                mouse.setVisibility(View.VISIBLE);

            }
            super.handleMessage(msg);
        }
    };
    Thread t = new Thread(new Runnable() {

        @Override
        public void run() {
            int index = 0;
            while(!Thread.currentThread().isInterrupted()){
                index = new Random().nextInt(position.length);
                Message m = handler.obtainMessage();
                m.what = 0x111;
                m.arg1 = index;
                handler.sendMessage(m);             
                try {
                    Thread.sleep(new Random().nextInt(240)+200);

                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }

        }
    });
    t.start();
}
@Override
protected void onDestroy() {
    if(mp != null){
        mp.stop();
        mp.release();
        mp=null;
    }
    super.onDestroy();
}

}

  • 写回答

5条回答 默认 最新

  • devmiao 2016-06-14 06:32
    关注

    textView = (TextView) findViewById(R.id.textView1); 文本
    mouse = (ImageView) findViewById(R.id.imageView1); 老鼠
    integral=(ImageView) findViewById(R.id.imageView2); 积分
    integral.setVisibility(View.INVISIBLE); 设置积分不可见
    pool = new SoundPool(2, AudioManager.STREAM_SYSTEM, 0); 声音
    soundmap.put(1, pool.load(MainActivity.this, R.raw.dalaoshu,1)); 放入大老鼠
    soundmap.put(2, pool.load(MainActivity.this, R.raw.enter,1));放入进入
    pool.play(soundmap.get(1), 1, 1, 0, -1, 1); 获取声音
    final Animation translate = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim_translate); 动画
    mouse.setOnTouchListener(new OnTouchListener() { 触摸事件

    @Override 重写
    public  boolean onTouch(View v, MotionEvent event) { 触摸的时候触发
        v.setVisibility(View.INVISIBLE);// 设置地老鼠不显示 
        i++; 变量+1
        pool.play(soundmap.get(2), 1, 1, 0, 0, 1); 播放
        integral.startAnimation(translate); 开始动画
        integral.setVisibility(View.INVISIBLE); 设置不可见
        textView.setText("积分:"+i+"0"); 显示积分
        return false; 返回
    }
    

    });
    handler = new Handler(){ 定义新的handler

    @Override
    public void handleMessage(Message msg) {
        int index = 0;
        if(msg.what == 0x111){
            index = msg.arg1;
            mouse.setX(position[index][0]);
            mouse.setY(position[index][1]);
            mouse.setVisibility(View.VISIBLE);
    
        }
        super.handleMessage(msg);
    }
    

    };
    Thread t = new Thread(new Runnable() {

    @Override
    public void run() {
        int index = 0;
        while(!Thread.currentThread().isInterrupted()){
            index = new Random().nextInt(position.length);
            Message m = handler.obtainMessage();
            m.what = 0x111;
            m.arg1 = index;
            handler.sendMessage(m);             
            try {
                Thread.sleep(new Random().nextInt(240)+200);
    
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    
    }
    

    });
    t.start();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器