Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
А может стоит начать думать?(svk написал(а):А как сферу больше сделать?(
Аааа, понял, а какой формулой хоть руководился?GloomyFolken написал(а):А может стоит начать думать?(svk написал(а):А как сферу больше сделать?(
Чем мы и займемся, ТЫ ЖЕ ВРОДЕ СПАТЬ ПОШЕЛ?Dovakin написал(а):Я тоже думал типа того. Надо из листа все частицы разом рендерить.А еще лучше удалить майнкрафт и пойти писать игру
А есть такой метод?Dovakin написал(а):Я тоже думал типа того. Надо из листа все частицы разом рендерить.А еще лучше удалить майнкрафт и пойти писать игру
Вопрос актуален: как сделать сферу больше?)GloomyFolken написал(а):Код:public static final int NUM_VERTICAL_SEGMENTS = 20; private void spawnSphere(float centerX, float centerY, float centerZ){ for (int vert = 0; vert < NUM_VERTICAL_SEGMENTS; vert++){ int numHorizontalParticles = vert < NUM_VERTICAL_SEGMENTS / 2 ? vert * 4 : (NUM_VERTICAL_SEGMENTS - vert)*4; for (int hor = 0; hor < numHorizontalParticles; hor++){ float angleH = (float)hor/numHorizontalParticles * 2 * (float)Math.PI; float angleV = (float)vert/NUM_VERTICAL_SEGMENTS * (float)Math.PI - (float)Math.PI/2; float particleY = centerY + MathHelper.sin(angleV); float particleX = centerX + MathHelper.cos(angleH) * MathHelper.cos(angleV); float particleZ = centerZ + MathHelper.sin(angleH) * MathHelper.cos(angleV); //код для моей либы партиклов, мне лень вспоминать, как спавнить партиклы майна. Перепиши уж. TestParticle particle = new TestParticle(this, AnomalyIconList.funnelEyeIcon); particle.setPosition(particleX, particleY, particleZ); particles.add(particle); } } }![]()
P.S: сначала забыл убрать двойку из строки, где вычисляется particleY (была для теста).
public static final int NUM_VERTICAL_SEGMENTS = 20;
private void spawnSphere(float radii, float centerX, float centerY, float centerZ){
for (int vert = 0; vert < NUM_VERTICAL_SEGMENTS; vert++){
int numHorizontalParticles = vert < NUM_VERTICAL_SEGMENTS / 2 ? vert * 4 : (NUM_VERTICAL_SEGMENTS - vert)*4;
for (int hor = 0; hor < numHorizontalParticles; hor++){
float angleH = (float)hor/numHorizontalParticles * 2 * (float)Math.PI;
float angleV = (float)vert/NUM_VERTICAL_SEGMENTS * (float)Math.PI - (float)Math.PI/2;
float particleY = centerY + MathHelper.sin(angleV) * radii;
float particleX = centerX + MathHelper.cos(angleH) * MathHelper.cos(angleV) * radii;
float particleZ = centerZ + MathHelper.sin(angleH) * MathHelper.cos(angleV) * radii;
//код для моей либы партиклов, мне лень вспоминать, как спавнить партиклы майна. Перепиши уж.
TestParticle particle = new TestParticle(this, AnomalyIconList.funnelEyeIcon);
particle.setPosition(particleX, particleY, particleZ);
particles.add(particle);
}
}
}
@SideOnly(Side.CLIENT)
public static final int NUM_VERTICAL_SEGMENTS = 20;
public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_, float radii, float centerX, float centerY, float centerZ) {
for (int vert = 0; vert < NUM_VERTICAL_SEGMENTS; vert++){
int numHorizontalParticles = vert < NUM_VERTICAL_SEGMENTS / 2 ? vert * 4 : (NUM_VERTICAL_SEGMENTS - vert)*4;
for (int hor = 0; hor < numHorizontalParticles; hor++){
float angleH = (float)hor/numHorizontalParticles * 2 * (float)Math.PI;
float angleV = (float)vert/NUM_VERTICAL_SEGMENTS * (float)Math.PI - (float)Math.PI/2;
float particleY = centerY + MathHelper.sin(angleV) * radii;
float particleX = centerX + MathHelper.cos(angleH) * MathHelper.cos(angleV) * radii;
float particleZ = centerZ + MathHelper.sin(angleH) * MathHelper.cos(angleV) * radii;
p_149734_1_.spawnParticle("smoke", particleY, particleX, particleZ, 0.0D, 0.1D, 0.0D);
}
}
}
Убейся об свое величие.svk написал(а):Убейся об java...
Ты сам не можешь использовать операторы OR,AND. Касательно вопроса. В вызове spawnParticle x y перепутаны местами. Стоит yxz,а надо xyz.svk написал(а):Убейся об java...
@Override
public void randomDisplayTick(World p_149734_1_, int centerX, int centerY, int centerZ, Random p_149734_5_) {
float radii = 1;
final int NUM_VERTICAL_SEGMENTS = 20;
for (int vert = 0; vert < NUM_VERTICAL_SEGMENTS; vert++) {
int numHorizontalParticles = vert < NUM_VERTICAL_SEGMENTS / 2 ? vert * 4 : (NUM_VERTICAL_SEGMENTS - vert) * 4;
for (int hor = 0; hor < numHorizontalParticles; hor++) {
float angleH = (float) hor / numHorizontalParticles * 2 * (float) Math.PI;
float angleV = (float) vert / NUM_VERTICAL_SEGMENTS * (float) Math.PI - (float) Math.PI / 2;
float particleY = centerY + MathHelper.sin(angleV) * radii;
float particleX = centerX + MathHelper.cos(angleH) * MathHelper.cos(angleV) * radii;
float particleZ = centerZ + MathHelper.sin(angleH) * MathHelper.cos(angleV) * radii;
p_149734_1_.spawnParticle("spell", (int) particleX, (int) particleY, (int) particleZ, 0.0D, 0.0D, 0.0D);
}
}
}