コード例 #1
0
 private void updatePlatforms(float deltaTime) {
   int len = platforms.size();
   for (int i = 0; i < len; i++) {
     Platform platform = platforms.get(i);
     platform.update(deltaTime);
     if (platform.state == Platform.PLATFORM_STATE_PULVERIZING
         && platform.stateTime > Platform.PLATFORM_PULVERIZE_TIME) {
       platforms.remove(platform);
       len = platforms.size();
     }
   }
 }
コード例 #2
0
  private void checkPlatformCollisions() {
    if (local_bob.velocity.y > 0) return;

    int len = platforms.size();
    for (int i = 0; i < len; i++) {
      Platform platform = platforms.get(i);
      if (local_bob.position.y > platform.position.y) {
        if (local_bob.bounds.overlaps(platform.bounds)) {
          local_bob.hitPlatform();
          listener.jump();
          if (rand.nextFloat() > 0.5f) {
            platform.pulverize();
          }
          break;
        }
      }
    }
  }