- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用仙人掌图片制作一个游戏,但是当我执行代码时,如果它尝试在图片之间切换,它将停止并卡住在该点上,否则如果它不起作用,我也会对图片使用 bufferedimage我的代码:
package objectgame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import util.Resource;
public class EnemiesManager {
private List<Enemy> enemies;
private Random random;
private BufferedImage imagecactus1, imagecactus2, imagecactus3 ;
public EnemiesManager() {
enemies = new ArrayList<Enemy>();
imagecactus1 = Resource.getResourceImage("data/cactus1.png");
imagecactus2 = Resource.getResourceImage("data/cactus2.png");
imagecactus3 = Resource.getResourceImage("data/cactus3.png");
random = new Random();
enemies.add(getRandomCactus());
random = new Random();
}
public void update() {
for(Enemy e: enemies) {
e.update();
}
Enemy firstEnemy = enemies.get(0);
if(firstEnemy.isOutOfScreen()) {
enemies.remove(firstEnemy);
enemies.add(getRandomCactus());
}
}
public void draw(Graphics g) {
for(Enemy e: enemies) {
e.draw(g);
}
}
private Cactus getRandomCactus() {
Cactus cactus;
cactus = new Cactus();
cactus.setX(600);
if(random.nextBoolean()) {
cactus.setImage(imagecactus1);
}
else{
cactus.setImage(imagecactus2);
}
return cactus;
}
}
新类(class)
package objectgame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import util.Resource;
public class Cactus extends Enemy{
private BufferedImage image;
private int posX, posY;
private Rectangle rect;
public Cactus() {
image = Resource.getResourceImage("data/cactus1.png");
posX = 200;
posY = 83;
rect = new Rectangle();
}
public void update() {
posX -= 3;
rect.x = posX;
rect.y = posY;
rect.width = image.getWidth();
rect.height = image.getHeight();
}
@Override
public Rectangle getBound() {
return rect;
}
@Override
public void draw(Graphics g) {
g.drawImage(image, posX, posY, null);
}
public void setX(int x) {
posX = x;
}
public void setY(int y) {
posY = y;
}
public void setImage(BufferedImage images) {
this.image = images;
}
@Override
public boolean isOutOfScreen() {
return (posX + image.getWidth() < 0);
}
}
问题是什么,这是动画管理器的代码和图片的详细信息。我已经尝试了很多教程,但没有一个教程能够正确工作,但总是稍微偏离随机 boolean 的目的。我使用 eclipse,所以我不会收到任何特定于错误发生位置的错误。我也确实使用了调试器,但没有工作。所以我真的需要你们的帮助。
最佳答案
一个干净的方法如下:
private Cactus getRandomCactus() {
Cactus cactus = new Cactus();
cactus.setX(600);
BufferedImage [] images = {imagecactus1, imagecactus2, imagecactus3};
cactus.setImage(images[random.nextInt(3)]);
return cactus;
}
注意: random.nextInt(3)
返回一个从 0 到 2 的 int
,即 0 或 1 或 2。
关于java - elsif 与 nextboolean 用于图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60988359/
嘿伙计们,我在尝试从文本文件中读取时遇到这些错误: Exception in thread "main" java.util.InputMismatchException at java.ut
我正在用仙人掌图片制作一个游戏,但是当我执行代码时,如果它尝试在图片之间切换,它将停止并卡住在该点上,否则如果它不起作用,我也会对图片使用 bufferedimage我的代码: package
在下面的示例中,while 循环模拟机械师看到 10 个使用过的引擎。每个引擎都有 50% 的机会工作或不工作。我的变量计数器记录工作引擎的数量,并在程序结束时将其打印出来。 我的问题是这是使用 rg
当我运行下面的代码时,无论我为 for 循环使用什么范围,代码总是打印十次 true。 public static void main(String[] args) { Random bool
我正在浏览source code for Math.Random我注意到 nextBoolean() 的源代码 public boolean nextBoolean() { return nex
我是一名优秀的程序员,十分优秀!