嗨,我正在阅读Ian Cinnamon撰写的“为邪恶的天才编程视频游戏”一书.在其中一个项目中,他解释了如何为赛车游戏创建动画.我在下面编写了一个简单的代码(删除了“几乎”所有不必要的内容).但是结果是一样的:闪烁.

我的问题是,如何通过使用相同的代码(显然只需进行少量修改)就能使其停止闪烁?我的意思不是找到其他方法(修改整个代码),因为我已经能够使用JLabel,ImageIcon类和Spritesheets图像文件.我的观点是解决闪烁问题而不删除这些形状[Rectangle(fillRect&如果可能,drawImage)].

顺便说一下,如果不可能的话,“你为什么要这样做!?”或“不可能”也是很好的答案. (让我们尽量不要使用它们!)

谢谢!

import java.awt.*;

import javax.swing.*;

import java.io.*;

import java.net.*;

public class Race extends JFrame {

public static void main(String[] args){

new Race();

}

private Rectangle r1 = new Rectangle(0,0,800,100);

private Rectangle r2 = new Rectangle(0,100,100,400);

Image img = null;

public Race(){

super("Some Title");

setVisible(true);

setSize(800,600);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

try{

URL url= this.getClass().getResource("someImage.png");

img =Toolkit.getDefaultToolkit().getImage(url);

}catch(Exception e){}

Race.GameLoop gameHeart = new Race.GameLoop();

gameHeart.run();

}

public void paint(Graphics g){

super.paint(g);

g.setColor(Color.GREEN);

g.fillRect(r1.x, r1.y, r1.width, r1.height);

g.setColor(Color.RED);

g.fillRect(r2.x, r2.y, r2.width, r2.height);

g.drawImage(img, r2.x, r2.y, r2.width, r2.height, this);

try {

Thread.sleep(75);

} catch (InterruptedException ex) {}

repaint();

}

public class GameLoop extends Thread {

public void run(){

while(true){

//game animations and logic

//even if I put repaint() here it still flicker

}

}

}

}

java可以制作动画么,Java:如何避免仅制作形状的动画(没有图像...相关推荐

  1. java页面要素_Web前端入门技术之网页制作三要素

    原标题:Web前端入门技术之网页制作三要素 Web前端技术开发是由网页制作演变而来的,主要由HTML.CSS.Java三大要素组成.专业的Web前端开发入门常识也必定会包含这些内容,今日千锋教师就给我 ...

  2. java实现gif动画效果(java显示动态图片)

    关闭 关闭 脚本之家 软件下载 源码下载 在线工具 网页教程基础 服务器常用软件 手机版 关注微信 网页制作 网络编程 脚本专栏 脚本下载 数据库 CMS教程 电子书籍 平面设计 媒体动画 操作系统 ...

  3. java canvas 动画效果_八大疯狂HTML5 Canvas及WebGL动画效果

    [IT168应用]HTML5.WebGL和JavaScript改变了长久以来的动画制作行业.在过去的几年中,我们想要制作卓越的网页动画只能使用Flash和Java Applet.而现在,使用脚本语言和 ...

  4. java word转html 烟火,Java多线程制作烟花效果.doc

    Java多线程制作烟花效果 Java多线程应用实例: 制作烟花效果 本例知识点一句话讲解新学知识使用Thread类管理线程已学知识Math类产生随机数使用Color类设置颜色使用Graphics类绘制 ...

  5. 微信群控系统制作系列一——java模拟登录网页版微信

    PS:很多人咨询我怎么做手机群控系统,因此我开了个制作群控系统的系列,准备分五期讲解群控系统的制作.前两篇是基础内容. 今天做个简单的java模拟登录网页版微信. 既然要做模拟登录,那么我们一定要了解 ...

  6. java动态图片_java实现gif动画效果(java显示动态图片)

    关闭 关闭 java实现gif动画效果(java显示动态图片) 作者: 字体:[增加 减小] 类型:转载 时间:2014-04-29我要评论 这篇文章主要介绍了java实现gif动画效果示例(java ...

  7. MSNLite表情包制作生成器(Java实现)

    最近看到一则新闻说小米收购了MSNLite(hada.me)团队,打算开发PC端的米聊客户端,于是对MSNLite产生了兴趣,同时也在自己的机器上安装了MSNLite,乖乖,使用了几天确实感觉她比以前 ...

  8. 安卓入门-动画(Animation)(由简单的单一动画到复杂的时间顺序叠加动画)(XML实现方式+JAVA实现方式)

    文章目录 三个要做的动画 理论知识 1. XML文件设置 2.JAVA代码设置 具体实例实现(JAVA代码方式) 动画一(赛车的外内外走线) 动画二(转向不足的动画) 动画三(转向过度的动画)(复杂的 ...

  9. java画板教程_使用Java制作简易的画板教程

    drawDrawListener里面只写了画直线和曲线的方法,读者可以根据自己的需求添加,思路和方式都是一样的.Draw类里面有些需要注意的地方在这里提一下:一个是画笔g的获取一定要在窗体的可见之后采 ...

  10. java swing 弹出登录框_用JavaSwing制作一个简单的登录框

    我就懒的一条一条注释了,之前已经都讲过了,直接上代码了. 劝一下大家,打代码不要直接复制,这样是永远都学习不会的,要自己动手敲,自己要有思维. 我这个只供你们自己参考吧,请不要盲目复制,要学习精髓,这 ...

最新文章

  1. 微信公众号开发 常用脚本累计
  2. 2019年中国十大人才发展趋势
  3. git 使用_git使用指南
  4. springboot 读取配置文件_使用 @ConfigurationProperties 在 Spring Boot 中加载配置
  5. java 对象锁定_少锁定Java对象池
  6. mysql服务无法启动进程意外终止_mysql服务无法启动 1067 错误,进程意外终止
  7. 设计模式——工厂模式 1
  8. PHP连接MySQL-踩坑总结
  9. [Unity] 利用Culling Group实现LOD和剔除逻辑
  10. excel合并计算机操作,Excel如何快速合并多个单元格的内容?
  11. VMware esxi6.7U3B安装镜像集成Realtek8168网卡驱动
  12. Windows7下IPV6设置方法详解
  13. 计算机毕业设计、计算机课程设计怎么做?计算机设计1900套来帮你!
  14. python opencv图片拼接、特征点匹配
  15. HTML实现简单的注册页面
  16. switch完成输出星期一到七
  17. html设置视频一直播放,设置video js多视频连续播放
  18. 百度昆仑芯片独立背后,或向汽车芯片发起进军
  19. 计算机如何查看网络延时,电脑网络延时如何查看 网络延时查看方法【步骤教程】...
  20. MCU--新塘N76E003--IIC

热门文章

  1. macos系统偏好设置中‘无法打开 Java,因为他不可用‘
  2. 《星际穿越》与“宇宙三禁律”
  3. 如何写好一份技术应聘简历
  4. php h.265解码视频,用狸窝转换H265编码视频步骤
  5. 如何用AXURE制作简单的幻灯片播放
  6. lammps教程:Cu孪晶建模方法
  7. 阳明同调(琴语言第1讲专用领域语言基础)
  8. 研读Attention-based LSTM for Aspect-level Sentiment Classification
  9. 数据中心技术竞争最前线
  10. Moto XT882 android2.3 媒体服务器 莫名耗电的原因