Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Мобильная разработка (Android)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2013, 04:02   #1
Xoxoxl
Новичок
Джуниор
 
Регистрация: 11.04.2013
Сообщений: 1
По умолчанию Нужно простенькое меню состоящее из картинок

Всем здравствуете, не могу сделать для неё простенькое меню состоящее из картинок, может кто помочь,пожалуйста.
Работаю в среде eclipse.
Если кто поможет , пришлите готовый проект на почту sergey.aleksandrov.91@inbox.ru
Имеются классы Main,Road,Cars,Cars2.
В корневой папке res нужны картинки с название Road.jpg, Cars.png,Cars2.png
Класс Main:
Код:
package JAVA;
import javax.swing.JFrame;
public class Main {
public static void main(String[] args) {
JFrame f = new JFrame ("Java F1");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(1200, 700);
f.add(new Road());
f.setVisible(true);
}
}
Класс Road :
Код:
package JAVA;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.Timer;
public class Road extends JPanel  implements ActionListener, Runnable  {
Timer  mainTimer = new Timer (20,this);
Image img = new ImageIcon ("res/Road.jpg").getImage();
Cars p = new Cars ();
Thread enemiesFactory =new Thread (this);
List<Cars2> enemies = new  ArrayList<Cars2>();
public Road() {
mainTimer.start();
enemiesFactory.start();
addKeyListener(new  MyKeyAdapter ());
setFocusable (true); 
}
private class MyKeyAdapter extends KeyAdapter {
public void keyPressed (KeyEvent e){
p.keyPressed(e);
}
public void keyReleased (KeyEvent e){
p.keyReleased (e);
}
}
public void paint(Graphics g) {
g = (Graphics2D) g;
g.drawImage(img, p.layer1 , 0, null);
g.drawImage(img, p.layer2 , 0, null);
g.drawImage(p.img, p.x, p.y, null );
double v = (200/Cars.MAX_V) * p.v;
g.setColor(Color.WHITE);
Font font = new Font("Arial", Font.ITALIC, 20);
g.setFont(font);
g.drawString("Скорость :" + v + "км/ч", 100, 30);
Iterator<Cars2> i = enemies.iterator();
while (i.hasNext()){
Cars2 e = i.next();
if (e.x >= 2400 || e.x <= -2400){
i.remove();
}else{
e.move();
g.drawImage(e.img, e.x, e.y, null);
}
}
}
public void actionPerformed (ActionEvent e){
p.move();
repaint ();
testCollisionWithEnemies();
}
private void testCollisionWithEnemies() {
Iterator<Cars2> i = enemies.iterator();
while (i.hasNext()){
Cars2 e = i.next();
if (p.getRect().intersects (e.getRect())){
JOptionPane.showMessageDialog(null, "УПС!!!" );
System.exit(1);
}
}
}
@Override
public void run() {
while (true) {
Random rand = new Random();
try {
Thread.sleep(rand.nextInt(2000));
enemies.add(new Cars2(1200, rand.nextInt(600),rand.nextInt(60),this));
}catch (InterruptedException e){
e.printStackTrace();
}
}
}
}
Класс Cars:
Код:
package JAVA;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
import javax.swing.ImageIcon;
public class Cars {
public static final int MAX_V = 100;
public static final int MAX_TOP = 150;
public static final int MAX_BOTTON = 400;
Image img_c = new ImageIcon("res/Cars.png").getImage();
Image img_l = new ImageIcon("res/Carslevo.png").getImage();
Image img_r = new ImageIcon("res/Carspravo.png").getImage();
Image img =  img_c;
public Rectangle getRect() {
return new Rectangle(x,y,253,67);
}
int v  =  0;
int dv =  0; 
int s  =  0;
int x = 30;
int y = 100;
int dy = 0;
int layer1 = 0;
int layer2 = 1100;
public void move (){
s += v;
v += dv;
if (v <= 0) v = 0;
if (v >= MAX_V) v = MAX_V;
y -= dy;
if (y <= MAX_TOP)y =MAX_TOP;
if (y >= MAX_BOTTON)y =MAX_BOTTON;
if (layer2 - v <=0)
{
layer1 = 0;
layer2 = 1140;
}else {
layer1 -= v;
layer2 -= v;
}
}
public void keyPressed (KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_RIGHT) {
dv = 1; 
}
if (key == KeyEvent.VK_LEFT) {
dv = -1; 
}
if (key == KeyEvent.VK_UP) {
dy = 10; 
img = img_l;
}
if (key == KeyEvent.VK_DOWN) {
dy = -10; 
img = img_r;
}
}
public void keyReleased (KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_RIGHT || key == KeyEvent.VK_LEFT) {
dy = 0; 
}
if (key == KeyEvent.VK_UP || key == KeyEvent.VK_DOWN) {
dy = 0; 
img = img_c;
}
}
}
Класс Cars2:
Код:
package JAVA;
import java.awt.Image;
import java.awt.Rectangle;
import javax.swing.ImageIcon;
public class Cars2 {
int x;
int y;
int v;
Image img = new ImageIcon ("res/cars2.png").getImage();
Road road;
public Rectangle getRect() {
return new Rectangle(x,y,549,158);
}
public Cars2 (int x, int y, int v, Road road){
this.x = x;
this.y = y;
this.v = v;
this.road = road;  
}
public void move(){
x = x - road.p.v + v;
}
}
Код нужно оформлять по правилам тегом [CODE]
Модератор.

Последний раз редактировалось Serge_Bliznykov; 11.04.2013 в 09:24.
Xoxoxl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно подправить css, для вывода картинок Jarerd HTML и CSS 1 19.08.2012 21:49
Нужно несколько картинок Niro Свободное общение 0 02.02.2012 03:08
нужно написать программу по сохранению картинок Huiop Фриланс 7 01.11.2011 15:17
простенькое создание модуля.. hen Паскаль, Turbo Pascal, PascalABC.NET 8 17.03.2011 17:10
простенькое по visual C++ lucky Помощь студентам 1 24.10.2009 14:45