【发布时间】:2016-10-18 03:52:03
【问题描述】:
每次我编译我的代码时都会收到这条消息,“用法:PApplet [options] [sketch args] 有关说明,请参阅 PApplet 的 Javadoc。” 我正在使用的代码是通过闪存驱动器从我的旧计算机导入的,并且在该计算机上运行良好。当我将文件放入工作区后尝试从 src 打开文件时,它并不认为它是一个项目,因此我将它放入一个新的处理项目中。所以基本上我不确定我是否安装了错误的处理或代码中的错误,但我现在收到这个错误,这很烦人,因为我想处理这个旧项目。代码如下:
package tests;
import processing.core.PApplet;
import processing.core.PFont;
import processing.core.PImage;
import java.util.Random;
public class test1 extends PApplet {
PImage background;
PImage mole;
PImage mallet1;
PImage mallet2;
PFont f;
public int timer;
public int startTime;
public int gameTime;
public int startGameTime;
int score = 0;
Random rnd = new Random();
boolean mouseP = false;
int life = 3;
Mole mole1;
Mole mole2;
Mole mole3;
Mallet mallet;
enum GameState {
MENU,
RUNNING,
RUNNING2
}
static GameState currentState;
public void setup() {
size(1000, 800);
background = loadImage("background.png");
currentState = GameState.MENU;
mole = loadImage("mole.png");
mole1 = new Mole(mole);
mole2 = new Mole(mole);
mole3 = new Mole(mole);
f = createFont("comic.tff",16,true);
textFont(f,36);
}
public void draw() {
switch(currentState){
case MENU:
drawMenu();
startTime = millis();
timer = 0;
life = 3;
gameTime = millis();
cursor(CROSS);
break;
case RUNNING:
drawRunning();
break;
case RUNNING2:
drawRunning2();
gameTime = millis() - startGameTime;
break;
}
}
public void drawRunning() {
clear();
background(background);
if(timer < 60000){
mallet2 = loadImage("mallet2.png");
timer = millis();
background(background);
mole1.drawMole();
mole1.collision(mallet);
timer = millis() - startTime;
mallet1 = loadImage("mallet1.png");
mallet = new Mallet(mallet1, mouseX, mouseY);
fill(255,255,255);
text("Time: " + ((60 - timer / 1000)), 850, 50);
if (mouseP){
mallet.drawMallet(mallet2, mouseX, mouseY);
}
else {
mallet.drawMallet(mallet1, mouseX, mouseY);
}
if(timer > 60000){
fill(255,255,255);
text("Game over!" , background.width/2 - 100, background.height/2);
currentState = GameState.MENU;
}
noCursor();
text("Score: " + score ,25,50);
}
}
public void drawRunning2() {
clear();
mallet1 = loadImage("mallet1.png");
mallet = new Mallet(mallet1, mouseX, mouseY);
mallet2 = loadImage("mallet2.png");
background(background);
timer = millis() - startTime;
text("Life: " + life ,25,50);
noCursor();
text("Time: " + (gameTime / 1000), 825, 50);
if(life <= 0){
mole1.dead = true;
mole2.dead = true;
mole3.dead = true;
text("Game over!" , background.width/2 - 100, background.height/2);
if(mouseP){
currentState = GameState.MENU;
timer = 0;
gameTime = 0;
startGameTime = millis();
}
}
if (timer < 2000){
if (!mole1.dead){
mole1.drawMole();
mole1.collision(mallet);
}
if (!mole3.dead){
mole3.drawMole();
mole3.collision(mallet);
}
if (!mole2.dead){
mole2.drawMole();
mole2.collision(mallet);
}
if (mouseP){
mallet.drawMallet(mallet2, mouseX, mouseY);
}
else {
mallet.drawMallet(mallet1, mouseX, mouseY);
}
}
else {
startTime = millis();
if (!mole1.dead || !mole2.dead || !mole3.dead) {
life --;
}
if (life > 0){
mole1.dead = false;
mole2.dead = false;
mole3.dead = false;
mole1.xPos = rnd.nextInt(925);
mole1.yPos = rnd.nextInt(725);
mole3.xPos = rnd.nextInt(925);
mole3.yPos = rnd.nextInt(725);
mole2.xPos = rnd.nextInt(925);
mole2.yPos = rnd.nextInt(725);
}
}
}
public void drawMenu(){
clear();
background(142,22,178);
fill(165, 119, 249);
rect(250, 150, 500, 200 );
fill(255,255,255);
text("Time Mode", 375, 270);
fill(165, 119, 249);
rect(250, 450, 500, 200 );
fill(255,255,255);
text("Survival Mode", 375, 570);
}
public void mousePressed()
{
mouseP = true;
if( currentState == GameState.MENU && mouseX > 250 && mouseX < 750 && mouseY > 150 && mouseY < 350){
currentState = GameState.RUNNING;
}
if( currentState == GameState.MENU && mouseX > 250 && mouseX < 750 && mouseY > 450 && mouseY < 650){
currentState = GameState.RUNNING2;
}
}
public void mouseReleased()
{
mouseP = false;
}
public class Mallet{
PImage mallet1;
PImage mallet2;
float xPos1;
float yPos1;
public Mallet(PImage mallet1, float xPos1, float yPos1){
this.mallet1 = mallet1;
this.xPos1 = xPos1;
this.yPos1 = yPos1;
}
public void drawMallet(PImage mallet1, float xPos1, float yPos1){
image(mallet1, xPos1 - 40, yPos1 - 60);
}
}
public class Mole{
PImage Mole;
float xPos;
float yPos;
boolean dead = false;
public Mole(PImage mole){
this.Mole = mole;
this.xPos = rnd.nextInt(925);
this.yPos = rnd.nextInt(750);
}
public void drawMole(){
if (dead == true) {
this.xPos = rnd.nextInt(1000 - mole.width / 2);
this.yPos = rnd.nextInt(800 - mole.height);
dead = false;
}
image(Mole, xPos, yPos);
}
public void collision(Mallet m){
if(
mouseP == true &&
mouseX > xPos && mouseX < xPos + mole.width && mouseY > yPos && mouseY < yPos + mole.height){
score ++;
dead = true;
}
}
}
}
【问题讨论】:
-
文件上还有 2 个错误描述资源路径位置类型存档所需库:项目“测试”中的“src/tests/library/export.txt”无法读取或无效ZIP 文件测试构建路径构建路径问题在解决构建路径错误之前无法构建项目测试未知的 Java 问题
标签: java eclipse processing