2016-12-29 8 views
1

Я пытаюсь вставить эскиз обработки в свой блог Wordpress с помощью processing.js.обработка js not looping draw функция

Проблема в том, что я получаю замороженное изображение вместо движущегося. Как будто функция ничьей не зацикливается. (На моем компьютере эскиз отлично работает)

что может быть причиной этого? и как я могу это исправить?

<script type="text/processing" data-processing-target="MySketch"> 
ball[] balls; 
int numBalls = 20; 
void setup(){ 
size (300,300,P3D); 
background(255);balls=new ball[numBalls]; 
for(int i=0; i<numBalls;i++){ 
    float r=random(5,20); 
balls[i] = new ball(random(r,width-r),random(r,height-r),0,r,random(-1,10),random(-1,10)); 
} 

} 

    void draw(){ 
    background(255); 
    for(int i=0; i<numBalls;i++){ 
ball b; b=balls[i]; 
b.drawBall(); 
b.moveBall(); 
b.boundaries(); 
} 
} 
class ball{ 
float x; 
float y; 
float z; 
float r; 
float vx; 
float vy; 
ball(float x1,float y1,float z1,float r1,float vx1,float vy1){ 
x=x1; 
y=y1; 
z=z1; 
r=r1; 
vx=vx1; 
vy=vy1; 
} 
void drawBall(){ 
noStroke(); 
fill(255,0,0); 
lights(); 
pushMatrix(); 
translate(x, y,z); 
sphere(r); 
popMatrix(); 
} 
void moveBall(){ 
x=x+vx; 
y=y+vy; 
} 
void boundaries(){ 
if(x>=width-r || x<0+r) 
vx=vx*-1; 

if(y>=height-r || y<0+r) 
     vy=vy*-1; 
    } 
    } 
    </script> 
    <canvas id="MySketch"></canvas> 
+1

Возможно, вы захотите потратить несколько минут на форматирование своего кода, чтобы он использовал правильный отступ. Если не для нашего здравомыслия, то для себя! –

ответ

0

Ваша первая остановка должна быть консолью JavaScript. Вот где появятся ошибки, которые вы получаете. В большинстве браузеров вы можете просто нажать клавишу F12 или найти его в настройках вашего разработчика в меню.

Когда я запускаю ваш код и просматриваю браузер JavaScript, я вижу эту ошибку: Uncaught can only create 8 lights.

Что я получаю от этой ошибки, браузер может обрабатывать только 8 индикаторов, но вы пытаетесь создать больше. Он отлично работает на вашем ПК, потому что вы, вероятно, используете режим Java, который не имеет одинаковых ограничений.

Если это так, единственное, что вы можете сделать, это уменьшить количество огней, которые вы рисуете.

+0

Спасибо! Ты прав! Я переместил команду 'lights() 'из объекта и в функцию' draw() ', и она сработала! –