タイトルのように、Canvas/CanvasLayerをPlayNで動作させることができません。私のサンプルコードは単純ではありませんでした。 ImageLayerとデフォルトの背景はうまく読み込まれますが(そのコードはここでコメントアウトされています)、キャンバスは常に目に見えません。PlaynでCanvas/CanvasLayerが動作しない
public void init() {
// create and add background image layer
//Image bgImage = assetManager().getImage("images/bg.png");
//ImageLayer bgLayer = graphics().createImageLayer(bgImage);
//graphics().rootLayer().add(bgLayer);
graphics().setSize(500, 400);
CanvasLayer testLayer = graphics().createCanvasLayer(200,200);
Canvas testCanvas = testLayer.canvas();
graphics().rootLayer().add(testLayer);
//testCanvas.clear();
testCanvas.setStrokeColor(0x000000);
testCanvas.setStrokeWidth(2);
testCanvas.setFillColor(0xff0000);
testCanvas.drawText("hello", 50, 50);
testCanvas.drawLine(0, 0, 300,300);
testCanvas.strokeRect(1, 1, 46, 46);
//I even tried adding this.
testLayer.setAlpha(1);
testLayer.setVisible(true);
testLayer.setScale(1);
}
私はMavenでPlayN 1.0.3を使用しています。純粋なJavaコンパイルのためのものであることに注意してください。
testCanvas.setStrokeColor(Color.rgb(0, 0, 0));
:TIAダニエルは
ありがとう!私はデモからコードを見て、色のための0xXXX表記に慣れず、もっと新しい 'Color()'クラス指向の表記を期待していました。明らかにGWT/javascriptなどに移植するときの効率のために、プリミティブの利点を見ることができます。 2桁の数字を指摘してくれてありがとうございました。常に原因がそれよりも複雑であると考えています:-) –