[sketch args]"-6ren"> [sketch args]"-每次编译代码时,我都会收到此消息:“用法:PApplet [选项] [sketch args] 请参阅 PApplet 的 Javadoc 以获取解释。”我正在使用的代码是通过闪存驱动器从我的旧计算机-6ren">
gpt4 book ai didi

java - 处理 "Usage: PApplet [options] [sketch args]"

转载 作者:行者123 更新时间:2023-12-01 09:22:15 32 4
gpt4 key购买 nike

每次编译代码时,我都会收到此消息:“用法:PApplet [选项] [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;
}
}
}
}

最佳答案

我建议先做一些较小的工作。

从一个新项目开始,并开始工作:

public class ProcessingTest extends PApplet{

@Override
public void settings() {
size(200, 200);
}

@Override
public void draw() {
background(0);
fill(255, 0, 0);
ellipse(100, 100, 100, 100);
}

public static void main (String... args) {
ProcessingTest pt = new ProcessingTest();
PApplet.runSketch(new String[]{"ProcessingTest"}, pt);
}
}

这将测试您是否正确设置了处理依赖项。如果您遇到困难,那么您可以提出更具体的问题。

工作完成后,您可以向工作示例添加小段代码,直到它停止工作,这将再次允许您提出更具体的问题。这都是为了缩小问题范围:您的错误可能与字体无关,那么为什么您的代码包含字体逻辑?换句话说,请发布MCVE .

如果您再次陷入困境,请尝试更具体地说明您的错误:您确定它是在编译期间发生的,还是在您尝试运行时发生的?它在哪条线上?您使用什么版本的处理?你的代码运行得怎么样? (我没有看到 main() 方法?)

您还应该尝试使用正确的格式(缩进)和命名约定(类名以大写字母开头,方法和变量以小写字母开头)。这将帮助我们阅读您的代码并帮助您发现错误。

我还要说的是,将 Eclipse 项目从一台计算机复制到另一台计算机通常麻烦大于其值(value)。除非所有依赖项都位于完全相同的位置,否则您将会遇到问题。相反,我建议创建一个新项目并仅复制代码。

关于java - 处理 "Usage: PApplet [options] <class name> [sketch args]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40099205/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com