java - Java中的旋转文本
问题描述
我正在为一个大学项目用 Java 创建一个命运之轮游戏。我正在努力降低图像旋转。任何帮助,将不胜感激。
这就是下面的代码显示的内容:
WHEEL_COLOURS - 18 种颜色的 ArrayList
WHEEL_VALUES - 一个包含 18 个值的字符串数组,包括 Lose a Turn、500、1000 等。
角度= 20(360/18 段)
protected void paintComponent(Graphics g) {
super.paintComponent(g);
// draw wheel
for (Color c : WHEEL_COLOURS) {
g.setColor(c);
g.fillArc(5, 15, wheelSize, wheelSize, degrees, ANGLE);
degrees += ANGLE;
}
for(int i=0; i< WHEEL_VALUES.length; i++) {
g.setColor(Color.BLACK);
Graphics2D g2d = (Graphics2D) g;
drawRotate(g2d, 125, 125, degrees, WHEEL_VALUES[i]);
degrees += ANGLE;
}
// draw pointer
g.setColor(Color.YELLOW);
g.fillArc(100, 0, 40, 60, 67, 45);
g.setColor(Color.ORANGE);
g.drawArc(100, 0, 40, 60, 67, 45);
}
public static void drawRotate(Graphics2D g2d, double x, double y, int angle, String text)
{
g2d.translate((float)x,(float)y);
g2d.rotate(Math.toRadians(angle));
g2d.drawString(text,0,0);
g2d.rotate(-Math.toRadians(angle));
g2d.translate(-(float)x,-(float)y);
}
解决方案
推荐阅读
- php - 如何更改 PHP 中的服务器以访问数据库?
- r - 如何从 R 中的变量中找出丢失的日期(例如 2018-08)
- reactjs - 实际上通过 CloudFront 提供内容?
- javascript - Oracle Apex 更改对象的字符串
- gradle - Gradle - 使用命令行参数创建自定义任务
- java - 登录检查后无法检索用户数据
- amazon-s3 - 如何通过自定义 kms 密钥启用服务器端加密将文件上传到 s3
- python - 如何将 args 元组传递给多处理池 imap?
- python - 矩阵大小不兼容:In[0]:[1,501760],In[1]:[25088,1024]
- vue.js - 如何将 vue @click 事件附加到输入字段旁边的字体真棒图标?