Tag: 2d

具有预定目的地的重力

我在二维环境中使用重力来进行游戏。 我在游戏中使用的对象都有x和y坐标,它们可以被“抛出”到一个级别,意味着实例化,然后给定一个特定的原点位置,然后给每个帧的新坐标具有以下重力: public void throwObject(float delta) { setX(getX() + velocity.x * delta); setY(getY() + velocity.y * delta); velocity.y += gravity.y * delta; } 以下内容: Vector2 GRAVITY = new Vector2(0, -10); 从给定的originx和originy,对象“相应地”移动,这很好。 现在我想让对象移动到给定目的地,例如: destinationx = 50; destinationy = 350; 如果我使用静态原点x和原点,我如何计算velocity.x和velocity.y,以便使用抛射曲线将对象抛向指定的目标坐标? 编辑:我在确定velocity.x的计算方面取得了一些进展: velocity.x = (destinationx – originx) / 100; 其中100是我设置为静态的帧数。 这很好用。 对于velocity.y,我尝试过: velocity.y = (destinationy – originy) […]

JavaFX 2D文本与3D场景中的背景

对于我的项目,我需要3D场景中的2D文本(而不是叠加!)。 所以我尝试将带有Label / Text节点的BorderPane添加到我的场景中: 然而问题是,当我用相机放大,缩小或飞行时,面板的白色背景有时与标签重叠(它们显然具有相同的深度)。 有没有办法从其面板“提升”标签? 我试过设置setDepthTest(true); 没有效果。 这是一个显示问题的简单示例。 Xform类来自Oracle的分子样本( http://docs.oracle.com/javase/8/javafx/graphics-tutorial/sampleapp3d-code.htm#CJAGGIFG ): package mypackage; import mypackage.Xform; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.PerspectiveCamera; import javafx.scene.Scene; import javafx.scene.SceneAntialiasing; import javafx.scene.layout.BorderPane; import javafx.scene.paint.Color; import javafx.scene.text.Text; import javafx.stage.Stage; public class Example extends Application { private Stage primaryStage; private final Group root = new Group(); @Override public void start(Stage primaryStage) […]

Pascal的三角形2d数组 – 格式化打印输出

我有一个小任务,我必须使用2d数组来生成Pascal的三角形。 这是我的代码,它的工作原理。 如果我像这样显示三角形,则会有额外的信用机会: 但是,我的间距不是那样的格式。 它只显示左侧排列的数字。 它难以描述,但如果你运行它你会看到我的意思。 这是我的代码: import java.util.*; public class Pascal { public static final int ROW = 16; public static void main(String[] args) { int[][] pascal = new int[ROW +1][]; pascal[1] = new int[1 + 2]; pascal[1][1] = 1; for (int i = 2; i <= ROW; i++) { pascal[i] = new int[i […]

如何选择一条线

所以我试图找出如何实现在绘图区域中选择线条或边缘的方法,但我的数学有点缺乏。 这是我到目前为止所得到的: 一组线,每一行有两个端点(一个开始,一个开始结束) 在canvas上正确绘制线条 单击canvas时会收到鼠标单击事件,因此我可以获取鼠标指针的x和y坐标 我知道我可以遍历行列表,但我不知道如何构造算法来通过给定坐标(即鼠标单击)选择行。 有人有任何想法或指出我正确的方向? // import java.awt.Point public Line selectLine(Point mousePoint) { for (Line l : getLines()) { Point start = l.getStart(); Point end = l.getEnd(); if (canSelect(start, end, mousePoint)) { return l; // found line! } } return null; // could not find line at mousePoint } public boolean canSelect(Point start, […]

Java – 通过2D数组的路径的最大总和

基本上我有一个与此类似的问题: 草坪植物花园由2D方形arrays代表。 每株植物(每种元素)都有许多草莓。 从arrays的左上角开始,您只能向右或向下移动。 我需要设计一个递归方法来计算通过花园的路径,然后输出哪一个产生最多的草莓。 我想我对真正非常简单的递归问题有所了解,但这个问题已经过去了。 就创建递归方法而言,我不确定从哪里开始或去哪里。 任何与代码相关的帮助或帮助我理解这个问题背后的概念都非常感谢。 谢谢。

需要存储2d列表但不使用数组

考虑到我有一个包含以下格式数据的txt文件: “Home” “A1” “Car” “A2” “Home” “B1” “Home” “A1” “Car” “A2” “Man” “B1” 如何存储此类数据以及排序格式,无需重复数据? 但是第一和第三个元素不能删除,因为它们与第二个参数不同(允许重复第二个参数,但不允许第一个和第二个参数)。 请建议适合Java的更好的collections。 另外请举个例子,因为我是Java的新手。

这是使用Java 2D Graphics API的正确方法吗?

我正在为JBox2D模拟创建一个图形前端。 模拟以递增方式运行,并且在更新之间,应该绘制模拟的内容。 类似于游戏,除了没有输入。 我只需要几何图元来绘制JBox2D模拟。 这个API似乎是最简单的选择,但它的设计有点令人困惑。 目前我有一个名为Window JFrame类,它包含另一个名为Renderer类作为成员。 Window类仅初始化自身并提供updateDisplay()方法(由主循环调用),该方法在Renderer上调用updateDisplay(objects)方法。 我自己制作了这两种方法,它们的唯一目的是在Renderer上调用repaint() 。 JPanel应该以这种方式使用吗? 或者我应该使用一些更复杂的动画方法(这涉及一些后端线程中的事件和/或时间间隔)?

使用Java Graphics.drawString替换完全合理化?

有没有人知道现有代码可以让你在Java2D中绘制完全对齐的文本? 例如,如果我说, drawString(“sample text here”, x, y, width) ,是否有一个现有的库可以找出该文本中有多少适合宽度,做一些字符间距来做文字看起来不错,并自动做基本的自动换行?

Java 2d方向鼠标点旋转

到目前为止,我有一个java应用程序,我绘制一个圆圈(播放器),然后在顶部(枪管)绘制一个绿色矩形。 我有它,所以当玩家移动时,枪管随之而来。 我想让它找到鼠标指向的位置,然后相应地旋转桶。 我的意思是看看这个video的一个例子我发现http://www.youtube.com/watch?v=8W7WSkQq5SU看看玩家图像在移动鼠标时的反应如何? 这是目前为止游戏的样子: 那我怎么像这样旋转呢? 顺便说一句我不喜欢使用affinetransform或Graphics2D旋转。 我希望有更好的方法。 谢谢