我目前正在处理Space Invaders in Processing,我不完全理解为什么会这样,很难解释,所以这里是游戏的所有代码: SpaceInvaders.pde:
/* Jordan Green
April 11th, 2018
This is the main class for the game
Space Invaders.
This is what sets up the game.
*/
//My objects declared.
Alien aliens;
Player player;
Score score;
PImage img;
//sets up the variables and gives them values.
void setup() {
aliens = new Alien();
player = new Player();
score = new Score();
size (600, 600);
img = loadImage("Space Background.jpg");
}
//draws out the program.
void draw() {
background(0);
image(img, 0, 0, height, width);
player.show();
player.move();
player.playerLives();
player.alienDie();
aliens.show();
aliens.move();
score.show();
if (player.playerLife == 0) {
}
}
void keyPressed() {
if (key == ' ') {
player.shoot();
}
}
我的问题是为什么object.variable对Processing有效?这是我不明白的事情。
约旦
答案 0 :(得分:0)
为什么它不起作用?
这是Java中对象的基本功能,其中Processing是建立在它之上的。如果您有一个包含变量或函数的类,则可以使用class MyClass{
int x = 42;
void sayHello(){
println("hello");
}
}
MyClass myInstanceOfMyClass = new MyClass();
println(myInstanceOfMyClass.x);
myInstanceOfMyClass.sayHello();
点运算符引用这些变量或函数。
以下是一个例子:
private
在Java中,您可以将变量和函数标记为if (window.pageYOffset >= sticky) {
header.classList.add("sticky");
mobileheader.classList.add("sticky");
} else {
header.classList.remove("sticky");
mobileheader.classList.remove("sticky");
}
以限制访问,但这在处理中不太常见。
您可以在the reference或this tutorial中了解有关课程的更多信息。