2017-09-06 2 views
0

J'apprends le codage et suis novice. J'essaie actuellement de convertir un sketch Processing (java) en un sketch p5 (javascript) pour le mettre sur mon premier site web.Conversion de la syntaxe de traitement vectoriel en croquis p5

Je n'arrive pas à traduire la syntaxe Vector et Array à partir de l'esquisse de traitement.

C'est le Vector du traitement Sketch (travail):

for (int i = pts.size()-1; i >= 0; i --){ 
    PVector pt = (PVector)pts.get(i); 
...... 
PVector pt2 = (PVector)pts.get(j); 
     if (pt.dist(pt2) < 20){ 
...... 

Voici comment j'ai essayé de le traduire dans p5 (ne fonctionne pas)

for (var i = pts.size()-1; i >= 0; i --){ 

    pt = p5.Vector.pts.get(i); 

........... 

    var pt2 = (PVector)pts.get(j); 

    if (pt.dist(pt2) < 20){ 
     line(pt.x, pt.y, pt2.x, pt2.y); 
    } 

} 

Répondre

0

Vous shouldn » t essaye de traduire le code en allant ligne par ligne et en traduisant la syntaxe. Au lieu de cela, vous devez prendre du recul et convertir le programme en anglais en premier. Ensuite, vous prenez cet anglais et essayez de le mettre en œuvre dans la langue cible. Cela peut sembler stupide, mais l'anglais s'appelle un algorithme.

Donc, vous devriez avoir une description de votre programme comme celui-ci.

« Afficher 10 cercles rebondissent autour de l'écran Si un cercle touche le bord de l'écran, il devrait rebondir par ... "

C'est juste un exemple, mais vous avez l'idée. Ensuite, vous prenez cela et l'implémentez dans P5.js. Donc, au lieu de dire "comment convertir cette syntaxe de tableau en P5.js", vous devriez vous demander "comment fonctionnent les tableaux en JavaScript" ou même "comment fonctionnent les variables en JavaScript". De là, vous pouvez lire tutorials pour comprendre comment implémenter votre algorithme dans P5.js.

Ensuite, si vous êtes bloqué sur une erreur de syntaxe spécifique, veuillez regarder the JavaScript console pour les erreurs que vous obtenez. Nous ne pouvons pas vraiment vous aider si tout ce que vous nous dites, c'est que ça ne marche pas. Quelle erreur obtenez vous? Où est votre MCVE?

Tout cela étant dit, je vais essayer de vous aider avec votre question spécifique. Prenons la ligne originale:

PVector pt = (PVector)pts.get(i); 

Cette ligne est déclare une variable nommée pt et pointant à tout ce qui est de retour de pts.get(i), qu'il jette un PVector parce que Java est statiquement typé, donc tout a besoin d'un type .

Comparez cela à ce que vous essayez de faire en P5.js:

pt = p5.Vector.pts.get(i); 

Tout d'abord, où avez-vous déclarez la variable pt? Deuxièmement, qu'est-ce que p5.Vector.pts? Cette syntaxe n'a aucun sens. Vous devez lire sur la façon dont les variables et les tableaux fonctionnent en JavaScript.

De même, regardons cette ligne dans votre code P5.js:

var pt2 = (PVector)pts.get(j); 

Encore une fois, où est pts déclarée?Et vous n'avez jamais besoin de lancer quoi que ce soit en JavaScript, car il est dynamiquement typé. Encore une fois, vous devez revenir en arrière et lire sur la façon dont les variables dans JavaScript fonctionnent.

auto-promotion sans vergogne: J'ai écrit une série de tutoriels orientée vers les développeurs de traitement qui essaient d'apprendre JavaScript, disponible here.

+0

Salut Merci pour l'aide. J'étais probablement trop vaguement utilisant le mot «traduire». J'ai suivi un cours javascript sur Code Academy et j'ai enterré ma tête dans divers didacticiels (y compris les vidéos en ligne de Shaffman) pendant un bon moment. Plus j'ai un croquis dans le traitement que j'utilise comme base pour faire une esquisse p5 avec. De toute façon, cela mis à part, je vais mettre tout le code pour répondre à ces questions ... –

+0

Oh btw, merci pour la référence à votre page. Je pense que je suis familier avec beaucoup de choses, mais en lisant maintenant pour voir si j'ai raté quelque chose :). –