问题标签 [java-canvas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
245 浏览

java - 您如何从另一个班级访问一个班级的画布?

基本上,我试图访问在一个类中的方法中创建的画布,并在另一个类中使用相同的画布,但向其中添加内容。如何引用画布。这是创建画布的类(重要的是向下的第二种方法[例如说图形页面的方法]):

二等:

看,我怎样才能从第一堂课访问页面/画布并从这堂课上画画?

0 投票
1 回答
665 浏览

java - 鼠标点击坐标始终为 0

如您所见,我在游戏中添加了鼠标侦听器。

这是我的鼠标适配器类,基本上我想要的只是鼠标按下位置的 x,y 坐标

当我尝试获取 X 和 Y 坐标时,它们始终为 0,而不是鼠标实际单击的位置。我不知道为什么。

0 投票
1 回答
165 浏览

java - Java Canvas - Rectangle2D 移动时缩放

我正在画布上绘制一系列矩形。矩形应该以一定角度移动。出于某种原因,当它们移动时,它们会按比例放大:

我的 UpdateBounds 方法:

Bounds 是一个 Rectangle2D 对象。还有我的绘图方法:

为什么我会出现这种行为?

0 投票
1 回答
1124 浏览

java - 如何使用 JavaFX 8 在画布上有效地绘制箭头?

我正在寻找一种在 JavaFX 8 中绘制箭头的非常简单有效的方法,实现这一目标的最佳方法是什么(假设我愿意绘制成百上千的箭头)?

箭头

我听说使用 Canvas 进行绘制非常有效。

但是,我不知道最好的实现是否是:

0 投票
1 回答
559 浏览

java - 如何在 Java 上的画布上绘制字符串字母数组?

我有一个字母数组

以及我尝试创建的一种绘制字母的方法。

该数组与方法一起在名为 Card 的类(也称为“pileOne”)中声明,但是我试图在另一个名为 Game 的类中调用该方法(我正在尝试制作一副纸牌程序)。当我尝试绘制方法时,(例如):

我得到错误:

“Card 类型中的方法 drawLetterValue(Graphics, String[], int, int) 不适用于参数 (Graphics, String, int, int)”

我很困惑,因为我将字母称为数组,但我得到的错误告诉我我只是将它称为字符串。任何帮助表示赞赏,谢谢!

0 投票
1 回答
67 浏览

java - Java Canvas 编写动画文本

我正在制作一款格斗游戏,在游戏开始之前,我想添加一个介绍故事,我希望故事以 1 个字母显示,这是我的代码:

}

它有效,但不太正确。已绘制的旧字符串丢失。它每次延迟只绘制 1 个字母,并且已绘制的旧字母消失了。

有人可以帮我更正这段代码吗?我是使用java的新手。非常感谢你。

0 投票
0 回答
258 浏览

java - Java 画布和精灵错误

我有一个给定的 Canvas 类,我想加载一个具有特殊单元类型的 Sprite,然后在我的 Canvas 上绘制它。我是 GUI 和 Canvas 建模的新手,在下面的代码部分中,我总是在第 3 行中得到一个“未处理的类型 IO 异常错误”,我在其中实现了我的精灵加载器。我可以轻松地绘制矩形等,但我无法加载我的 Sprite 并将其转换为图像。

编辑:

}

0 投票
0 回答
952 浏览

java - 将可滚动画布添加到 JFrame

我想将一个可滚动的 Canvas 添加到一个JFrame,网络上的一些研究使我找到了一个将可滚动的 Canvas 作为 Java Applet 的解决方案。我试图将它应用到 a 上JFrame,结果是:

工作正常,画布在 Frame 上显示得非常好,但它不是 SCROLLABLE 并且我无法重新绘制它(例如,通过按buttonGUI 上的a 来更改背景颜色JFrame)。要么这不是向 a 添加可滚动画布的合适方法JFrame,要么我错过了一些你可能更了解并可以与我分享的东西。

谢天谢地

0 投票
0 回答
142 浏览

java - JavaFX 画布分辨率

我正在考虑使用 JavaFX 中的 Canvas 实现 2D 游戏,我希望用户能够设置分辨率。(它应该一直是全屏的)当我尝试过 Canvas 时,它似乎只是适应了它所显示的屏幕的原始分辨率,这对性能来说是个问题。(我在 Macbook Pro 上的外部全高清屏幕上运行了一个粒子系统,它达到了 60fps,但是一旦我将窗口移动到内置的视网膜屏幕,它就开始滞后。)

对于使用 JavaFX Canvas 实现的游戏,是否有一种好方法可以支持多种分辨率? 如果没有,有什么好的选择吗?我想使用 JavaFX Canvas 的原因是简单(不必处理低级细节)。

0 投票
2 回答
2824 浏览

java - 我可以做些什么来减少游戏中大量对象的延迟?

澄清一下,我知道为什么我的游戏运行缓慢。我在当前区域有很多不同的对象,它必须勾选并渲染所有这些对象。我只是不知道如何在不减少对象的情况下解决问题。

我正在寻找的答案更多的是关于如何解决这个问题的概念,而不仅仅是制作一堆代码让我粘贴到我的游戏中。

我正在根据RealTutsGML的教程设计我的游戏。在那里我不得不用他的游戏构建方法解决一些问题,但我想通了。

因此,在我的游戏中,我必须查看当前存在的所有对象。存在的对象越多,处理所有对象所需的时间就越长。例如,如果这些对象当前不在视图中,我需要找到一种方法来帮助释放内存。我知道像 Minecraft 这样的游戏使用块来释放未使用的内存。(不会生成视距之外的块)我可以做些什么来允许一个有很多物体的环境而不会造成这么多的延迟?我希望能够有一个很大的水平,而不会因为所有需要勾选和渲染的对象而产生太多延迟。

我要澄清的另一件事是,加载到关卡中的所有对象都保存在 LinkedList 中,以便我可以轻松地创建和销毁对象。每次滴答声,我都会在这些链接列表中运行一个 for 循环,以处理每个对象的行为以及它们的呈现方式。

[编辑 4 月 28 日]

我正在制作的游戏中的对象以非常类似于网格的格式组织。这包括瓷​​砖、玩家和所有其他游戏对象。