2012-02-14 7 views
1

私はフレームの後にいくつかのテキストフレームを描画するcanvas.drawText()メソッドを使用します。私がJavaで自分のゲームを走らせると、すべてがうまくいきます。しかし、私はhtmlで動作するとき、その動作は異なります。私はコードを分離しました(下記参照)、私は同じ結果を得ます。PlayN canvas.drawText()HTMLでの奇妙な行動(Javaはokです)

package textbug.core; 

import static playn.core.PlayN.*; 

import playn.core.Canvas; 
import playn.core.CanvasImage; 
import playn.core.Game; 
import playn.core.Image; 
import playn.core.ImageLayer; 

public class TextBugIsolated implements Game { 

    Canvas canvas; 
    int x = 20; 

    @Override 
    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); 

    CanvasImage canvasImage = graphics().createImage(graphics().width(), graphics().height()); 

    ImageLayer imageLayer = graphics().createImageLayer(); 
    imageLayer.setImage(canvasImage); 
    graphics().rootLayer().add(imageLayer); 

    canvas = canvasImage.canvas();  
    } 

    @Override 
    public void paint(float alpha) { 
    canvas.clear(); 
    canvas.drawText("PlayN is cool!", x++, 20); 
    canvas.drawText("Hello World", 20, 100); 
    } 

    @Override 
    public void update(float delta) { 
    } 

    @Override 
    public int updateRate() { 
    return 25; 
    } 
} 

「PlayN is cool!」というテキストが表示されます。 Javaのように水平に移動することはできますが、そうではありません。私はデバッグしようとしましたが、ネイティブコードを実行することはできません。

誰か手掛かりがありますか?何か禁止しようとしていますか?

+0

私はChromeでテストした言及を忘れてしまいました。私もSafariでテストしましたが、今回はテキストが全くありませんでした。 –

+0

私はcanvas.drawImageで同じ問題があります...画面に画像がありません:| –

答えて

1

をロードされた後...それは、テキストの更新を設定します。これは既知の問題、hereを文書化。これはHTMLバックエンドにのみ影響します。それはまさにあなたが見ているものと思われます。

0

あなたのコードでは、私には正常に見えます。

画像をロードするようにするためにSafariでケースが多分それはのDrawTextおよびそれ以上の塗料の後にロードされているので、あなたは..待って、Javaで、おそらくロードは、それがうまくロードので、十分に速いください。行って()コールバックの

ケアは、画像を

+0

イメージを削除しても、テキストは移動しません。 Canvasクラスに問題があるようです。 –

+0

私はまた、いくつかのwierd canvas.clear()の問題を持っていました。あなたはそれを削除してください...何かをクリアしてはいけません...それを書いてください..あなたのコード – Darwly

+0

ペイント層に...塗料が呼ばれるように。 – Darwly