推 ericinttu:你在模擬器還是手機測的? 04/16 16:23
推 ericinttu:還有就是你確定 MotionEvent.ACTION_MOVE 裡,只會送出 04/16 16:27
→ ericinttu:一個事件? (我不確定所以先問看看) 04/16 16:27
手機,我也是覺得只要move到,他就一次送出好多個事件
而我之前是用MediaPlayer不會出現這種問題
但因為我一口氣需要6個所以很延遲就改用soundpool
※ 編輯: snowoffish 來自: 122.127.178.123 (04/16 16:35)
→ snowoffish:要如何讓他一次只送一個事件阿...>< 04/16 16:36
推 abccbaandy:在你的程式碼前面用個boolean判斷不就好了? 04/16 16:53
→ abccbaandy:if(x>=15&&x<=40) <=true的話就把那個boolean變false 04/16 16:54
public boolean onTouchEvent(MotionEvent event) {
float x=event.getX();
case MotionEvent.ACTION_MOVE:
if(x>=15&&x<=40){sp[5].play(m[5], 1 , 1 , 0 , 0 , 1 );
return false;}
break;
}
return super.onTouchEvent(event);
}
不好意思我Java沒學很深不太會用Boolean的ture&false可否請教要+在哪?
我+在裡面沒反應還是一樣
推 ericinttu:樓上是一種作法. 另一種作法是看看有沒有別種事件可以達 04/16 16:59
→ ericinttu:到同樣效果但只觸發一次. 04/16 16:59
推 ericinttu:我不知道你這的操作的情境是怎樣的,所以沒辦法給明確的 04/16 17:02
→ ericinttu:建議. 04/16 17:02
推 ericinttu:ACTION_DOWN 應該是最接近的, 但不確定有沒有反效果. 04/16 17:04
→ snowoffish:down也是一樣 我兩者都有用@@ 04/16 17:13
※ 編輯: snowoffish 來自: 122.127.178.123 (04/16 17:24)
推 afz096:ACTION_MOVE 會將整個 move 的動作拆成多個 event 04/16 21:40
→ afz096:利用旗標(boolean)的方式,還沒播放的時候為 true 04/16 21:41
→ afz096:播放之後為 false,ACTION_UP 之後為 true 04/16 21:41
→ snowoffish:可是我用Action_Down也是一樣的情況呢!! 04/16 22:49
public boolean bool;
public boolean onTouchEvent(MotionEvent event)
{
float x=event.getX();
float y=event.getY();
/* 顯示觸碰點的數量 */
// myText2.setText(""+event.getPointerCount());
/* event的Action判斷 */
switch(event.getAction())
{
case MotionEvent.ACTION_MOVE:
if(bool=true){
if(x>=15&&x<=40){sp[5].play(m[5], 1 , 1 , 0 , 0 , 1 );}
if(x>=70&&x<=95){sp[4].play(m[4], 1 , 1 , 0 , 0 , 1 );}
if(x>=113&&x<=140){sp[3].play(m[3], 1 , 1 , 0 , 0 , 1 );}
bool=false;}
break;
/* 觸碰事件結束 */
case MotionEvent.ACTION_UP:
bool=true;
break;
}
return super.onTouchEvent(event);
}
還是跟機關槍一樣連發~
※ 編輯: snowoffish 來自: 122.127.178.123 (04/16 23:32)
推 realmeat:ACTION_UP 在動作 04/16 23:40
→ snowoffish:沒辦法耶 我是吉他程式所以要一碰就有 04/16 23:48
推 abccbaandy:你搞錯意思了...if(bool){你的程式} 這樣才對 04/16 23:52
→ abccbaandy:return XX那個好像有別的意思,有點忘了 04/16 23:52
推 realmeat:吉他程式喔, 那最好DOWN, UP, MOVE要混用 04/16 23:53
→ realmeat:單靠一個的話不太行 04/16 23:54
推 ericinttu:同樓上 04/16 23:54
推 abccbaandy:吉他程式...該不會是專題吧XD 04/16 23:56
→ snowoffish:!!!恍然大悟 對 再做專題xd 04/17 00:01
我似乎失敗了...bool完全沒效果XD我把它改成false還是可以用move是哪招...
※ 編輯: snowoffish 來自: 122.127.178.123 (04/17 00:17)
→ snowoffish:已經快要被搞死了 囧rz~除了這功能還有一大堆在等我... 04/17 00:22
→ realmeat: == <-- 04/17 00:26
→ realmeat:應該會跳warnning 注意一下compile 訊息 04/17 00:26
→ snowoffish:哦!謝謝!難怪我怎覺得平常都要== 怎麼=沒錯 04/17 01:07
→ snowoffish:DOWN成功了!可是MOVE還要換個邏輯 感謝各位^^ 04/17 01:09
→ snowoffish:WOW~三樣都搞好了 自己的寫法雖然感覺有點蠢XDD 04/17 11:11