- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为游戏实现双缓冲,但我不确定我是否正确执行。
我在主游戏循环中调用 this.repaint()
,然后应该执行以下操作:
@Override
public void paint(Graphics g){
// this.getWidth() / this.getHeight() is the window size
this.dbImage = createImage(this.getWidth(), this.getHeight());
this.dbg = dbImage.getGraphics();
this.paintComponent(dbg);
g.drawImage(this.dbImage, 0, 0, this);
}
@Override
public void paintComponent(Graphics g){
try{
g.drawImage(bg, 0, 0, this);
// gameObjects is an ArrayList with an object in it that represents
// an item on the screen, such as an enemy or a bullet
for(int i = 0; i < gameObjects.size(); i++){
GameObject go = gameObjects.get(i);
g.drawImage(go.getSprite(), go.getX(), go.getY(), this);
}
}catch(Exception e){
}
}
我基本上做了这个人在这里所做的事情:YouTube Video我遇到的问题是,它的运行情况似乎比我使用双缓冲之前更糟。有时,项目会卡住半秒,然后恢复正常,然后在几分钟(或更短的时间内)再次发生。
最佳答案
创建一个图像,为该图像创建一个缓冲区,然后在缓冲区上进行所有绘制,这样就不会在每次绘制操作时都将其绘制到屏幕上。当整个框架完成后,您现在就可以在屏幕上真正绘制该图像了。
在初始化中:
offscreen = createImage(dim.width,dim.height);
bufferGraphics = offscreen.getGraphics();
在绘图部分(无论你想要在缓冲区上什么):
bufferGraphics.fillRect(20, 20+m,0,20);
完成后在绘图屏幕中:
g.drawImage(offscreen,0,0,this);
如果这些不满足,还有三重缓冲。
关于java - 双缓冲看起来不稳定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16502009/
我正在尝试执行 vagrant up 但一直遇到此错误: ==> default: IOError: [Errno 13] Permission denied: '/usr/local/lib/pyt
我在容器 div 中有一系列动态创建的不同高度的 div。 Varying text... Varying text... Varying text... Varying text.
通过 cygwin 运行 vagrant up 时遇到以下错误。 stderr: /bin/bash: /home/vagrant/.ansible/tmp/ansible-tmp-14872260
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
我是 vagrant 的新手,正在尝试将第二个磁盘添加到我正在用 vagrant 制作的虚拟机中。 我想出了如何在第一次启动虚拟机时连接磁盘,但是当我关闭机器时 然后再次备份(使用 'vagrant
我是一名优秀的程序员,十分优秀!