Revision 0c67ea13
Added by Leszek Koltunski almost 2 years ago
src/main/java/org/distorted/overlays/OverlayStars.java | ||
---|---|---|
66 | 66 |
private int mTotalStars, mNewStars; |
67 | 67 |
private FragmentEffectAlpha mAlpha; |
68 | 68 |
private Dynamic1D mAlphaStrength; |
69 |
private boolean mIncrease; |
|
69 | 70 |
|
70 | 71 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
71 | 72 |
|
72 |
private Dynamic3D createRandomMove() |
|
73 |
private Dynamic3D createRandomMove(boolean increase)
|
|
73 | 74 |
{ |
74 | 75 |
Dynamic3D move = new Dynamic3D(); |
75 | 76 |
move.setMode(Dynamic.MODE_PATH); |
... | ... | |
86 | 87 |
Static3D pointE = new Static3D(0,0,0); |
87 | 88 |
Static3D pointF = new Static3D(0,0,-10000); |
88 | 89 |
|
89 |
move.add(pointS); |
|
90 |
move.add(pointM); |
|
91 |
move.add(pointE); |
|
92 |
move.add(pointF); |
|
90 |
if( increase ) |
|
91 |
{ |
|
92 |
move.add(pointS); |
|
93 |
move.add(pointM); |
|
94 |
move.add(pointE); |
|
95 |
move.add(pointF); |
|
96 |
} |
|
97 |
else |
|
98 |
{ |
|
99 |
move.add(pointF); |
|
100 |
move.add(pointE); |
|
101 |
move.add(pointM); |
|
102 |
move.add(pointS); |
|
103 |
} |
|
93 | 104 |
|
94 | 105 |
return move; |
95 | 106 |
} |
... | ... | |
137 | 148 |
|
138 | 149 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
139 | 150 |
|
140 |
private DistortedNode createNode(Resources res, int numStars) |
|
151 |
private DistortedNode createNode(Resources res, int numStars, boolean increase)
|
|
141 | 152 |
{ |
142 | 153 |
// texture ///////////////////////////////////////////////////// |
143 | 154 |
if( mTexture==null ) |
... | ... | |
202 | 213 |
|
203 | 214 |
for(int i=0; i<mNewStars; i++) |
204 | 215 |
{ |
205 |
Dynamic3D moveP = createRandomMove(); |
|
216 |
Dynamic3D moveP = createRandomMove(increase);
|
|
206 | 217 |
VertexEffectMove moveE= new VertexEffectMove(moveP); |
207 | 218 |
moveE.setMeshAssociation(0,i); |
208 | 219 |
effects.apply(moveE); |
... | ... | |
252 | 263 |
mWidth = mScreen.getWidth(); |
253 | 264 |
mHeight= mScreen.getHeight(); |
254 | 265 |
|
255 |
mNode = createNode(res,mTotalStars); |
|
266 |
mIncrease = mNewStars>0; |
|
267 |
if( !mIncrease ) mNewStars = -mNewStars; |
|
268 |
|
|
269 |
mNode = createNode(res,mTotalStars,mIncrease); |
|
256 | 270 |
mNode.glDepthMask(false); |
257 | 271 |
mNode.glStencilMask(0); |
258 | 272 |
mNode.enableDepthStencil(InternalOutputSurface.NO_DEPTH_NO_STENCIL); |
... | ... | |
285 | 299 |
glow.notifyWhenFinished(this); |
286 | 300 |
DistortedEffects effects = mNode.getEffects(); |
287 | 301 |
effects.apply(glow); |
288 |
|
|
289 |
renderStars(mTotalStars+mNewStars); |
|
302 |
renderStars(mTotalStars+(mIncrease ? mNewStars : -mNewStars)); |
|
290 | 303 |
} |
291 | 304 |
if( id==mGlowID ) |
292 | 305 |
{ |
Also available in: Unified diff
Stars animation: support spending stars.