diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/rs/java/Balls/src/com/android/balls/BallsRS.java | 2 | ||||
-rw-r--r-- | libs/rs/java/Balls/src/com/android/balls/ball_physics.rs | 15 |
2 files changed, 15 insertions, 2 deletions
diff --git a/libs/rs/java/Balls/src/com/android/balls/BallsRS.java b/libs/rs/java/Balls/src/com/android/balls/BallsRS.java index 76c23b7..42eaede 100644 --- a/libs/rs/java/Balls/src/com/android/balls/BallsRS.java +++ b/libs/rs/java/Balls/src/com/android/balls/BallsRS.java @@ -21,7 +21,7 @@ import android.renderscript.*; import android.util.Log; public class BallsRS { - public static final int PART_COUNT = 800; + public static final int PART_COUNT = 1000; public BallsRS() { } diff --git a/libs/rs/java/Balls/src/com/android/balls/ball_physics.rs b/libs/rs/java/Balls/src/com/android/balls/ball_physics.rs index 96c39b1..47eaf1b 100644 --- a/libs/rs/java/Balls/src/com/android/balls/ball_physics.rs +++ b/libs/rs/java/Balls/src/com/android/balls/ball_physics.rs @@ -41,7 +41,20 @@ void root(const Ball_t *ballIn, Ball_t *ballOut, const BallControl_t *ctl, uint3 fv -= (vec / (len * len * len)) * 20000.f; } else { if (len2 < 0.1) { - continue; + if (xin == x) { + continue; + } + ballOut->delta = 0.f; + ballOut->position = ballIn->position; + if (xin > x) { + ballOut->position.x += 1.f; + } else { + ballOut->position.x -= 1.f; + } + ballOut->color.rgb = 1.f; + ballOut->arcID = -1; + ballOut->arcStr = 0; + return; } // Collision float2 axis = normalize(vec); |