700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > matlab建模怎么移动箭头 如何使用箭头键在屏幕上移动图形?

matlab建模怎么移动箭头 如何使用箭头键在屏幕上移动图形?

时间:2019-09-22 04:45:07

相关推荐

matlab建模怎么移动箭头 如何使用箭头键在屏幕上移动图形?

我正在尝试创建一个简单游戏的开始。我要做的第一件事是将图形导入到我的代码中,然后在屏幕上移动它。我能够在屏幕上画一个球并四处移动,但是当我从文件导入图形时,无法四处移动。我想念什么或做错什么?

import javax.swing.*;

import java.awt.Graphics;

import java.awt.*;

import java.awt.event.*;

import javax.swing.ImageIcon;

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyListener;

import javax.swing.JPanel;

import javax.swing.Timer;

public class Game extends JPanel implements ActionListener, KeyListener {

Timer t = new Timer(5, this);

double x = 0, y = 0, velX = 0, velY = 0;

private ImageIcon image;

public Game(){

setBackground(Color.WHITE);

t.start();

addKeyListener(this);

this.setFocusable(true);

setFocusTraversalKeysEnabled(false);

image = new ImageIcon ("ship.gif");

}

public void paintComponent(Graphics g){

super.paintComponent(g);

ImageIcon i = new ImageIcon("C:\\Users\\Bryan\\Pictures\\ship.gif");

i.paintIcon(this, g, 0, 0);

}

public void actionPerformed(ActionEvent e){

repaint();

x += velX;

y += velY;

if(x<0){

velX = 0;

x = 0;

}

if(x>750){

velX = 0;

x = 750;

}

if(y<0);{

velY = 0;

y = 0;

}

if(y>550){

velY = 0;

y = 550;

}

}

public void up(){

velY = -1.5;

velX = 0;

}

public void down(){

velY = 1.5;

velX = 0;

}

public void left(){

velX = -1.5;

velY = 0;

}

public void right(){

velX = 1.5;

velY = 0;

}

public void keyPressed(KeyEvent e){

int code = e.getKeyCode();

if (code == KeyEvent.VK_UP){

up();

}

if (code == KeyEvent.VK_DOWN){

down();

}

if (code == KeyEvent.VK_LEFT){

left();

}

if (code == KeyEvent.VK_RIGHT){

right();

}

}

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){

// velX = 0;

// velY = 0;

int code = e.getKeyCode();

if (code == KeyEvent.VK_UP){

velY = 0;

}

if (code == KeyEvent.VK_DOWN){

velY = 0;

}

if (code == KeyEvent.VK_LEFT){

velX = 0;

}

if (code == KeyEvent.VK_RIGHT){

velX = 0;

}

}

}

我的司机是在另一个班级,如下所示:

import java.awt.Color;

import javax.swing.JFrame;

public class GameDriver {

public static void main(String[] args) {

JFrame f = new JFrame();

Game g = new Game();

f.add(g);

f.setVisible(true);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setSize(800,600);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。