我想使用 canvas.drawText() 方法逐帧绘制一些文本帧。当我在 Java 中运行我的游戏时,一切都很好。但是当我在 html 中运行时,行为是不同的。我隔离了代码(见下文),得到了相同的结果。
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 很酷!” 像在 Java 中一样水平移动,但事实并非如此。我试图调试,但我无法进入本机代码。
有人有线索吗?我在尝试禁止的东西吗?