p5.jsでCoffeeScriptを自動コンパイルさせると楽しい、が・・
クリエイティブコーディングといえばCoffeeScriptなんじゃね?ということで、CoffeeScriptの自動コンパイル環境(コピー→コンパイル)を作ってみましたが(p5との相性?的に)色々手こずったのでメモ。
まずは、してない人はnode.jsをインストールしましょう。
次にnpmよりCoffeeScriptをインストールします。
sudo npm install -g coffee-script
大まかな流れ
1 .「myScript.coffee」でcoffeeのコーディングをする
2 .「myScript.coffee」にウォッチャーをつける(後述)
3 . coffeeを保存するたびに「myScript.js」が生成される(htmlからはmyScript.jsをインクルードしておく)
4 . 楽しい
自動コンパイル時の注意点
編集しているmyScript.coffeeファイルにウォッチャーをつけることで、保存したタイミングで逐次コンパイルしてくれます。
この時に注意!「-b」=bare(まっさらな)オプションをつけましょう。これつけないとコード全体がクローズされてp5.jsが動きません。これが伝えたくてこの記事を書いたようなもんです。
coffee --watch --compile -b ./myScript.coffee
そうするとmyScript.jsというファイルがmyScript.coffeeを保存するたびに自動生成されます。これをhtmlからインクルードすれば楽しいです。
クリエイティブコーディング感()
こんなすっきりしますよ、と。
obj = undefined
MovingObj = (x, y) ->
@pos = createVector(x, y)
@vel = createVector(1, 1)
@acc = createVector(1, 0)
@move = ->
@vel.add @acc
@pos.add @vel
@acc.mult 0
return
@draw = ->
ellipse @pos.x, @pos.y, 30, 30
return
setup = ->
createCanvas 600, 400
smooth()
obj = new MovingObj()
return
draw = ->
background 205
obj.move()
obj.draw()
return
自動コンパイル後。thisとか@で表すとすっきり。
// Generated by CoffeeScript 1.9.2
var MovingObj, draw, obj, setup;
obj = void 0;
MovingObj = function(x, y) {
this.pos = createVector(x, y);
this.vel = createVector(1, 1);
this.acc = createVector(1, 0);
this.move = function() {
this.vel.add(this.acc);
this.pos.add(this.vel);
this.acc.mult(0);
};
this.draw = function() {
return ellipse(this.pos.x, this.pos.y, 30, 30);
};
};
setup = function() {
createCanvas(600, 400);
smooth();
obj = new MovingObj();
};
draw = function() {
background(205);
obj.move();
obj.draw();
};
おしまい。
Author And Source
この問題について(p5.jsでCoffeeScriptを自動コンパイルさせると楽しい、が・・), 我々は、より多くの情報をここで見つけました https://qiita.com/hp0me/items/627c1cc5de6a07d6471b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .