我试着设置一个Java变量,它应该在两个类中访问,因为我正在编程的一个游戏。它不重要,使它具体,但一个例子会有帮助。
例如,我的问题:
我有一个演员火箭和演员流星。这些都是在类中定义的对象。我想给予我更多的点在一个变量中,然后我做一些像破坏两个在同一时间。正常情况下,我得到一个点每秒,然后火箭是一个“生命”。现在我需要在我的火箭类中的变量,以获得点火箭生命,但也在流星类中获得点后,流星杀死。我不知道如何在这两个结构中获取“count”变量。
我这样做了(在我的起源任务的绿脚beauchouse),但我认为你不需要它:
这是我的火箭,我发送它,你知道在哪种类型的地区我的代码。如果你需要更多的信息,请发表意见。
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
public class Rocket extends Actor
{
private int zaehler_02 =0;//wait for shoot
private int zaehler_03 =0;//addbullet
private int zaehler_05 =0;//counter
private int magazin = 25;`
public void act()
{
if(Greenfoot.isKeyDown("right")){
this.MoveRight();
}
if(Greenfoot.isKeyDown("left")){
this.MoveLeft();
}
if(Greenfoot.isKeyDown("up")){
this.MoveUp();
}
if(Greenfoot.isKeyDown("down")){
this.MoveDown();
}`
`zaehler_03 += 1;
zaehler_02 += 1;
zaehler_05 += 1;
if(Greenfoot.isKeyDown("space")){
if(zaehler_02 >=35 && magazin >= 1){
this.bullet();
zaehler_02 = 0;
magazin += -1;
}
}
this.counter();
this.getBullets();
this.checkcollision();
}
public void MoveRight(){
this.setLocation(this.getX()+3, this.getY());
}
public void MoveLeft(){
this.setLocation(this.getX()-3, this.getY());
}
public void MoveUp(){
this.setLocation(this.getX(), this.getY()-3);
}
public void MoveDown(){
this.setLocation(this.getX(), this.getY()+3);
}
public void bullet(){
Bullet bullet = new Bullet();
this.getWorld().addObject(bullet, this.getX(),this.getY());
}
public void counter(){
count = zaehler_05;
count /= 20;
this.getWorld().showText("Score:" + Integer.toString(count), 60, 20);
this.getWorld().showText("Magazin:" + Integer.toString(magazin), 200, 20);
}
public void getBullets(){
Bulletup bulletup= (Bulletup) this.getOneIntersectingObject(Bulletup.class);
if(bulletup != null){
this.addBullet();
bulletup = null;
}
}
public void addBullet(){
if (zaehler_03 > 200){
magazin += 10;
zaehler_03 = 0;
}
}
public void checkcollision(){
Meteor meteor = (Meteor) this.getOneIntersectingObject(Meteor.class);
Dead dead =new Dead();
if(meteor != null){
this.getWorld().addObject(dead, 600, 500);
Greenfoot.stop();
}
}
}
1条答案
按热度按时间jchrr9hc1#
从另一个类获取变量的方法主要有两种:
第一种方法:
第二种方法: