- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个一次性吃 bean 人游戏,试图在自学游戏编程的过程中展示吃 bean 人角色著名的张嘴/闭合动画。
我正在做的是绘制张开嘴的图像,然后在完全相同的 (x/y) 位置重新绘制闭合的嘴图像。但这不起作用,我只看到一直闭着嘴的动画。
如果我将其放入循环中,系统就会卡住,并且您会看到张开嘴的图像闪烁,但您看不到图像被替换。
我已经测试并确保两个图像均按预期正确加载。
这是我的 startAnim()
函数,当您双击小程序时会调用它:
public void beginGame() //Called from engine.java
{
isRunning=true;
repaint();
pacman.startAnim();
}
public void startAnim() //In different class, pacman.java
{
Image orig;
while (engine.isRunning)
{
orig=this.getCurrentImg();
draw(engine.getGraphics());
this.setCurrImg(currImg2);
this.draw(engine.getGraphics());
this.setCurrImg(orig);
this.draw(engine.getGraphics());
try
{
Thread.sleep(100);
}
catch (InterruptedException e) {}
}
}
public void draw(Graphics g) //Called from engine.paint()
{
g.drawImage(getCurrentImg(), getX(),
getY(), engine);
}
最佳答案
你必须在两张图片之间 sleep 。否则你只会看到最后绘制的图像。
例如。
while( running )
{
image 1
draw
sleep
image 2
draw
sleep
}
像这样:
public void startAnim() //In different class, pacman.java
{
final int cnt = 2;
Image[] imgs = new Image[ cnt ];
int step = 0;
imgs[ 0 ] = closedMouthImage;
imgs[ 1 ] = openMouthImage;
while ( engine.isRunning )
{
this.setCurrImg( imgs[ step ] );
draw(engine.getGraphics());
step = ( step + 1 ) % cnt;
try
{
Thread.sleep(100);
}
catch (InterruptedException e) {}
}
}
关于java - 如何用双缓冲在Java中显示Pacman的张嘴/闭嘴动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/622375/
我正要安装一个包,但它总是失败,因为文件已经存在。由于 --force 选项已从 pacman 中删除。我一直在尝试通过 --overwrite 选项覆盖目录,但不幸的是,这个选项也不起作用 我运行的
我正要安装一个包,但它总是失败,因为文件已经存在。由于 --force 选项已从 pacman 中删除。我一直在尝试通过 --overwrite 选项覆盖目录,但不幸的是,这个选项也不起作用 我运行的
对不起各位,我不知道标题是否是解释它的最佳方式。我正在使用 libgdx 在 java 中制作 pacman 克隆。我已经在瓷砖上渲染了 map 和碰撞检测。唯一的问题是,无论发生什么情况,吃 bea
我在新的 arch 系统中使用 pacman 遇到了很多问题。我无法安装任何东西。 [root@life ~]# pacman -S pacaur 错误:找不到目标:pacaur 我已经尝试了所有方法
我有 Arch Linux 软件包 babel-cli安装(此包与包 openbabel 冲突,未 安装)。 我编写自定义 PKGBUILD: pkgname=openbabel-fake pkgve
我已经了解了 A*、BFS、DFS,并且可以很好地实现它们。但是,当我尝试解决 pacman 寻路问题时,会出现一些问题。让我们假设只有两种类型的迷宫:一种有完整的元素,因为没有空白方块,一切都是吃
我一直在尽力解决 Pacman 和墙壁之间的碰撞检测问题,但是我的实现似乎无法正常工作 碰撞检测是否有效?是的 它的行为正确吗?否 目前表现如何?当你撞到墙时,吃 bean 人就会停下来移动这没关系,
我打算从头开始用 C 语言编写 Pacman 游戏。我面临的最基本的挑战是如何同时维护多个控制流。我的意思是吃 bean 人如何移动,幽灵如何移动,分数如何更新——所有这些都是同时进行的。一般来说,这
我目前正在开发一个 C++ 项目来制作 PacMan 克隆。基本上我已经完成了游戏所做的几乎所有事情。但是我还没有想出如何实现广度优先搜索以便鬼魂追逐pacman。在过去的几天里,我阅读了很多关于 B
除了 A*、BFS、DFS 等,Pacman 中还有哪些其他常用的寻路算法/启发式算法?如果 pacman 可以找到不止一种水果,我认为我提到的方法不会起作用。 我需要一些好的寻路算法,PacMan
有人知道如何为 PACMAN ARCADE 游戏创建用例图吗?这些是一些功能: 幽灵运动与行为 当能量被吃掉时,幽灵会变成蓝色并逃离吃 bean 人 四色鬼追手 增能器和动力颗粒以及迷宫生成, 增能器
我正在尝试为 PACMAN 问题找到一个解决方案,即找到一条能吃掉大迷宫中所有点的短路径(不是最短的,而是一条好的路径)。我看到很多人在谈论 TSP、Dijsktra、BFS、A*。我不认为这是一个
Closed. This question is off-topic。它当前不接受答案。 想要改善这个问题吗? Update the question,所以它是用于堆栈溢出的on-topic。 已关闭
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 4年前关闭。 Improve this
我找到了this pacman 动画的代码,它可以工作,但我无法理解那里发生了什么。 因此,我尝试使用以下代码创建更简单的动画以获得相同的效果: function name2(){ $('.pac
我正在通过 pacman -Ss boost-libs 安装 C++ boost 库。安装后,我想知道我的软件包安装在系统中的哪个位置。 有没有 pacman 命令可以做到这一点? 最佳答案 我现在不
我在使用 Arco Linux(最基本的)。 我已经用 pacman 安装了 nodejs 包。 现在,当我运行 sudo pacman -Su 时,我得到 nodejs-lts-gallium 和
我在使用 Arco Linux(最基本的)。 我已经用 pacman 安装了 nodejs 包。 现在,当我运行 sudo pacman -Su 时,我得到 nodejs-lts-gallium 和
我正在编写一个基于网格的 2D 吃 bean 人游戏。所有图 block 的尺寸均为 8x8。在游戏中, map 图 block 被视为 16x16,角色(吃 bean 人和幽灵)被视为 32x32。
在使用 C# 的 Unity 中,如何使 UI 元素在到达边界时“传送”到屏幕的另一边,但不是全部都在一起? 我有一个瞄准圈,可以在屏幕上自由移动,就像在旧的“on rails”射击游戏中一样,但是当
我是一名优秀的程序员,十分优秀!