26 |
26 |
import org.distorted.library.effect.MatrixEffectScale;
|
27 |
27 |
import org.distorted.library.main.DistortedEffects;
|
28 |
28 |
import org.distorted.library.main.DistortedNode;
|
|
29 |
import org.distorted.library.main.DistortedScreen;
|
29 |
30 |
import org.distorted.library.main.DistortedTexture;
|
30 |
31 |
import org.distorted.library.mesh.MeshQuad;
|
31 |
32 |
import org.distorted.library.type.Dynamic;
|
... | ... | |
41 |
42 |
|
42 |
43 |
class RubikControlWhole
|
43 |
44 |
{
|
44 |
|
private static final int NUM_NODE = 2;
|
45 |
|
private static final int NUM_EFFE = 2;
|
|
45 |
private static final int NUM_NODE = 4;
|
|
46 |
private static final int NUM_EFFE = 4;
|
46 |
47 |
|
47 |
48 |
private final RubikControl mControl;
|
48 |
49 |
private DistortedEffects[] mEffects;
|
49 |
50 |
private DistortedNode[] mNodes;
|
50 |
51 |
private long mEffectID;
|
51 |
52 |
|
52 |
|
private Dynamic3D mDynamic;
|
53 |
|
private MatrixEffectMove mMove;
|
|
53 |
private Dynamic3D mDynamicHand1;
|
|
54 |
private MatrixEffectMove mMoveHand1;
|
54 |
55 |
|
55 |
56 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
56 |
57 |
|
... | ... | |
74 |
75 |
{
|
75 |
76 |
if( mEffects==null )
|
76 |
77 |
{
|
77 |
|
mEffects = new DistortedEffects[NUM_EFFE];
|
78 |
|
mEffects[0]= new DistortedEffects();
|
79 |
|
mEffects[1]= new DistortedEffects();
|
|
78 |
mEffects = new DistortedEffects[NUM_EFFE];
|
|
79 |
for(int i=0; i<NUM_EFFE; i++) mEffects[i]= new DistortedEffects();
|
80 |
80 |
|
81 |
|
float x1 = 200;
|
82 |
|
float y1 = 300;
|
|
81 |
DistortedScreen screen = mControl.getScreen();
|
|
82 |
int wid = screen.getWidth();
|
|
83 |
int hei = screen.getHeight();
|
|
84 |
|
|
85 |
float x1 = wid*0.35f;
|
|
86 |
float y1 = hei*0.28f;
|
83 |
87 |
float z = 0;
|
84 |
88 |
|
85 |
89 |
Static3D point0 = new Static3D(-x1,-y1,z);
|
86 |
|
Static3D point1 = new Static3D(+x1,-y1,z);
|
87 |
|
Static3D point2 = new Static3D(+x1,+y1,z);
|
88 |
|
|
89 |
|
mDynamic = new Dynamic3D(10000,0.5f);
|
90 |
|
mDynamic.add(point0);
|
91 |
|
mDynamic.add(point1);
|
92 |
|
mDynamic.add(point2);
|
93 |
|
mDynamic.setMode(Dynamic.MODE_PATH);
|
94 |
|
|
95 |
|
mMove = new MatrixEffectMove(mDynamic);
|
96 |
|
mMove.notifyWhenFinished(mControl);
|
97 |
|
mEffectID = mMove.getID();
|
|
90 |
Static3D point1 = new Static3D( 0,-y1,z);
|
|
91 |
Static3D point2 = new Static3D(+x1,-y1,z);
|
|
92 |
Static3D point3 = new Static3D(+x1, 0,z);
|
|
93 |
Static3D point4 = new Static3D(+x1,+y1,z);
|
|
94 |
Static3D point5 = new Static3D( 0, 0,z);
|
|
95 |
|
|
96 |
mDynamicHand1 = new Dynamic3D(15000,0.5f);
|
|
97 |
mDynamicHand1.add(point0);
|
|
98 |
mDynamicHand1.add(point0);
|
|
99 |
mDynamicHand1.add(point1);
|
|
100 |
mDynamicHand1.add(point2);
|
|
101 |
mDynamicHand1.add(point2);
|
|
102 |
mDynamicHand1.add(point3);
|
|
103 |
mDynamicHand1.add(point4);
|
|
104 |
mDynamicHand1.add(point4);
|
|
105 |
mDynamicHand1.add(point5);
|
|
106 |
mDynamicHand1.add(point0);
|
|
107 |
mDynamicHand1.add(point0);
|
|
108 |
mDynamicHand1.setMode(Dynamic.MODE_PATH);
|
|
109 |
mDynamicHand1.setConvexity(0.0f);
|
|
110 |
|
|
111 |
mMoveHand1 = new MatrixEffectMove(mDynamicHand1);
|
|
112 |
mMoveHand1.notifyWhenFinished(mControl);
|
|
113 |
mEffectID = mMoveHand1.getID();
|
98 |
114 |
|
99 |
115 |
mEffects[0].apply( new MatrixEffectScale(150));
|
100 |
|
mEffects[0].apply(mMove);
|
101 |
|
mEffects[1].apply( new MatrixEffectScale(300));
|
102 |
|
mEffects[1].apply(mMove);
|
|
116 |
mEffects[0].apply(mMoveHand1);
|
|
117 |
mEffects[2].apply( new MatrixEffectScale(300));
|
|
118 |
mEffects[2].apply(mMoveHand1);
|
103 |
119 |
}
|
104 |
120 |
else
|
105 |
121 |
{
|
106 |
|
mDynamic.resetToBeginning();
|
107 |
|
mMove.notifyWhenFinished(mControl);
|
|
122 |
mDynamicHand1.resetToBeginning();
|
|
123 |
mMoveHand1.notifyWhenFinished(mControl);
|
108 |
124 |
}
|
109 |
125 |
}
|
110 |
126 |
|
... | ... | |
125 |
141 |
DistortedTexture textureCirc = new DistortedTexture();
|
126 |
142 |
textureCirc.setTexture(bmpCirc);
|
127 |
143 |
mNodes[0]= new DistortedNode(textureCirc,mEffects[0],mesh);
|
|
144 |
mNodes[1]= new DistortedNode(textureCirc,mEffects[1],mesh);
|
128 |
145 |
|
129 |
146 |
Bitmap bmpHand = openBitmap(act, R.drawable.ui_hand_pointer);
|
130 |
147 |
DistortedTexture textureHand = new DistortedTexture();
|
131 |
148 |
textureHand.setTexture(bmpHand);
|
132 |
|
mNodes[1]= new DistortedNode(textureHand,mEffects[1],mesh);
|
|
149 |
mNodes[2]= new DistortedNode(textureHand,mEffects[2],mesh);
|
|
150 |
mNodes[3]= new DistortedNode(textureHand,mEffects[3],mesh);
|
133 |
151 |
}
|
134 |
152 |
else
|
135 |
153 |
{
|
Progress with RubikControl.