teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

更新

2017/10/26 05:07

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -218,4 +218,7 @@
218
218
  drawCanvs()はonSensorChangedの中に書くときちんと表示されます。(この時playvideo()は書いていません)
219
219
  drawCanvas()とplayvideo()の内容が間違っているのでしょうか?
220
220
  動画を再生し終えた後、画面には動画の最後のコマが残ったままなのですがこれを消去して描画すればいいのでしょうか?またそのコマの表示を終わらせる関数があれば教えていただきたいです。
221
- android開発は初心者なのでご教授ください
221
+ android開発は初心者なのでご教授ください
222
+
223
+
224
+ drawCanvasをonSensorChangedの中にplayvideoをonCreateの中に書くと動きました。ありがとうございます。

1

変更

2017/10/26 05:07

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -31,6 +31,7 @@
31
31
  public class MainActivity extends Activity
32
32
  implements SensorEventListener, SurfaceHolder.Callback {
33
33
 
34
+ int a;
34
35
 
35
36
  SensorManager mSensorManager;
36
37
  Sensor mGSensor;
@@ -99,20 +100,15 @@
99
100
  mTo = System.currentTimeMillis();
100
101
  float t = (float) (mTo - mFrom);//1秒=1000.0
101
102
  t = t / 1000.0f;
102
- //t1 = t1 + (float)(mTo - mFrom);
103
+
103
104
 
104
105
  if (RADIUS < 119.9f) {
105
- if(t1 < 1730){
106
+
106
- RADIUS = 0;
107
- mBallX = mSurfaceWidth / 2;
108
- mBallY = 0;
109
- }
110
- if(t1 > 1730){
111
107
  RADIUS = RADIUS + (mTo - mFrom) * (float) 0.10;
112
108
  mBallX = mBallX + (mTo - mFrom) * (float) 0.75;
113
109
  mBallY = mBallY + (mTo - mFrom) * (float) 0.20;
110
+
114
- }
111
+ }
115
- }
116
112
 
117
113
  float x1 = t * x / 2.0f;
118
114
  float y1 = t * y / 2.0f;
@@ -148,7 +144,7 @@
148
144
 
149
145
  @Override
150
146
  public void onCompletion(MediaPlayer mp) {
151
-
147
+ a = 1;
152
148
  drawCanvas();
153
149
  }
154
150
  });
@@ -156,13 +152,15 @@
156
152
 
157
153
 
158
154
  private void drawCanvas() {
155
+ if(a > 0){
159
- Canvas c = mHolder.lockCanvas();//サーフェス内のピクセルの編集を開始します.lockで始まりunlockで終わり
156
+ Canvas c = mHolder.lockCanvas();//サーフェス内のピクセルの編集を開始します.lockで始まりunlockで終わり
160
- c.drawColor(Color.BLACK, PorterDuff.Mode.CLEAR);
157
+ c.drawColor(Color.BLACK, PorterDuff.Mode.CLEAR);
161
- Paint paint = new Paint();//既定の設定で新しいペイントを作成します
158
+ Paint paint = new Paint();//既定の設定で新しいペイントを作成します
162
- paint.setColor(Color.WHITE);//1個上のpaintをsetColorでimportのColorを使って白に変える
159
+ paint.setColor(Color.WHITE);//1個上のpaintをsetColorでimportのColorを使って白に変える
163
- c.drawCircle(mBallX, mBallY, RADIUS, paint);//cというキャンバスにpaintを使って絵を描く
160
+ c.drawCircle(mBallX, mBallY, RADIUS, paint);//cというキャンバスにpaintを使って絵を描く
164
- mHolder.unlockCanvasAndPost(c);//キャンバス解放
161
+ mHolder.unlockCanvasAndPost(c);//キャンバス解放
165
- }
162
+ }
163
+ }
166
164
 
167
165
  @Override
168
166
  public void onAccuracyChanged(Sensor sensor, int accuracy) {