尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
线程游戏1
在完成这个游戏之前我们先了解一下线程什么是线程他和进程之间有什么区别所谓进程是当你打开一个软件时操作系统会分配的一个独立处理车间拥有自己的内存资源线程就是进程里面独立执行的一条任务流水线多条线程可以同时进行接下来我们开始设计这个程序step 1先定义GameUI类创建一个窗体用来显示整个游戏页面public class GameUI { public void initUI(){ JFrame jf new JFrame(游戏界面); jf.setSize(800,800); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(3); jf.getContentPane().setBackground(Color.WHITE); //]给窗体对象的内容层set颜色 jf.setVisible(true); } public static void main(String[] args) { GameUI ui new GameUI(); ui.initUI(); } }step 2我们要实现点击鼠标在鼠标的位置发射子弹 所以需要添加鼠标监听器public class GameListener extends MouseAdapter { //用extends MouseAdapter 替换 implements MouseListener 可以不用重写所有的方法只用写需要的方法 public Graphics g; public void mouseClicked(MouseEvent e) { }//方法重写 }在GameUI类中给jf窗体对象添加鼠标监听器GameListener listener new GameListener(g); jf.addMouseListener(listener);继续在GameUI类新建画笔对象然后再实现接口类中写一个构造方法Graphics g jf.getGraphics();public GameListener(Graphics g){ this.g g; }step 3重写mouseClicked方法体并创建GameThread类实现线程的构建public void mouseClicked(MouseEvent e) { System.out.println(点击); int x e.getX();//监听到鼠标的x值 int y e.getY();//监听到鼠标的y值 }public class GameThread extends Thread{ public Graphics g; public int x,y; }在GameListener类中new一个GameThread类的对象通过对象调用线程方法GameThread gt new GameThread(g,x,y); gt.start();并注意 这里的GameThread构造方法需要自己写public GameThread(Graphics g,int x,int y){ this.g g; this.x x; this.y y; }step 4最后一步就是写一个绘制不停运动的子弹的方法了但注意这里的方法需要重写到Thread类里面的run方法里public void run(){ while(true){ try { Thread.sleep(1); } catch (InterruptedException ex) { throw new RuntimeException(ex); } g.setColor(Color.WHITE); g.fillOval(x, y--, 30, 30); g.setColor(Color.RED); g.fillOval(x, y, 30, 30); }1)因为绘制一个不停运动的子弹 所以需要用到while(true)死循环2)运用Thread的sleep方法可以让程序睡眠一会再执行执行时间在()里面单位是毫秒并且要处理状态异常需要用try catch包装3)最后是我们的主要方法体不停的绘制一个白色圆形和黑色圆形让白色圆形覆盖掉先前生成的黑色圆形这样一个可以用鼠标操控发射子弹的建议模型就写好了
RELATED

相关推荐

迈德威视工业相机与OpenCV 4.x开发环境搭建及图像采集实战指南

迈德威视工业相机与OpenCV 4.x开发环境搭建及图像采集实战指南

1. 项目概述:为什么选择这套技术栈? 最近在做一个机器视觉的工位检测项目,硬件选型时用到了迈德威视的工业相机。说实话,第一次接触这个品牌的相机时,有点懵。它的官方SDK文档和常见的海康、大华不太一样,…

📅 2026/9/14 7:01:29
北京华恒智信破解餐饮公司服务质量参差不齐难题

北京华恒智信破解餐饮公司服务质量参差不齐难题

【客户行业】餐饮行业 【问题类型】岗位规划与职业化标准 【客户背景】 某餐饮集团起源于一家乡镇小餐馆,凭借良好口碑积累与业务持续增长,逐步发展壮大为国内具有较高知名度的连锁餐饮品牌。面对日益激烈的市场角逐与消费者需求不断迭代的外部环境&a…

📅 2026/9/16 20:13:47
跨境电商工具怎么选?从选品、图片翻译到上架运营的一套效率工具清单

跨境电商工具怎么选?从选品、图片翻译到上架运营的一套效率工具清单

很多新手卖家刚开始做跨境电商时,会把重点放在“开哪个平台”“卖什么产品”“怎么发货”上。等真正开始上架商品,才发现每天卡住自己的不是某一个单点问题,而是一整套流程: 选品、找货源、整理商品资料、处理主图、翻译详情页图…

📅 2026/9/5 23:47:28
MORE NEWS

更多资讯

📰

从零训练PaddleOCR模型:数据标注、配置调优与部署全流程实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

前馈GS技术在自动驾驶地面分割中的应用与优化

1. 前馈GS技术落地背景解析最近在自动驾驶领域有个挺有意思的技术进展——前馈GS(Ground Segmentation)系统开始在实际产品中落地了。理想汽车最新发布的StreetForward系统就是个典型案例,这套方案把传统基于反馈的地面分割升级成了前馈式架构…

📰

把灵梭的 DashScope 模型配置改到 TaoToken,nl2sql 照跑 SQL 工坊 MCP

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

【信息科学与工程学】【通信工程】第二百四十篇 IPv4/IPv6 功能点、特性和算法及 IPv4→IPv6 迁移特性04

编号 分类 功能/特性 支撑结构/层级 现象 数学分析与参数设计 特征分析 1664 金融/电力/医疗/政府双活AS路径 医疗PACS双活BGP AS路径与DICOM传输优化(续) 医疗双活、PACS、DICOM、BGP AS路径、Anycast、QoS、WAN优化 上一编号描述了基本架构,本编号深入DICOM传输…

📰

C盘爆满怎么办?六大实用清理方法彻底释放系统盘空间

C盘变红这件事,几乎每个Windows用户都会遇到。明明没装什么大软件,空间却莫名其妙被吃光,系统越用越卡,更新也装不上。网上搜“怎么清理C盘”,出来的答案要么太笼统,要么就是一键清理工具附带一堆广告。这篇…

📰

锁屏后程序继续运行?详解系统睡眠与电源设置

先直接说结论:电脑锁屏后程序能不能继续跑,关键在于系统的“睡眠”而不是“锁屏”本身。很多人把锁屏当成程序中断的原因,其实真正让你下载任务停摆、渲染进度清零、远程连接断开的,大多是电脑自动睡过去了,而不是锁屏…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬