Помощь с передвижением GObject

254
04 мая 2018, 14:01

господа. Я новичок в Java, поэтмому никак не могу решить проблему с которой столкулся, мне нужно чтоб mario передвишался при нажатие на кнопки и изображения также менялись, на данный момент ничего не происходит. И еще обязательно использование acm graphics

Ниже предоставлены все коды

package objects;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import acm.graphics.*;
public class Mario extends GCompound implements ActionListener{
public static double dx;
public static double dy;
public static GImage mario;
private static int x = 40;
private static int y = 350;
private final int min = 350;
private final int gravity = 5;
private final int speed = 5;
private final int max_jump = min - 220;
private int direction;
private int number = 1;
public static boolean standing = true;
public Mario () {
    if (standing == true) {
        mario = new GImage("Mario_Big_Right_Still.png");
        mario.setSize(60, 105);
    }
    else {
        mario = new GImage("Mario_Big_Crouch_Left.png");
        mario.setSize(60, 95);
    }
    mario.setLocation(x + dx, y + dy);
    add(mario);
}
public boolean onBottom() {
        if (mario.getLocation().getY() >= min ) return true;
    return false;
}
public void keyPressed(KeyEvent e) {
    int key = e.getKeyCode();
    if (key == KeyEvent.VK_LEFT) {
            dx = -5;
    }
    if (key == KeyEvent.VK_RIGHT) {
            dx = 5;
    }
    if (key == KeyEvent.VK_UP) {
            dy = -5;
    }
    if (key == KeyEvent.VK_DOWN) {
            standing = false;
    }
}
public void keyReleased(KeyEvent e) {
    int key = e.getKeyCode();
    if (key == KeyEvent.VK_LEFT) {
            dx = 0;
    }
    if (key == KeyEvent.VK_RIGHT) {
            dx = 0;
    }
    if (key == KeyEvent.VK_UP) {
            dy = 5;
    }
    if (key == KeyEvent.VK_DOWN) {
            standing = true;
    }
}
@Override
public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub
}
}

Основной файл

import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import acm.graphics.*;
import acm.program.*;
import objects.Mario;
public class Application extends GraphicsProgram implements ActionListener {
private static final long serialVersionUID = 1L;
public static final int WINDOW_WiDTH = 800;
public static final int WINDOW_HEIGHT = 600;
public static final int REFRESH = 60;
public int dx;
public int dy;
public void run () {
    setSize(WINDOW_WiDTH, WINDOW_HEIGHT);
    addKeyListeners();
    while (true) {
        Mario mario = new Mario();
        add(mario);
        mario.setLocation(mario.getLocation().getX() + dx, mario.getLocation().getY() + dy);
        pause(REFRESH);
    }
}
}

Любые рекомендации очень претствуются, заранее спасибо

READ ALSO
ViewPager на весь экран

ViewPager на весь экран

У меня есть таблица маленьких картинок (100dp) как в галереиТак вот как при нажатии на картинку выводилася ViewPager на весь экран с изоброжениями...

229
Разница между LayoutInflater.from и getLayoutInflater

Разница между LayoutInflater.from и getLayoutInflater

У нас есть activity я могу сделать так

225
Логика работы Фрагментов в Фрагменте

Логика работы Фрагментов в Фрагменте

Есть у меня фрагент, у него есть контроллер и адаптерХочу сделать диалоговое окно тоже через фрашмент, у него не будет не контроллера,ни модели,так...

220
Отображение данных с помощью SwingWorker

Отображение данных с помощью SwingWorker

столкнулся с одной вещьюУ меня идут данные с телефона на компьютер и они отображаются в окне JFrame

230