本文整理汇总了Java中org.jbox2d.particle.ParticleType.b2_zombieParticle方法的典型用法代码示例。如果您正苦于以下问题:Java ParticleType.b2_zombieParticle方法的具体用法?Java ParticleType.b2_zombieParticle怎么用?Java ParticleType.b2_zombieParticle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jbox2d.particle.ParticleType
的用法示例。
在下文中一共展示了ParticleType.b2_zombieParticle方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: removeLostParticles
import org.jbox2d.particle.ParticleType; //导入方法依赖的package包/类
/**
* removes particles outside the zombie_aabb from the world.
*/
public void removeLostParticles(){
if(zombie_aabb == null){
createZombieBounds();
}
int pcount = getParticleCount();
Vec2[] pverts = getParticlePositionBuffer();
int[] pflags = getParticleFlagsBuffer();
for(int i = 0; i < pcount; i++){
Vec2 vert = pverts[i];
if(vert.x < zombie_aabb.lowerBound.x || vert.x > zombie_aabb.upperBound.x ||
vert.y < zombie_aabb.lowerBound.y || vert.y > zombie_aabb.upperBound.y)
{
pflags[i] |= ParticleType.b2_zombieParticle;
// world.destroyParticle(i); // works also
}
}
}
示例2: updateParticleShapeBuffer
import org.jbox2d.particle.ParticleType; //导入方法依赖的package包/类
@Deprecated
static final public int updateParticleShapeBuffer(World world, PShape group_particles){
int particle_num_old = world.getParticleCount();
int particle_num_new = 0;
if(particle_num_old == 0){
return 0;
}
if(group_particles.getChildCount() == 0){
return 0;
}
// The following is way faster, then removing shapes in place.
// ... even when iterating backwards, a lot of repeated/unnecessary copying
// will be needed.
PShape group = group_particles;
PShape[] shapes = group.getChildren();
int[] particle_flag = world.getParticleFlagsBuffer();
// re-map particles, so that zombies are left out
for(int i = 0; i < particle_num_old; i++){
if((particle_flag[i] & ParticleType.b2_zombieParticle) == 0){
shapes[particle_num_new++] = shapes[i];
}
}
// remove number of zombies by triming the buffer to the new size
// unfortunately PShape offers no better way to do this
for(int i = particle_num_old - 1; i >= particle_num_new; i--){
group.removeChild(i);
}
int removed = particle_num_old - particle_num_new;
return removed;
}
示例3: keyPressed
import org.jbox2d.particle.ParticleType; //导入方法依赖的package包/类
public void keyPressed(char keyChar, int keyCode) {
m_drawing = keyChar != 'x';
m_particleFlags = 0;
m_groupFlags = 0;
color.set((byte)127, (byte)127, (byte)127, (byte)50);
switch (keyChar) {
case 'e':
m_particleFlags = ParticleType.b2_elasticParticle;
m_groupFlags = ParticleGroupType.b2_solidParticleGroup;
break;
case 'p':
m_particleFlags = ParticleType.b2_powderParticle;
break;
case 'f':
m_groupFlags =
ParticleGroupType.b2_rigidParticleGroup | ParticleGroupType.b2_solidParticleGroup;
break;
case 's':
m_particleFlags = ParticleType.b2_springParticle;
m_groupFlags = ParticleGroupType.b2_solidParticleGroup;
break;
case 't':
color.set((byte)0, (byte)127, (byte)0, (byte)50);
m_particleFlags = ParticleType.b2_tensileParticle;
break;
case 'v':
color.set((byte)0, (byte)0, (byte)127, (byte)50);
m_particleFlags = ParticleType.b2_viscousParticle;
break;
case 'w':
m_particleFlags = ParticleType.b2_wallParticle;
m_groupFlags = ParticleGroupType.b2_solidParticleGroup;
break;
case 'z':
m_particleFlags = ParticleType.b2_zombieParticle;
break;
}
}