2017-01-11 5 views
1

Ich bin ein Anfänger mit processing.js und ich habe ein Projekt, das so geht:Breite/Höhe nicht ändert processing.js

In Test.html ich habe:

<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Test</title> 
</head> 
<style> 
    body { 
     margin: none; 
     padding: none; 
    } 
</style> 
<body> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/processing.js/1.6.3/processing.min.js"></script> 
    <canvas data-processing-sources="Test.pde"></canvas> 
</body> 
</html> 

In Test.pde ich habe:

void setup() 
{ 
    size(600,600); 
    PFont fontA = loadFont("sans-serif"); 
    textFont(fontA, 14); 
}; 

println(width); 

void draw(){ 
    background(20, 20, 20); 
}; 

Was width s hould be is 600, da ich "600 by 600" in die size Funktion im Setup einstelle. Ich benutze dies in einem Firefox-Browser, aber ich bekomme die gleichen Ergebnisse auch auf Safari.

+0

Was passiert, wenn Sie Ihren gesamten Code in eine einzelne '.pde' Datei schreiben? –

+0

Die Breite wird immer noch als 100 gedruckt, wenn sie sich in derselben Datei befindet und nur diese Datei im HTML-Code referenziert wird. –

+0

Ich kann Ihr Problem nicht reproduzieren. Wenn ich deinen Code ausführe, funktioniert es gut. Können Sie bitte einen [Code Pen] (http://codepen.io/) zusammenstellen, der das Problem veranschaulicht? –

Antwort

0

Denken Sie darüber nach, wenn die println() Anweisung passiert. Denken Sie darüber nach, wenn die setup()-Funktion aufgerufen wird.

Wenn Ihr Code zuerst lesen, sind Sie die setup() Funktion definiert, , aber sie sind nicht wirklich es noch ausgeführt wird. Dann drucken Sie die Variable width, , die noch nicht festgelegt wurde. Dann definieren Sie die draw() Funktion.

Danach ruft das Processing-Framework die setup()-Funktion für Sie auf und beginnt, die draw()-Funktion 60 Mal pro Sekunde aufzurufen.

Mit anderen Worten, Ihr Code verhält sich genau so, wie er sich verhalten soll.

Wenn Sie die width Variable verwenden möchten, müssen Sie es nach die size() Funktion von Ihrem setup() Funktion aufgerufen wurde tun.

Verwandte Themen