밑에글보다 좀더 코드가 깔끔해졌다고 생각합니다...그래서 실행시키면...
버튼처음누르고 있은후 동시에 두번째 버튼을 누르고 땐후 다시 두번쨰 버튼을 누르면
첫번째 버튼의값이 동작하는데...원인을 모르겠습니당...어떻게 해야될까요...
하악하악............
public boolean onTouch(View v, MotionEvent event) {
//Log.i("NXT", "onTouch event: " + Integer.toString(event.getAction()));
int action = event.getAction();
//if ((action == MotionEvent.ACTION_DOWN) || (action == MotionEvent.ACTION_MOVE)) {
switch(action&MotionEvent.ACTION_MASK){
case MotionEvent.ACTION_DOWN: {
byte power = (byte) mPower;
if (mReverse) {
power *= -1;
}
byte l = (byte) (power*lmod);
byte r = (byte) (power*rmod);
byte s = (byte) (power*smod);
if (!mReverseLR) {
mNXTTalker.motors(l,r,s, mRegulateSpeed, mSynchronizeMotors);
} else {
mNXTTalker.motors(l,r,s, mRegulateSpeed, mSynchronizeMotors);
}
//위 정보를 원하는데로 사용하세요.
break;
}
case MotionEvent.ACTION_CANCEL:{
//mNXTTalker.motors((byte) 0, (byte) 0,(byte) 0, mRegulateSpeed, mSynchronizeMotors);
break;
}
case MotionEvent.ACTION_UP:{
mNXTTalker.motors((byte) 0, (byte) 0,(byte) 0, mRegulateSpeed, mSynchronizeMotors);
//위 정보를 원하는데로 사용하세요.
break;
}
case MotionEvent.ACTION_POINTER_DOWN:{
byte power = (byte) mPower;
if (mReverse) {
power *= -1;
}
byte l = (byte) (power*lmod);
byte r = (byte) (power*rmod);
byte s = (byte) (power*smod);
if (!mReverseLR) {
mNXTTalker.motors(l,r,s, mRegulateSpeed, mSynchronizeMotors);
} else {
mNXTTalker.motors(l,r,s, mRegulateSpeed, mSynchronizeMotors);
}
break;
}
case MotionEvent.ACTION_POINTER_UP:{
mNXTTalker.motors((byte) 0, (byte) 0,(byte) 0, mRegulateSpeed, mSynchronizeMotors);
break;
//위 정보를 원하는데로 사용하세요.
}
}
return true;
}
}
답변좀 하악 ㅜㅜ