Revision 9621255f
Added by Leszek Koltunski about 4 years ago
src/main/java/org/distorted/main/RubikSurfaceView.java | ||
---|---|---|
173 | 173 |
|
174 | 174 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
175 | 175 |
|
176 |
private void setUpDragOrRotate(float x, float y) |
|
176 |
private void setUpDragOrRotate(boolean down, float x, float y)
|
|
177 | 177 |
{ |
178 | 178 |
int mode = RubikState.getMode(); |
179 | 179 |
|
... | ... | |
201 | 201 |
else if( mode==MODE_REPLACE ) |
202 | 202 |
{ |
203 | 203 |
mBeginningRotation= false; |
204 |
RubikStateSolver solver = (RubikStateSolver) RubikState.SVER.getStateClass(); |
|
205 |
int cubit = mMovement.getTouchedCubit(); |
|
206 |
int face = mMovement.getTouchedFace(); |
|
207 |
int color = solver.getCurrentColor(); |
|
208 |
mPostRender.setTextureMap( cubit, face, color ); |
|
204 |
|
|
205 |
if( down ) |
|
206 |
{ |
|
207 |
RubikStateSolver solver = (RubikStateSolver) RubikState.SVER.getStateClass(); |
|
208 |
int face = mMovement.getTouchedFace(); |
|
209 |
float[] point = mMovement.getTouchedPoint3D(); |
|
210 |
int color = solver.getCurrentColor(); |
|
211 |
RubikObject object = mPostRender.getObject(); |
|
212 |
int cubit = object.getCubit(point); |
|
213 |
|
|
214 |
mPostRender.setTextureMap( cubit, face, color ); |
|
215 |
} |
|
209 | 216 |
} |
210 | 217 |
} |
211 | 218 |
else |
... | ... | |
337 | 344 |
{ |
338 | 345 |
case MotionEvent.ACTION_DOWN: mX = x; |
339 | 346 |
mY = y; |
340 |
setUpDragOrRotate(x,y); |
|
347 |
setUpDragOrRotate(true,x,y);
|
|
341 | 348 |
break; |
342 | 349 |
case MotionEvent.ACTION_MOVE: if( mBeginningRotation ) |
343 | 350 |
{ |
... | ... | |
357 | 364 |
computeCurrentAxis( object.getRotationAxis()[axis] ); |
358 | 365 |
mRotationFactor = object.returnRotationFactor(offset); |
359 | 366 |
|
360 |
object.beginNewRotation( axis, object.returnRowFromOffset(offset) );
|
|
367 |
object.beginNewRotation( axis, (int)(object.returnMultiplier()*offset) );
|
|
361 | 368 |
|
362 | 369 |
if( RubikState.getCurrentState()==RubikState.SOLV ) |
363 | 370 |
{ |
... | ... | |
391 | 398 |
} |
392 | 399 |
else |
393 | 400 |
{ |
394 |
setUpDragOrRotate(x,y); |
|
401 |
setUpDragOrRotate(false,x,y);
|
|
395 | 402 |
} |
396 | 403 |
break; |
397 | 404 |
case MotionEvent.ACTION_UP : if( mDragging ) |
Also available in: Unified diff
Progress with the 3x3x3 Solver.