本文整理汇总了Java中org.jbox2d.particle.ParticleColor类的典型用法代码示例。如果您正苦于以下问题:Java ParticleColor类的具体用法?Java ParticleColor怎么用?Java ParticleColor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ParticleColor类属于org.jbox2d.particle包,在下文中一共展示了ParticleColor类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: drawParticleSystem
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
private void drawParticleSystem(ParticleSystem system) {
boolean wireframe = (m_debugDraw.getFlags() & DebugDraw.e_wireframeDrawingBit) != 0;
int particleCount = system.getParticleCount();
if (particleCount != 0) {
float particleRadius = system.getParticleRadius();
Vec2[] positionBuffer = system.getParticlePositionBuffer();
ParticleColor[] colorBuffer = null;
if (system.m_colorBuffer.data != null) {
colorBuffer = system.getParticleColorBuffer();
}
if (wireframe) {
m_debugDraw.drawParticlesWireframe(positionBuffer, particleRadius, colorBuffer,
particleCount);
} else {
m_debugDraw.drawParticles(positionBuffer, particleRadius, colorBuffer, particleCount);
}
}
}
示例2: drawParticles
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
@Override
public void drawParticles(Vec2[] centers, float radius, ParticleColor[] colors, int count) {
radius *= PARTICLE_RADIUS_SCALE;
canvas.noStroke();
canvas.noFill();
canvas.beginShape(PConstants.QUADS);
canvas.textureMode(PConstants.NORMAL);
canvas.texture(PARTICLE_SPRITE);
for(int i = 0; i < count; i++){
Vec2 pos = centers[i];
if(colors != null){
ParticleColor col = colors[i];
canvas.tint(col.r & 0xFF, col.g & 0xFF, col.b & 0xFF, col.a & 0xFF);
}
canvas.vertex(pos.x - radius, pos.y - radius, 0, 0);
canvas.vertex(pos.x + radius, pos.y - radius, 1, 0);
canvas.vertex(pos.x + radius, pos.y + radius, 1, 1);
canvas.vertex(pos.x - radius, pos.y + radius, 0, 1);
}
canvas.endShape();
canvas.tint(255);
}
示例3: drawParticles
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
@Override
public void drawParticles(Vec2[] centers, float radius, ParticleColor[] colors, int count) {
Graphics2D g = getGraphics();
saveState(g);
transformGraphics(g, zero);
g.setStroke(stroke);
for (int i = 0; i < count; i++) {
Vec2 center = centers[i];
Color color;
if (colors == null) {
color = pcolorA;
} else {
ParticleColor c = colors[i];
color = cpool.getColor(c.r * 1f / 127, c.g * 1f / 127, c.b * 1f / 127, c.a * 1f / 127);
}
AffineTransform old = g.getTransform();
g.translate(center.x, center.y);
g.scale(radius, radius);
g.setColor(color);
g.fill(circle);
g.setTransform(old);
}
restoreState(g);
}
示例4: drawParticlesWireframe
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
@Override
public void drawParticlesWireframe(Vec2[] centers, float radius, ParticleColor[] colors, int count) {
Graphics2D g = getGraphics();
saveState(g);
transformGraphics(g, zero);
g.setStroke(stroke);
for (int i = 0; i < count; i++) {
Vec2 center = centers[i];
Color color;
// No alpha channel, it slows everything down way too much.
if (colors == null) {
color = pcolor;
} else {
ParticleColor c = colors[i];
color = new Color(c.r * 1f / 127, c.g * 1f / 127, c.b * 1f / 127, 1);
}
AffineTransform old = g.getTransform();
g.translate(center.x, center.y);
g.scale(radius, radius);
g.setColor(color);
g.draw(circle);
g.setTransform(old);
}
restoreState(g);
}
示例5: generteParticleColors
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
public void generteParticleColors(ParticleGroup group, int hue){
int count = group.getParticleCount();
int from = group.getBufferIndex();
int to = from + count;
ParticleColor[] colors = world.getParticleColorBuffer();
Vec2[] pos = world.getParticlePositionBuffer();
colorMode(HSB, 360, 100, 100, 100);
for(int i = from; i < to; i++){
float x = pos[i].x / 3f;
float y = pos[i].y / 3f;
float noisexy = noise(x, y, i /(float)count) * 2 - 1;
float rand = random(-1, +1);
float hsb_h = hue + 90 * rand * noisexy;
float hsb_s = 100;
float hsb_b = 100;
float hsb_a = 50 + noisexy * 50;
hsb_h = (hsb_h + 360) % 360;
int argb = color(hsb_h, hsb_s, hsb_b, hsb_a);
colors[i].set(argb);
}
colorMode(RGB, 255);
}
示例6: drawParticlesWireframe
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
@Override
public void drawParticlesWireframe(Vec2[] centers, float radius, ParticleColor[] colors, int count) {
canvas.noFill();
canvas.strokeWeight(stroke_weight);
canvas.stroke(0);
for(int i = 0; i < count; i++){
Vec2 pos = centers[i];
if(colors != null){
ParticleColor col = colors[i];
canvas.stroke(col.r & 0xFF, col.g & 0xFF, col.b & 0xFF, col.a & 0xFF);
}
canvas.ellipse(pos.x, pos.y, radius*2, radius*2);
}
}
示例7: drawParticles
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
@Override
public void drawParticles(Vec2[] centers, float radius, ParticleColor[] colors, int count) {
GL2 gl = panel.getGL().getGL2();
gl.glPushMatrix();
transformViewport(gl, zero);
float theta = 2 * MathUtils.PI / NUM_CIRCLE_POINTS;
float c = MathUtils.cos(theta);
float s = MathUtils.sin(theta);
float x = radius;
float y = 0;
for (int i = 0; i < count; i++) {
Vec2 center = centers[i];
float cx = center.x;
float cy = center.y;
gl.glBegin(GL2.GL_TRIANGLE_FAN);
if (colors == null) {
gl.glColor4f(1, 1, 1, .4f);
} else {
ParticleColor color = colors[i];
gl.glColor4b(color.r, color.g, color.b, color.a);
}
for (int j = 0; j < NUM_CIRCLE_POINTS; j++) {
gl.glVertex3f(x + cx, y + cy, 0);
float temp = x;
x = c * x - s * y;
y = s * temp + c * y;
}
gl.glEnd();
}
gl.glPopMatrix();
}
示例8: drawParticlesWireframe
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
@Override
public void drawParticlesWireframe(Vec2[] centers, float radius, ParticleColor[] colors, int count) {
GL2 gl = panel.getGL().getGL2();
gl.glPushMatrix();
transformViewport(gl, zero);
float theta = 2 * MathUtils.PI / NUM_CIRCLE_POINTS;
float c = MathUtils.cos(theta);
float s = MathUtils.sin(theta);
float x = radius;
float y = 0;
for (int i = 0; i < count; i++) {
Vec2 center = centers[i];
float cx = center.x;
float cy = center.y;
gl.glBegin(GL2.GL_LINE_LOOP);
if (colors == null) {
gl.glColor4f(1, 1, 1, 1);
} else {
ParticleColor color = colors[i];
gl.glColor4b(color.r, color.g, color.b, (byte) 127);
}
for (int j = 0; j < NUM_CIRCLE_POINTS; j++) {
gl.glVertex3f(x + cx, y + cy, 0);
float temp = x;
x = c * x - s * y;
y = s * temp + c * y;
}
gl.glEnd();
}
gl.glPopMatrix();
}
示例9: drawParticles
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
@Override
public void drawParticles(Vec2[] centers, float radius, ParticleColor[] colors, int count) {
// GL2 gl = panel.getGL().getGL2();
gl.glPushMatrix();
transformViewport(gl, zero);
float theta = 2 * MathUtils.PI / NUM_CIRCLE_POINTS;
float c = MathUtils.cos(theta);
float s = MathUtils.sin(theta);
float x = radius;
float y = 0;
for (int i = 0; i < count; i++) {
Vec2 center = centers[i];
float cx = center.x;
float cy = center.y;
gl.glBegin(GL2.GL_TRIANGLE_FAN);
if (colors == null) {
gl.glColor4f(1, 1, 1, .4f);
} else {
ParticleColor color = colors[i];
gl.glColor4b(color.r, color.g, color.b, color.a);
}
for (int j = 0; j < NUM_CIRCLE_POINTS; j++) {
gl.glVertex3f(x + cx, y + cy, 0);
float temp = x;
x = c * x - s * y;
y = s * temp + c * y;
}
gl.glEnd();
}
gl.glPopMatrix();
}
示例10: drawParticlesWireframe
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
@Override
public void drawParticlesWireframe(Vec2[] centers, float radius, ParticleColor[] colors, int count) {
// GL2 gl = panel.getGL().getGL2();
gl.glPushMatrix();
transformViewport(gl, zero);
float theta = 2 * MathUtils.PI / NUM_CIRCLE_POINTS;
float c = MathUtils.cos(theta);
float s = MathUtils.sin(theta);
float x = radius;
float y = 0;
for (int i = 0; i < count; i++) {
Vec2 center = centers[i];
float cx = center.x;
float cy = center.y;
gl.glBegin(GL2.GL_LINE_LOOP);
if (colors == null) {
gl.glColor4f(1, 1, 1, 1);
} else {
ParticleColor color = colors[i];
gl.glColor4b(color.r, color.g, color.b, (byte) 127);
}
for (int j = 0; j < NUM_CIRCLE_POINTS; j++) {
gl.glVertex3f(x + cx, y + cy, 0);
float temp = x;
x = c * x - s * y;
y = s * temp + c * y;
}
gl.glEnd();
}
gl.glPopMatrix();
}
示例11: getParticleColorBuffer
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
public ParticleColor[] getParticleColorBuffer() {
return m_particleSystem.getParticleColorBuffer();
}
示例12: drawParticles
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
/**
* Draw a particle array
*
* @param colors can be null
*/
public abstract void drawParticles(Vec2[] centers, float radius, ParticleColor[] colors, int count);
示例13: drawParticlesWireframe
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
/**
* Draw a particle array
*
* @param colors can be null
*/
public abstract void drawParticlesWireframe(Vec2[] centers, float radius, ParticleColor[] colors,
int count);
示例14: setParticleColorBuffer
import org.jbox2d.particle.ParticleColor; //导入依赖的package包/类
public void setParticleColorBuffer(ParticleColor[] buffer, int capacity) {
m_particleSystem.setParticleColorBuffer(buffer, capacity);
}