2016-10-11 30 views
1

私はおそらくここで非常に明白な何かを見逃しているでしょう。グローバルモードでp5.jsを使用し、問題なくtextAlignの定数を使用できます。センター。ここでインスタンスモードでp5.jsを使用するときに定数が定義されないのはなぜですか?

は、それが正常に動作グローバルモードのコードです:私はインスタンス・モードでCENTERを使用しようとすると、

function setup() { 
    var canvas = createCanvas(720, 400); 
    canvas.parent('main_canvas'); 
}; 

function draw() { 
    textSize(32); 
    textAlign(CENTER); 
    text("word", 50, 50); 
}; 

は、しかし、私は得る:

:ここ

Uncaught ReferenceError: CENTER is not defined: 

は、それが失敗したインスタンス・モードのコードです

var s = function (p) { 
    p.setup = function() { 
    p.createCanvas(720, 400); 
    }; 

    p.draw = function() { 
    p.textSize(32); 
    p.textAlign(CENTER); 
    p.text("word", 50, 50); 
    }; 
}; 
var myp5 = new p5(s,'main_canvas'); 

私がここで何が不足しているかについてのアイデアはありますか?

答えて

1

グローバルモードでは、すべてのP5.js関数と変数がグローバル名前空間に追加されます。インスタンスモードでは、すべてのP5.js関数と変数がスケッチ関数に渡される変数に追加されます(あなたの場合はp変数)。

変数CENTERを使用するには、p変数を使用する必要があります。言い換えれば

、あなたはこれを実行する必要があります。

p.textAlign(p.CENTER); 

あなたがmouseXmouseYのように、他の変数でこれを行うこともあります。

+2

私は今、恥を知っていません。ありがとう。 –

+0

@e_rすべてのプログラミングの75%を説明したと思います! :p –

関連する問題