Cocos2dx - 零恢复原状不会停止弹跳

时间:2017-03-10 07:34:01

标签: c++ xcode chipmunk

以下是我的代码。

添加精灵落下的精灵;

ruamel/yaml/dumper.py

添加上面Sprite将与

碰撞的楼层
   package edu.csus.csc130.spring2017.assignment2;
   import java.util.Stack;
   public class QuickSort{

       // provide non-recursive version of quick sort
       // hint: use stack to stored intermediate results
       // java.util.Stack can be used as stack implementation
       public static <T extends Comparable<T>> void sort(T[] a) {
           Stack<E> stack = new Stack<E>(); //something wrong will <E> i think
           stack.push(0);
           stack.push(a.length);
           while (!stack.isEmpty()) {
               int hi = (int) stack.pop();
               int lo = (int) stack.pop();
               if (lo < hi) {
               // everything seems good up til here
               int p = partition(a, lo, hi);
               stack.push(lo);
               stack.push(p - 1);
               stack.push(p + 1);
               stack.push(hi);

               }
           }        
           throw new UnsupportedOperationException();
       }

       // Partition into a[lo..j-1], a[j], a[j+1..hi]
       private static <T extends Comparable<T>> int partition(T[] a, int lo, int   hi)    { 
           int i = lo, j = hi + 1; // left and right scan indices
           T v = a[lo]; // the pivot

           while (true) { // Scan right, scan left, check for scan complete, and exchange
                while (SortUtils.isLessThan(a[++i], v)) {//++i is evaluated to i+1 
                   if (i == hi) {
                        break;
                   }
               }
               while (SortUtils.isLessThan(v, a[--j])) {//--j is evaluated to j-1
                   if (j == lo) {
                       break;
                   }
               }
               if (i >= j) {
                   break;
               }

               SortUtils.swap(a, i, j);
           }

           SortUtils.swap(a, lo, j); // Put v = a[j] into position
           return j; 
       }

   }

Screenshot of test game. Bouncing sprite on floor

1 个答案:

答案 0 :(得分:0)

Here,I got the code to fix this :-

define FLT_EPSILON 1.19209290e-07F   
float _filteredUpdateDelta;

scene->getPhysicsWorld()->setAutoStep(false);  

void GameContrler::updatePhysics(float delta)
{
const int phyiscsSubSteps = 3;
float dt = delta / static_cast<float>(phyiscsSubSteps);
_filteredUpdateDelta = dt > __FLT_EPSILON__ ? 0.15 * dt + 0.85 *                                          _filteredUpdateDelta : 0.0;
for (int i=phyiscsSubSteps; i>0; i--)  
{  
  sceneWorld->step(_filteredUpdateDelta);  
}