Я делаю автомобиль игры в java. Скорость дороги задана основным методом, но мне нужно обновить скорость (автомобиль выходит за пределы и замедляется травой).Обновление переменных в основном методе?
Вот часть, которую я хочу контролировать, скорость меняется.
if(collision[12] > x)
{
roadSpeed = 150;
System.out.println("outside");
}
else
{
System.out.println("inside");
roadSpeed = 100;
}
Вот основной метод до того, что мне нужно обновить.
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable() {
public void run() {
final TestRoad road = new TestRoad();
road.timer.setDelay(roadSpeed);
После изменения значения int основной метод не обновляет задержку таймера. Я смотрел на списки изменений, но я не хочу никаких кнопок или слайдеров.
были ИНТ объявлен в были его называют
public Boolean start = true;
public int i;
public int x;
public int y;
public int z;
public static int roadSpeed = 100; //<<<<<<<<<<declared here
public int lcolPoint = 0;
public int rcolPoint = 0;
public int colSlot = 0;
public int colOffset = 0;
public int carY;
public int[] collision;
public int[] colBuffer;
private BufferedImage carImg;
private Boolean right=false;
private Boolean left=false;
private Boolean first=true;
public TestRoad(){
this.setFocusable(true);
addKeyListener(this); //THIS IS ADDING THE KEYLISTENER
Color colors = new Color(51,102,0);
setBackground(colors);
//uses setPreferredSize instead of setSize because parent component utilizes a layout manager.
setPreferredSize(new Dimension(500, 500));
collision = new int[500];
colBuffer = new int[2];
for(int i=0; i<500; i++){
collision[i] = 0;
}
timer = new javax.swing.Timer(25, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
addPoint();
carMove(); //<<<<< called here
repaint();
}
});
carmove -
public void carMove()
{
if(right==true)
x+=8;
if(left==true)
x-=8;
colBuffer[0] = collision[1];
collision[1] = lcolPoint;
collision[colSlot] = lcolPoint;
for(int z=2; z<21; z++){
colBuffer[1] = collision[z];
collision[z] = colBuffer[0];
colBuffer[0] = colBuffer[1];
}
if(collision[12] > x)
{
roadSpeed = 100;
System.out.println("outside");
}
else
{
System.out.println("inside");
roadSpeed = 50;
}
}
Что в мире происходит с вашим отступом? Вы действительно отступаете от тел ifs меньше, чем сами? –
Я нормализовал отступы для остальной части удобства чтения в мире. –
, но я проклят, если я собираюсь повторить второй код кода. –