在问这个之前我做了很多网上搜索.我不能这样做.这对我来说有点难以理解.那么我如何在与世界位置的身体相对应的右侧屏幕位置绘制图像?感谢名单.
如果有人在同一个障碍面前找到了他,我会发布一个HOW TO,而不是正常速度的好解释.你可以在这里找到它:http://romeo.akademx.ro/2012/04/06/slick-and-box2d/
这是渲染功能:
public void render(GameContainer container, StateBasedGame game, Graphics g)
throws SlickException {
g.setBackground(Color.white);
g.pushTransform();
g.translate(worldToScreen(body.getPosition()).x, worldToScreen(body.getPosition()).y);
g.rotate(15, 15, (float) Math.toDegrees(body.getAngle()));
part.draw();
g.popTransform();
g.drawString("Count: " + cont, 5, 40);
//world.drawDebugData();
}
Run Code Online (Sandbox Code Playgroud)
这些是我用来转换世界屏幕协调的功能:
public Vec2 screenToWorld(Vec2 screenV) {
return new Vec2((screenV.x - offset.x) / scaleFactor, yFlip
* (screenV.y - offset.y) / scaleFactor);
}
public Vec2 worldToScreen(Vec2 worldV) {
return new Vec2(worldV.x * scaleFactor + offset.x, yFlip * worldV.y
* scaleFactor + offset.y);
}
Run Code Online (Sandbox Code Playgroud)
我也碰巧使用此链接中的SlickDebugDraw:http://slick.javaunlimited.net/viewtopic.php?f …
这是一个最近困扰我的话题.
在JFrame中创建游戏时,如果要使用paintComponent()-method将图形添加到JPanel中,您将如何为游戏提供不同的阶段?哪种表现最好?
我能想到的两种方式是:
paintComponent()方法和计时器的面板.一个不同的面板将用于游戏的每个阶段(等级等).paintComponent()-method中,则使用if语句说明if(gameover)然后为此阶段的游戏绘制图形.或者还有其他更好的方法吗?