2017-11-02 11 views
5

속도 또는 아크 라인이 공동 유래 핀이 아크의 온라인 터치를 터치 한 시간.내가 각도에 따라 바퀴를 회전에서 사운드를 재생하고</p> <p>내가 오른쪽에 사운드가 재생하려는 회전 바퀴의 속도를 조정하려는

또한 흔들기처럼 터치 할 때 핀으로 애니메이션하고 싶습니다.

사운드 재생하지만 소리가 연속적으로 재생하고자하는 캔버스 휠

@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    drawWheelBackground(canvas); 
    initComponents(); 

    float tempAngle = 0; 
    float sweepAngle = 360/mWheelItems.size(); 
    if (this.mWheelItems != null) { 

     Log.e("mWheelItems.size()", String.valueOf(mWheelItems.size())); 
     for (int i = 0; i < mWheelItems.size(); i++) { 
      archPaint.setColor(mWheelItems.get(i).color); 
      archPaint1.setColor(Color.WHITE); 

      canvas.drawArc(range, tempAngle, sweepAngle, true, archPaint2); 
      canvas.drawArc(range, tempAngle, sweepAngle, true, archPaint); 

      drawImage(canvas, tempAngle, mWheelItems.get(i).bitmap, mWheelItems.get(i).mvalue, sweepAngle); 

     } 

     if (!(this.resourcePlayer == null)) { 

      if (this.resourcePlayer.isPlaying()) { 
       resourcePlayer.setVolume(100, 100); 
       this.resourcePlayer.seekTo(0); 

      } else { 

       this.resourcePlayer.start(); 

      } 
     } 

    } 
} 

회전에 따르면 한 좌표하지 wheelItemCenter에 따라 360도

final float wheelItemCenter = 180 - getAngleOfIndexTarget(target) + (360/mWheelItems.size())/2; 

    animate().setInterpolator(new DecelerateInterpolator()) 
      .setDuration(DEFAULT_ROTATION_TIME) 
      .rotation((360*5) + wheelItemCenter) 
그래서 나는 '경우

enter image description here

+0

런타임 검사를 위해 jsfiddle 링크를 제공 할 수 있습니까? – spankajd

+1

아니, 나는 jsfiddle을 사용하지 않고있다. 이것은 js를 사용하지 않고 android canvas로 만든 것이다. –

답변

2

정확하게 이해한다면 바퀴의 속도에 따라 소리를 조절하고 핀 중 하나에 부딪 칠 때마다 소리를 내고 싶을 것입니다.

핀 중 하나에 도달 할 때마다 그것을 연주하는 것은 수학 문제 여야합니다. 연속적으로 연주하면 휠이 빠르게 회전하고 연주하는 사운드가 두 개의 핀을 두드리는 간격보다 길다는 것을 의미합니다 , 나는 생각한다.

speedpitch 소리로 놀 수 있습니다. MediaPlayer을 사용하는 경우 을 this에 따라 변경할 수 있습니다 (setPitchsetSpeed).

휠이 빠를수록 소리의 속도/피치가 높아집니다. 속도가 느릴수록 소리가 느려집니다.

+0

나는이 길로 내려 가지 않을 것이다. 나는 모든 히트에서 재생을위한 새로운 스레드를 시작 sugest 것입니다. – PanBrambor