2016-06-24 54 views
0

我是一个十几岁的孩子,试图在java中创建一个简单的自上而下的游戏,以享受我自己的乐趣。几个月前,我正在研究这款游戏,并遇到了障碍。我无法弄清楚如何创建一个随角色移动而滚动的背景。我设法创造了一个移动的背景,但是当角色移动时它表现得很奇怪。我最终感到沮丧,并从编程中解脱出来,直到我有动力重新开始。如何创建滚动背景?

我将不胜感激,如果有人可以帮助我解释什么,我需要做的创建通俗地说滚动背景(一些示例代码将是很好过)

此外,如果有人能向我解释如何使在角色开始移动之后的一瞬间,背景开始跟随角色,这将是美妙的,我让人相信大多数游戏都会使滚动感觉更自然。

谢谢!

+0

https://docs.oracle.com/javase/tutorial/uiswing/components/scrollpane.html –

+0

问题太开放了。完全取决于你使用的是什么技术。例如。如果你使用某种游戏引擎,图形库等。 – noahnu

+1

另外,你有任何代码,你已经尝试过?请参阅帮助中心,了解如何撰写有效问题。 – DarkV1

回答

1

至于那些拥有2维或3维世界的游戏,为了移动相机,你需要移动整个世界。

所以如果你想要一个滚动的背景,你可以在你的屏幕中间画你的角色,而你的角色在相反的方向上移动整个世界。

并且为了创建滚动效果,以便在角色移动后您的背景滚动一下,您只需指定角色为了开始滚动而必须移动的距离。只要检查他是否移动了超过你指定的距离,然后相应地移动世界。

3

我推荐学习不同的Java库,比如JFrame和JComponent。我自己在Java中做了一个自上而下的游戏,学习体验和享受,就像你自己一样。尽管您可以使用Unity或GameMaker等游戏引擎来帮助您更轻松地制作游戏,但仅使用Java就可以制作出完美的游戏,但如果您选择这样做,则可能需要进行更多的学习,虽然我个人喜欢学习Java。下面是如何创建一个JFrame一些代码片段:

frame = new JFrame(); 
frame.setSize(500, 500); // width, height 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setTitle("Game Title"); 
frame.setLocationRelativeTo(null); 
frame.setResizable(false); 

JFrame中就像是“画布”,在这里你可以借鉴的东西,我个人选择,使我的游戏JComponents不同的场景,这是我加入主要的JFrame。如果您想了解更多关于如何使用这些原则制作游戏的信息,请在GitHub上查看,或者随时提出更多问题:https://github.com/danielgalvaoguerra/Prallax---Java-Top-Down-Shooter

希望这可以帮助您开始!