Project

General

Profile

« Previous | Next » 

Revision 72d6857c

Added by Leszek Koltunski over 2 years ago

off-center objects: finished.

View differences:

src/main/java/org/distorted/objectlib/effects/win/WinEffectGlow.java
67 67
    degreeDyn.add(new Static1D(1.5f));
68 68
    degreeDyn.add(new Static1D(1.0f));
69 69

  
70
    Static3D move = mPre.getMove();
71
    float moveX = move.get0();
72
    float moveY = move.get1();
73
    int width = mScreen.getWidth();
74
    int height= mScreen.getHeight();
70
    float moveX = mPre.getMoveX();
71
    float moveY = mPre.getMoveY();
72
    int width   = mScreen.getWidth();
73
    int height  = mScreen.getHeight();
75 74
    Static3D center = new Static3D(moveX/width, moveY/height, 0);
76 75
    float ratio = 0.5f*mObject.getRatio();
77 76

  
src/main/java/org/distorted/objectlib/main/ObjectControl.java
26 26

  
27 27
import org.distorted.library.main.QuatHelper;
28 28
import org.distorted.library.type.Static2D;
29
import org.distorted.library.type.Static3D;
30 29
import org.distorted.library.type.Static4D;
31 30

  
32 31
import org.distorted.objectlib.helpers.BlockController;
......
57 56
    private Movement mMovement;
58 57
    private boolean mDragging, mBeginningRotation, mContinuingRotation;
59 58
    private int mScreenWidth, mScreenHeight, mScreenMin;
60
    private Static3D mMove;
59
    private float mMoveX, mMoveY;
61 60

  
62 61
    private float mRotAngle, mInitDistance;
63 62
    private float mStartRotX, mStartRotY;
......
330 329
    private void prepareDown(MotionEvent event)
331 330
      {
332 331
      mPointer1 = event.getPointerId(0);
333
      mX1 = event.getX();
334
      mY1 = event.getY();
332
      mX1 = event.getX() - mMoveX;
333
      mY1 = event.getY() + mMoveY;
335 334
      mPointer2 = INVALID_POINTER_ID;
336 335
      }
337 336

  
......
343 342

  
344 343
      if( index1>=0 )
345 344
        {
346
        mX1 = event.getX(index1);
347
        mY1 = event.getY(index1);
345
        mX1 = event.getX(index1) - mMoveX;
346
        mY1 = event.getY(index1) + mMoveY;
348 347
        }
349 348

  
350 349
      int index2 = event.findPointerIndex(mPointer2);
351 350

  
352 351
      if( index2>=0 )
353 352
        {
354
        mX2 = event.getX(index2);
355
        mY2 = event.getY(index2);
353
        mX2 = event.getX(index2) - mMoveX;
354
        mY2 = event.getY(index2) + mMoveY;
356 355
        }
357 356
      }
358 357

  
......
373 372
      if( mPointer1==INVALID_POINTER_ID )
374 373
        {
375 374
        mPointer1 = event.getPointerId(index);
376
        mX1 = event.getX(index);
377
        mY1 = event.getY(index);
375
        mX1 = event.getX(index) - mMoveX;
376
        mY1 = event.getY(index) + mMoveY;
378 377
        }
379 378
      else if( mPointer2==INVALID_POINTER_ID )
380 379
        {
381 380
        mPointer2 = event.getPointerId(index);
382
        mX2 = event.getX(index);
383
        mY2 = event.getY(index);
381
        mX2 = event.getX(index) - mMoveX;
382
        mY2 = event.getY(index) + mMoveY;
384 383
        }
385 384
      }
386 385

  
......
489 488
        }
490 489
      }
491 490

  
492
///////////////////////////////////////////////////////////////////////////////////////////////////
493

  
494
    Static3D getMove()
495
      {
496
      return mMove;
497
      }
498

  
499 491
///////////////////////////////////////////////////////////////////////////////////////////////////
500 492
// INTERNAL API (for AutomaticControl)
501 493
///////////////////////////////////////////////////////////////////////////////////////////////////
......
536 528

  
537 529
      mPreRender = new ObjectPreRender(act,this,actioner);
538 530
      mInterface = actioner;
539
      mMove = new Static3D(0,0,0);
540 531
      }
541 532

  
542 533
///////////////////////////////////////////////////////////////////////////////////////////////////
......
553 544

  
554 545
    public void setMove(int xmove, int ymove)
555 546
      {
556
      mMove = new Static3D(xmove,ymove,0);
557
      mPreRender.setMove(mMove);
547
      mMoveX = xmove;
548
      mMoveY = ymove;
549

  
550
      mPreRender.setMove(xmove,ymove);
558 551
      }
559 552

  
560 553
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/main/ObjectPreRender.java
47 47
  private final BlockController mBlockController;
48 48
  private final ObjectLibInterface mInterface;
49 49
  private String mDebug;
50
  private Static3D mMove;
50
  private float mMoveX, mMoveY;
51 51

  
52 52
  private boolean mFinishRotation, mRemoveRotation, mRemovePatternRotation, mAddRotation,
53 53
                  mSetQuat, mChangeObject, mSolveObject, mScrambleObject,
......
87 87
    mNewObject = null;
88 88

  
89 89
    mDebug = "";
90
    mMove = new Static3D(0,0,0);
91 90

  
92 91
    mScreenWidth = 0;
93 92
    mScrambleObjectNum = 0;
......
106 105

  
107 106
    if( mOldObject!=null ) mOldObject.releaseResources();
108 107
    mOldObject = mNewObject;
108
    Static3D move = new Static3D(mMoveX,mMoveY,0);
109 109

  
110
    mNewObject = object.create( mController.getQuat(), mController.getMove(), mAct.get().getResources(), mScreenWidth);
110
    mNewObject = object.create( mController.getQuat(), move, mAct.get().getResources(), mScreenWidth);
111 111

  
112 112
    if( mNewObject!=null )
113 113
      {
......
318 318

  
319 319
///////////////////////////////////////////////////////////////////////////////////////////////////
320 320

  
321
  void setMove(Static3D move)
321
  void setMove(float xmove, float ymove)
322 322
    {
323
    mMove = move;
323
    mMoveX = xmove;
324
    mMoveY = ymove;
324 325
    }
325 326

  
326 327
///////////////////////////////////////////////////////////////////////////////////////////////////
......
341 342

  
342 343
///////////////////////////////////////////////////////////////////////////////////////////////////
343 344

  
344
  public Static3D getMove()
345
  public float getMoveX()
345 346
    {
346
    return mMove;
347
    return mMoveX;
348
    }
349

  
350
///////////////////////////////////////////////////////////////////////////////////////////////////
351

  
352
  public float getMoveY()
353
    {
354
    return mMoveY;
347 355
    }
348 356

  
349 357
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff