用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - android代码库

打地鼠

2016-07-14 作者: 安师大举报

[android]代码库

package com.example.game_1; 
 
    
 
import android.annotation.SuppressLint; 
 
import android.app.Activity; 
 
import android.app.AlertDialog.Builder; 
 
import android.content.Context; 
 
import android.content.DialogInterface; 
 
import android.media.AudioManager; 
 
import android.media.MediaPlayer; 
 
import android.media.SoundPool; 
 
import android.os.Bundle; 
 
import android.view.Gravity; 
 
import android.view.KeyEvent; 
 
import android.view.Window; 
 
import android.view.WindowManager; 
 
import android.widget.ImageView; 
 
import android.widget.TextView; 
 
    
 
import com.example.game.gamehit.common.Const; 
 
import com.example.game.gamehit.util.MUtils; 
 
    
 
@SuppressLint("ResourceAsColor"
 
public class MainActivity extends Activity { 
 
    
 
    private MediaPlayer mBgMediaPlayer; 
 
    private boolean isMusic = true
 
    private Context mContext; 
 
    private static SoundPool mSoundPool = new SoundPool(1
 
            AudioManager.STREAM_MUSIC, 0); 
 
    /** 0:打;1:打中;2死机 */
 
    private int[] soundIds = { -1, -1, -1, -1, -1 }; 
 
    public boolean isPause; 
 
    public GameView gameView; 
 
    
 
    @Override
 
    public void onCreate(Bundle savedInstanceState) { 
 
        super.onCreate(savedInstanceState); 
 
        // setContentView(R.layout.activity_main); 
 
        requestWindowFeature(Window.FEATURE_NO_TITLE);// 无标题 
 
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
 
                WindowManager.LayoutParams.FLAG_FULLSCREEN);// 全屏 
 
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // 应用运行时,保持屏幕高亮,不锁屏 
 
        init(); 
 
        gameView = new GameView(MainActivity.this); 
 
        setContentView(gameView); 
 
    
 
        // playBackgroundVoide(); 
 
    
 
    
 
    /** 
 
     *  
 
     */
 
    private void init() { 
 
        mContext = MainActivity.this
 
        initGameMode(); 
 
        mBgMediaPlayer = MediaPlayer.create(mContext, Const.voiceBackground); 
 
        mBgMediaPlayer.setLooping(true);// 循环 
 
        soundIds[Const.voiceShoot] = mSoundPool.load(mContext, R.raw.shoot, 1); 
 
        soundIds[Const.voiceHit] = mSoundPool.load(mContext, R.raw.hit, 1); 
 
        soundIds[Const.voiceNo] = mSoundPool.load(mContext, R.raw.no, 1); 
 
        soundIds[Const.voiceNextlevel] = mSoundPool.load(mContext, 
 
                R.raw.nextlevel, 1); 
 
        soundIds[Const.voiceGameover] = mSoundPool.load(mContext, 
 
                R.raw.gameover, 1); 
 
    
 
        adMethod(); 
 
    
 
    
 
    /** 
 
     *  
 
     */
 
    private void adMethod() { 
 
        MUtils.getInstance(mContext); 
 
        MUtils.showRight(); 
 
        MUtils.getInstance(mContext); 
 
        MUtils.showBtoom(); 
 
    
 
    
 
    /* 
 
     * (non-Javadoc) 
 
     *  
 
     * @see android.app.Activity#onKeyDown(int, android.view.KeyEvent) 
 
     */
 
    @Override
 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
 
        switch (event.getKeyCode()) { 
 
        case KeyEvent.KEYCODE_BACK: 
 
            finish(); 
 
            return true
 
        
 
        // super.onKeyDown(keyCode, event) 
 
        return false
 
    
 
    
 
    /** 
 
     * @return 
 
     */
 
    private boolean isGotomenu() { 
 
        isPause = true
 
        boolean flag = false
 
        Builder gotoMenu = new Builder(mContext); 
 
        TextView textView = new TextView(mContext); 
 
        textView.setText("要返回菜单吗?"); 
 
        textView.setTextSize(24); 
 
        textView.setTextColor(getResources().getColor(R.color.fontColor)); 
 
        textView.setGravity(Gravity.CENTER); 
 
        textView.setBackgroundColor(getResources().getColor( 
 
                android.R.color.darker_gray)); 
 
        gotoMenu.setView(textView); 
 
        gotoMenu.setPositiveButton("是", new DialogInterface.OnClickListener() { 
 
            @Override
 
            public void onClick(DialogInterface dialog, int which) { 
 
                finish(); 
 
            
 
        }); 
 
        gotoMenu.setNegativeButton("否", null); 
 
        gotoMenu.show(); 
 
        return flag; 
 
    
 
    
 
    public void nextLevel() { 
 
        playVoice(Const.voiceNextlevel); 
 
        TextView textView = new TextView(mContext); 
 
        textView.setText("成功过关!你真棒!"); 
 
        textView.setTextSize(24); 
 
        textView.setTextColor(getResources().getColor(R.color.fontColor)); 
 
        textView.setGravity(Gravity.CENTER); 
 
        textView.setBackgroundColor(getResources().getColor( 
 
                android.R.color.darker_gray)); 
 
        Builder nextLevel = new Builder(mContext); 
 
        nextLevel.setView(textView); 
 
        nextLevel.setPositiveButton("下一关"
 
                new DialogInterface.OnClickListener() { 
 
                    @Override
 
                    public void onClick(DialogInterface dialog, int which) { 
 
                        gameView.startGame(); 
 
                    
 
                }); 
 
        nextLevel.setNegativeButton("返回菜单"
 
                new DialogInterface.OnClickListener() { 
 
                    @Override
 
                    public void onClick(DialogInterface dialog, int which) { 
 
                        finish(); 
 
                    
 
                }); 
 
        nextLevel.setCancelable(false); 
 
        nextLevel.show(); 
 
    
 
    
 
    public void gameOver() { 
 
        playVoice(Const.voiceGameover); 
 
        ImageView imgView = new ImageView(mContext); 
 
        imgView.setBackgroundColor(getResources().getColor( 
 
                android.R.color.darker_gray)); 
 
        imgView.setBackgroundResource(R.drawable.gameover); 
 
        Builder gameOver = new Builder(mContext); 
 
        gameOver.setView(imgView); 
 
        gameOver.setPositiveButton("重新挑战"
 
                new DialogInterface.OnClickListener() { 
 
                    @Override
 
                    public void onClick(DialogInterface dialog, int which) { 
 
                        gameView.initGameInfo(); 
 
                    
 
                }); 
 
        gameOver.setNegativeButton("返回菜单"
 
                new DialogInterface.OnClickListener() { 
 
                    @Override
 
                    public void onClick(DialogInterface dialog, int which) { 
 
                        finish(); 
 
                    
 
                }); 
 
        gameOver.setCancelable(false); 
 
        gameOver.show(); 
 
    
 
    
 
    @SuppressLint("ResourceAsColor"
 
    public void showTimerGrade(int grade, int killnum) { 
 
        playVoice(Const.voiceNextlevel); 
 
        Builder timerGrade = new Builder(mContext); 
 
        TextView textView = new TextView(mContext); 
 
        textView.setText("本次" + Const.timeNum + "秒计时\r\n击中:" + killnum 
 
                + "个\r\n得分:" + grade + "分"); 
 
        textView.setTextColor(getResources().getColor(R.color.fontColor)); 
 
        textView.setTextSize(24); 
 
        textView.setGravity(Gravity.CENTER); 
 
        textView.setBackgroundColor(getResources().getColor( 
 
                android.R.color.darker_gray)); 
 
        timerGrade.setView(textView); 
 
        timerGrade.setPositiveButton("重新挑战"
 
                new DialogInterface.OnClickListener() { 
 
                    @Override
 
                    public void onClick(DialogInterface dialog, int which) { 
 
                        gameView.initGameInfo(); 
 
                    
 
                }); 
 
        timerGrade.setNegativeButton("返回菜单"
 
                new DialogInterface.OnClickListener() { 
 
                    @Override
 
                    public void onClick(DialogInterface dialog, int which) { 
 
                        finish(); 
 
                    
 
                }); 
 
        timerGrade.setCancelable(false); 
 
        timerGrade.show(); 
 
    
 
    
 
    public void initGameMode() { 
 
        switch (Const.gameMode) { 
 
        case Const.gameMode_Level:// 闯关模式 
 
            // Const.backgroundImgResid = R.drawable.maplevel48_001; 
 
            Const.backgroundImgResid = R.drawable.mapds48_001; 
 
            Const.gameArrayStrResid = R.string.didong_level; 
 
            Const.voiceBackground = R.raw.level; 
 
            break
 
        case Const.gameMode_Random:// 随机模式 
 
            Const.backgroundImgResid = R.drawable.mapds48_001; 
 
            Const.gameArrayStrResid = R.string.didong_001; 
 
            Const.voiceBackground = R.raw.random; 
 
            break
 
        case Const.gameMode_Timer:// 计时模式 
 
            Const.voiceBackground = R.raw.time; 
 
            Const.backgroundImgResid = R.drawable.mapds48_001; 
 
            Const.gameArrayStrResid = R.string.didong_level; 
 
            break
 
        case Const.gameMode_Super:// 无尽模式 
 
            Const.voiceBackground = R.raw.supers; 
 
            Const.backgroundImgResid = R.drawable.mapds48_001; 
 
            Const.gameArrayStrResid = R.string.didong_001; 
 
            break
 
        
 
    
 
    
 
    /** 播放背景音乐 */
 
    public void playBackgroundMusic() { 
 
        if (Const.backgroundMusicOn && mBgMediaPlayer != null) { 
 
            mBgMediaPlayer.start(); 
 
        } else
 
            if (mBgMediaPlayer.isPlaying()) { 
 
                mBgMediaPlayer.pause(); 
 
            
 
        
 
    
 
    
 
    // /**播放无效攻击音效*/ 
 
    // public void playHitVoice(){ 
 
    // if(Const.voiceMusicOn && soundIds[0]!=-1){ 
 
    // mSoundPool.play(soundIds[0], 1.0f, 1.0f, 1, 0, 1.0f); 
 
    // } 
 
    // } 
 
    // 
 
    // /**播放击中音效*/ 
 
    // public void playDishuDeadVoice(){ 
 
    // if(Const.voiceMusicOn && soundIds[1]!=-1){ 
 
    // mSoundPool.play(soundIds[1], 1.0f, 1.0f, 1, 0, 1.0f); 
 
    // } 
 
    // } 
 
    
 
    /** 播放指定音效 */
 
    public void playVoice(int idx) { 
 
        if (Const.voiceMusicOn && soundIds[idx] != -1) { 
 
            mSoundPool.play(soundIds[idx], 1.0f, 1.0f, 1, 0, 1.0f); 
 
        
 
    
 
    
 
    /* 
 
     * (non-Javadoc) 
 
     *  
 
     * @see android.app.Activity#onDestroy() 
 
     */
 
    @Override
 
    protected void onDestroy() { 
 
        if (this.mBgMediaPlayer != null) { 
 
            if (this.isMusic) { 
 
                this.mBgMediaPlayer.stop(); 
 
                this.mBgMediaPlayer.release(); 
 
                this.mBgMediaPlayer = null
 
            
 
        
 
        super.onDestroy(); 
 
    
 
}


网友评论    (发表评论)

共10 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...