現在、イライラ棒ゲームをAndroidで作成しているのですが、壁に当たったりゲームクリアした際にBGMをとめる処理を書いたのですが、BGMをとめるどころか、BGMが鳴りません。どこが間違っているのでしょうか?
lang
1 2import java.util.ArrayList; 3import java.util.LinkedList; 4 5import jp.example.game2.Barricade.eType; 6import android.annotation.SuppressLint; 7import android.content.Context; 8import android.graphics.Canvas; 9import android.graphics.Color; 10import android.graphics.Paint; 11import android.media.MediaPlayer; 12 13@SuppressLint("WrongCall") 14public class GmaMgr { 15 private MediaPlayer mp1; 16 17@SuppressWarnings("unused") 18private void MediaPlayer(MediaPlayer mp1){ 19mp1=MediaPlayer.create(getContext(),R.drawable.kusai); 20mp1.start(); 21} 22 private enum eStatus{ 23 NORMAL, 24 GAMEOVER, 25 GAMECLEAR 26 }; 27 28 private static final float PI = (float) Math.PI; 29 private ArrayList<Barricade> _barrList = new ArrayList<Barricade>(); 30 private LinkedList<Task> _taskList = new LinkedList<Task>(); 31 private eStatus _status=eStatus.NORMAL; 32 private Player _player; 33 GmaMgr(){ 34 _barrList.add(new BarricadeSquare( 0, 0,1200, 20, null)); 35 _barrList.add(new BarricadeSquare( 0, 0, 20,1800, null)); 36 _barrList.add(new BarricadeSquare(1180, 0, 20,1800, null)); 37 _barrList.add(new BarricadeSquare( 0,1800,1200, 20, null)); 38 39 _barrList.add(new BarricadeSquare(550,0,40,1740,null)); 40 41 //Left 42 _barrList.add(new BarricadeSquare(70, 440, 480, 40, null)); 43 _barrList.add(new BarricadeSquare(0, 535, 500, 40, null)); 44 _barrList.add(new BarricadeSquare(70, 630, 480, 40, null)); 45 _barrList.add(new BarricadeSquare(0, 725, 500, 40, null)); 46 _barrList.add(new BarricadeSquare(70, 820, 480, 40, null)); 47 _barrList.add(new BarricadeSquare(0, 915, 500, 40, null)); 48 _barrList.add(new BarricadeSquare(70, 1010, 480, 40, null)); 49 _barrList.add(new BarricadeSquare(0, 1105, 500, 40, null)); 50 _barrList.add(new BarricadeSquare(70, 1200, 480, 40, null)); 51 _barrList.add(new BarricadeSquare(0, 1295, 500, 40, null)); 52 _barrList.add(new BarricadeSquare(70, 1390, 480, 40, null)); 53 _barrList.add(new BarricadeSquare(0, 1485, 500, 40, null)); 54 _barrList.add(new BarricadeSquare(70, 1580, 480, 40, null)); 55 _barrList.add(new BarricadeSquare(0, 1675, 500, 40, null)); 56 57 //Right 58 _barrList.add(new BarricadeSquare(590, 50, 540, 40, null)); 59 _barrList.add(new BarricadeSquare(650, 145, 530, 40, null)); 60 _barrList.add(new BarricadeSquare(590, 240, 540, 40, null)); 61 _barrList.add(new BarricadeSquare(650, 335, 530, 40, null)); 62 _barrList.add(new BarricadeSquare(590, 430, 540, 40, null)); 63 _barrList.add(new BarricadeSquare(650, 525, 530, 40, null)); 64 _barrList.add(new BarricadeSquare(590, 620, 540, 40, null)); 65 _barrList.add(new BarricadeSquare(650, 715, 530, 40, null)); 66 _barrList.add(new BarricadeSquare(590, 810, 540, 40, null)); 67 _barrList.add(new BarricadeSquare(650, 905, 530, 40, null)); 68 _barrList.add(new BarricadeSquare(590, 1000, 540, 40, null)); 69 _barrList.add(new BarricadeSquare(650, 1095, 530, 40, null)); 70 _barrList.add(new BarricadeSquare(590, 1190, 540, 40, null)); 71 _barrList.add(new BarricadeSquare(650, 1285, 530, 40, null)); 72 _barrList.add(new BarricadeSquare(590, 1380, 540, 40, null)); 73 _barrList.add(new BarricadeSquare(650, 1475, 530, 40, null)); 74 _barrList.add(new BarricadeSquare(590, 1570, 540, 40, null)); 75 _barrList.add(new BarricadeSquare(650, 1665, 530, 40, null)); 76 77 78 //_barrList.add(new BarricadeSquare(0, 900, 1200, 20, new BConf(+PI/180))); 79 //_barrList.add(new BarricadeSquare(0, 900, 1200, 20, new BConf(-PI/180))); 80 //_barrList.add(new BarricadeTriangle(900,1200,200,new BConf(+PI/180))); 81 82 _barrList.add(new BarricadeSquare(800,20,380,30,new BConf(eType.GOAL))); 83 for (Barricade bar : _barrList) { 84 _taskList.add(bar); 85 } 86 _player=new Player(); 87 _taskList.add(_player); 88 89 } 90 private Context getContext() { 91 // TODO 自動生成されたメソッド・スタブ 92 return null; 93 } 94 95 96 private boolean Collision(){ 97 Vec vec = new Vec(); 98 final Circle cir = _player.getPt(); 99 for(Barricade barr : _barrList){ 100 Def.eHitCode code = barr.isHit(cir, vec); 101 switch(code){ 102 case OUT: 103 _status = eStatus.GAMEOVER; 104 return true; 105 case GOAL: 106 _status=eStatus.GAMECLEAR; 107 return true; 108 case NO: 109 break; 110 default: 111 break; 112 } 113 } 114 return false; 115 } 116 117 public boolean onUpdate(){ 118 if( _status != eStatus.NORMAL ){ 119 return true; 120 } 121 if( Collision() ){ 122 return true; 123 } 124 for(int i=0; i<_taskList.size(); i++){ 125 if(_taskList.get(i).onUpdate()==false){ 126 _taskList.remove(i); 127 i--; 128 } 129 } 130 return true; 131 } 132 public void drawStatus(Canvas c){ 133 switch( _status ){ 134 case GAMEOVER: 135 { 136 mp1.pause(); 137 Paint paint = new Paint(); 138 paint.setTextSize(80); 139 paint.setColor(Color.BLACK); 140 c.drawText("GameOver", 40, 100, paint); 141 break; 142 } 143 case GAMECLEAR: 144 { 145 mp1.pause(); 146 Paint paint=new Paint(); 147 paint.setTextSize(80); 148 paint.setColor(Color.BLACK); 149 c.drawText("GameClear",40,100, paint); 150 } 151 break; 152 case NORMAL: 153 break; 154 default: 155 break; 156 } 157 } 158 159 public void onDraw(Canvas c){ 160 c.drawColor(Color.WHITE); 161 for(Task task:_taskList){ 162 task.onDraw(c); 163 } 164 drawStatus(c); 165 } 166} 167 168 169コード
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/19 05:30