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

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);

}

}

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

  1. win7 开始 计算机箭头,win7系统开机黑屏屏幕上一个箭头的解决办法

    大伙儿有木有碰到过那样的状况:win7系统软件启动后,沒有登陆到一切正常的页面,只是死机了,随后全部显示屏只能1个鼠标箭头.电脑上新手们毫无疑问会感觉无计可施,没事儿,雨林木风小编又来协助大伙儿解决困 ...

  2. matlab 点云法向量计算和用箭头显示

    matlab 点云法向量计算和用箭头显示 点云法向量估计的方法有很多,应用最广泛和普遍的是,基于平面拟合的法向量计算,也就是基于PCA的法向量计算.当计算某个点的法向量时,首先,找到最近的K个点,然后 ...

  3. R语言ggplot2可视化在图形中添加箭头:直线箭头、弧形箭头

    R语言ggplot2可视化在图形中添加箭头:直线箭头.弧形箭头 目录 R语言ggplot2可视化在图形中添加箭头:直线箭头.弧形箭头

  4. matlab的实用与仿真,MATLAB建模与仿真实用教程

    前言 第1章MATLAB建模基础 1.1 MATLAB简介 1.1.1 MATLAB的安装 1.1.2 MATLAB通用命令 1.1.3 MATLAB应用窗口简介 1.2 MATLAB数学建模概述 1 ...

  5. matlabpython建模_一直在用Matlab建模,现在Python很火,用学么?

    原标题:一直在用Matlab建模,现在Python很火,用学么? 有朋友问,自己是非IT技术岗,仅仅是做一些建模工作,现在在工作中一直使用Matlab,对它比较熟悉,各种函数都掌握,而前些年一直在用C ...

  6. matlab电压稳定极限,电力系统电压稳定性的Matlab建模分析

    Matlab软件作为一个编程效率高.程序设计灵活.图形功能强的工程实用的分析软件,在电力系统的仿真分析及相关计算中得以广泛应用,特别是其中的Simulink工具箱可以实现电力系统的模型建立及动态仿真[ ...

  7. bms用matlab吗,一种BMS的MATLAB建模集成方法与流程

    技术特征: 1.一种BMS的MATLAB建模集成方法,其特征在于,包括以下步骤: S01:将BMS分为输入模块.输出模块及若干个中间模块,并定义各模块的名称: S02:定义各模块的输入端口和输出端口的 ...

  8. matlab电机建模,Matlab系列之无刷电机matlab建模.ppt

    永磁无刷电机(BLDC)的数学模型 由于定子三相绕组为星形连接,且无中线,则有: 无刷电机本体模块 无刷直流电机定子电压平衡方程 无刷电机本体模块 无刷电机本体模块 无刷电机本体模块 无刷电机本体模块 ...

  9. 程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(1)调制与编码_程序阅读

    程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(1)调制与编码_程序阅读 在粗浅地掌握了LTE知识后,从今天开始对<全面详解LTE:MATLAB建模仿真与实现>一书的学习. ...

最新文章

  1. mac 部署python环境
  2. javascript中最最最常用的方法封装
  3. 万字长文 | 如何做好TO B产品?
  4. python中自定义变量名标识符_name是python的标识符吗
  5. 遇到npm install的错误,多比较比较npm的版本
  6. matlab求解集合覆盖问题,Set Cover Problem (集合覆盖问题)
  7. K8S 使用 SideCar 模式部署 Filebeat 收集容器日志
  8. 【收藏】超全整理知识图谱相关学习资料,提供系统化的知识图谱学习路径
  9. JWT(JSON Web Token) 多网站的单点登录,放弃session 转载https://www.cnblogs.com/lexiaofei/p/7409846.html...
  10. Mac搜索技巧|高级设置搜索条件/属性/类型
  11. 大二学科不挂科 速冲方法推荐(离散+概率+数电+大物)
  12. java毕业设计商品货物信息管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  13. 安装MySql5.7的详细步骤
  14. 【强化学习】动态规划
  15. 000webhost – 1500M支持PHP可绑米免费虚拟主机
  16. 资产负债及银行资产负债业务
  17. C. Equalize
  18. 为什么用企业微信做运营
  19. 世界顶级黑客Kevin D.Mitnick教你如何在数字世界中真正隐形
  20. 计算机小学生感兴趣的知识,计算机是 什 么-给小学生讲计算机知识.ppt

热门文章

  1. 利用Android Studio实现的简单房贷计算器
  2. 跟着团子学SAP SD-RRB(按资源开票)流程演示及核心配置(DIP参数文件) DP80/DP81/DP90/DP91
  3. 认识计算机硬件.ppt,认识计算机硬件资料课件.ppt
  4. 编译 文件“libboost_log-vc120-mt-sgd-1_59.lib”
  5. 饥荒联机版与服务器中断,饥荒联机版主机与主机断开 | 手游网游页游攻略大全...
  6. R语言--map与reduce
  7. win10系统休眠文件删除
  8. PC端google chrome真正实现地理位置模拟,HTML5 - 使用地理定位
  9. 程序员出售上亿条个人信息被刑拘
  10. 运动轨迹-GPS数据、经纬度转换