Java超级玛丽小游戏制作过程讲解 第五天 创建并完成常量类04
//加载障碍物
try {obstacle.add(ImageIO.read(new File(path+"brick.png")));obstacle.add(ImageIO.read(new File(path+"soil_up.png")));obstacle.add(ImageIO.read(new File(path+"soil_base.png")));
} catch (IOException e) {e.printStackTrace();
}//加载水管
for(int i =1;i<=4;i++){try {obstacle.add(ImageIO.read(new File(path+"pipe"+i+".png")));} catch (IOException e) {e.printStackTrace();}}//加载不可破坏的砖块和旗子try {obstacle.add(ImageIO.read(new File(path+"brick.png")));obstacle.add(ImageIO.read(new File(path+"flag.png")));
} catch (IOException e) {e.printStackTrace();
}//加载蘑菇敌人
for(int i=1;i<=3;i++){try {mogu.add(ImageIO.read(new File(path+"fungus"+i+".png")));} catch (IOException e) {e.printStackTrace();}
}//加载食人花敌人for(int i =1;i<=2;i++){try {flower.add(ImageIO.read(new File(path+"flower1."+i+".png")));} catch (IOException e) {e.printStackTrace();}}
今天继续完成常量的创建。
这段代码是用于加载游戏中的图片资源。代码使用了Java的ImageIO类来读取图片文件,并将其添加到相应的集合中。
首先,代码创建了一个`obstacle`列表,用于存储障碍物的图片资源。然后,使用try-catch语句块来捕获可能发生的IO异常。
在try块中,通过调用`ImageIO.read()`方法来读取指定路径下的图片文件。例如,`ImageIO.read(new File(path+"brick.png"))`会读取名为"brick.png"的图片文件。读取的图片会被添加到`obstacle`列表中。
如果读取图片文件时发生了IO异常(例如找不到文件、读取失败等),则会跳到catch块。在这里,异常对象`e`会被传递给`e.printStackTrace()`方法,以打印出堆栈跟踪信息,帮助开发人员定位问题。
类似的逻辑也适用于加载其他类型的图片资源,如水管、不可破坏的砖块、旗子、蘑菇敌人和食人花敌人。通过循环遍历,每个不同的图片都会被读取并添加到相应的集合中。
总之,该代码段的目的是加载游戏所需的图片资源,并且在加载过程中处理可能出现的IO异常。
知识科普:
在不同的集成开发环境(IDE)或文本编辑器中,"try-catch"代码块的快捷键可能会有所不同。以下是一些常见的IDE和编辑器中使用的快捷键:
1. Eclipse:
- Windows / Linux:Ctrl + Shift + T
- macOS:Command + Shift + T
2. IntelliJ IDEA:
- Windows / Linux:Ctrl + Alt + T
- macOS:Command + Option + T
3. Visual Studio Code:
- Windows / Linux:Ctrl + Shift + T
- macOS:Command + Shift + T
在不同的集成开发环境(IDE)或文本编辑器中,"try-catch"代码块的快捷键可能会有所不同。以下是一些常见的IDE和编辑器中使用的快捷键:
1. Eclipse:
- Windows / Linux:Ctrl + Shift + T
- macOS:Command + Shift + T
2. IntelliJ IDEA:
- Windows / Linux:Ctrl + Alt + T
- macOS:Command + Option + T
3. Visual Studio Code:
- Windows / Linux:Ctrl + Shift + T
- macOS:Command + Shift + T
请注意,这些快捷键可能因为个人设置或使用的键盘布局而有所变化。如果上述快捷键在你的环境中无效,你可以查阅所使用的IDE或编辑器的文档,寻找相关的快捷键设置或功能菜单选项。
声明:小游戏源码来自b站视频(up:编程学习会员Q),本文仅根据源码做知识性补充与注解。如存在不当使用的情况,请随时联系删除。
http://【【Java项目】不到两小时用Java做出超级玛丽小游戏_手把手教你开发游戏_超详细保姆级教程_Java编程_Java游戏开发-Java基础-Java练手项目】https://www.bilibili.com/video/BV1DZ4y1Y73M?p=7&vd_source=70e680aaeedc45cb797fd52fdd25367c
相关文章:
Java超级玛丽小游戏制作过程讲解 第五天 创建并完成常量类04
//加载障碍物 try {obstacle.add(ImageIO.read(new File(path"brick.png")));obstacle.add(ImageIO.read(new File(path"soil_up.png")));obstacle.add(ImageIO.read(new File(path"soil_base.png"))); } catch (IOException e) {e.printStackTr…...
设置浏览器兼容
浏览器兼容 css兼容 cursor定义手型 Firefox不支持hand,IE支持pointer 解决方法:统一使用pointercss透明 IE:filter:progid:DXImageTransform.Microsoft.Alpha(style0,opacity60) Firefox:opacity:0.6 解决…...
Java # List
ArrayList<>() import java.util.ArrayList; // 引入 ArrayList 类ArrayList<E> objectName new ArrayList<>(); // 初始化 常用方法 方法描述add()将元素插入到指定位置的 arraylist 中addAll()添加集合中的所有元素到 arraylist 中clear()删除 arrayl…...
git原理与使用
目录 引入基本操作分支管理远程操作标签管理 引入 假设你的老板要你设计一个文档,当你设计好了,拿给他看时,他并不是很满意,就要你拿回去修改,你修改完后,再给他看时,他还是不满意,…...
【C语言题解】将一句话的单词进行倒置,标点不倒置。
题目描述:将一句话的单词进行倒置,标点不倒置。比如 “I like beijing.”,经过处理后变为:“beijing. like I”。 文章目录 原题目题目描述:输入描述:输出描述:题目链接: 整体思路分…...
Postman 的简单使用
什么是Postman 在程序开发中用于调试网络程序或者跟踪网页请求。可以对网页进行简单的基本信息调试。Postman最早是作用chrome浏览器插件存在的,但是2018年初Chrome停止对Chrome应用程序的支持。所以现在Postman提供了独立的安装包,不再依赖于Chrome浏览…...
在CentOS7安装部署GitLab服务
CentOS 7 安装 Gitlab 官方安装教程:https://about.gitlab.com/install/ 参考安装教程:https://developer.aliyun.com/article/74395 安装配置 Step1:配置yum源 vim /etc/yum.repos.d/gitlab-ce.repo存入以下内容: [gitlab-c…...
订单系统就该这么设计,稳的一批~
订单功能作为电商系统的核心功能,由于它同时涉及到前台商城和后台管理系统,它的设计可谓是非常重要的。就算不是电商系统中,只要是涉及到需要交易的项目,订单功能都具有很好的参考价值,说它是通用业务功能也不为过。今…...
Agents改变游戏规则,亚马逊云科技生成式AI让基础模型加速工作流
最近,Stability AI正式发布了下一代文生图模型——Stable Diffusion XL 1.0这次的1.0版本是Stability AI的旗舰版生图模型,也是最先进的开源生图模型。 在目前的开放式图像模型中,SDXL 1.0是参数数量最多的。官方表示,这次采用的…...
详细教程:如何搭建废品回收小程序
废品回收是一项环保举措,通过回收和再利用废弃物品,可以减少资源浪费和环境污染。近年来,随着智能手机的普及,小程序成为了推广和运营的重要工具。本文将详细介绍如何搭建一个废品回收小程序。 1. 进入乔拓云网后台 首先…...
什么是双亲委派机制?
什么是双亲委派机制? Parent Delegation Model ,直译过来可能叫做父级委托模型更容易理解 类的加载过程 Java 编译器将 Java源文件编译成.class 文件再由 JVM 加载 .class 文件到内存中JVM 装载完成后得到一个 Class 字节码对象拿到字节码对象之后 &a…...
Mageia 9 RC1 正式发布,Mandriva Linux 发行版的社区分支
导读Mageia 9 首个 RC 已发布。公告写道,自 2023 年 5 月发布 beta 2 以来,Mageia 团队一直致力于解决许多顽固问题并提供安全修复和新特性。 新版本的控制中心添加了用于删除旧内核的新功能,该功能在 Mageia 9 中默认自动启用,用…...
ChatGPT: 人机交互的未来
ChatGPT: 人机交互的未来 ChatGPT背景ChatGPT的特点ChatGPT的应用场景结论 ChatGPT ChatGPT是一种基于大数据和机器学习的人工智能聊天机器人模型。它由国内团队发明、开发,并被命名为Mental AI。ChatGPT的目标是通过模拟自然对话的方式,提供高效、智能…...
Linux 常用操作命令
Linux简介及Ubuntu安装 Linux,免费开源,多用户多任务系统。基于Linux有多个版本的衍生。RedHat、Ubuntu、Debian 安装VMware或VirtualBox虚拟机。具体安装步骤,找百度。 再安装Ubuntu。具体安装步骤,找百度。 常用指令 ls …...
24届近5年重庆邮电大学自动化考研院校分析
今天给大家带来的是重庆邮电大学控制考研分析 满满干货~还不快快点赞收藏 一、重庆邮电大学 学校简介 重庆邮电大学简称"重邮",坐落于直辖市-重庆市,入选国家"中西部高校基础能力建设工程”、国家“卓越工程师教育培养计划…...
如何对oracle和mysql进行 分区分表
前提:使用自带的分区和分表机制进行操作 oracle,mysql分区分表 分区 分区是一种将一个大的表或索引分割成多个小的部分的技术,每个部分称为一个分区。分区可以提高数据的管理和查询效率,因为可以根据不同的条件对不同的分区进行操作&#x…...
Windows下安装Sqoop
Windows下安装Sqoop 一、Sqoop简介二、Sqoop安装2.1、Sqoop官网下载2.2、Sqoop网盘下载2.3、Sqoop安装(以version:1.4.7为例)2.3.1、解压安装包到 D:\bigdata\sqoop\1.4.7 目录2.3.2、新增环境变量 SQOOP_HOME2.3.3、环境变量 Path 添加 %SQO…...
Chrome 谷歌浏览器,自动填充密码,提示需要输入电脑开机密码问题
我们在使用浏览器访问各个网站时,经常会保存密码。在下一次访问时,直接使用保存的密码填充,简单方便。 但是突然有一天(怀疑是谷歌浏览器更新导致的),每次使用密码填充时,都有如下拦截 拦截提…...
Java技术整理(3)—— 多线程并发篇
1、Java 线程实现/创建方式 (1)继承Thread类 Thread类本质上是实现了Runnable接口的实例,代表一个线程的实例,通过start()启动,自动执行run()方法。 (2)实现Runnable接口 Runnable是一个没有…...
2023热门跨境电商平台哪个入驻条件适合新手?
一、 Shopee 1.平台简介:东南亚最大跨境电商平台,覆盖新加坡、马来西亚、菲律宾、泰国、越南、巴西等十余个市场。 2.平台优势:流量大、物流快、东南亚市场前景好 3.入驻要求:企业或个体营业执照其他电商平台经验 4.平台费用&…...
B站视频下载神器:3分钟学会用BilibiliDown轻松保存喜欢的视频
B站视频下载神器:3分钟学会用BilibiliDown轻松保存喜欢的视频 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mi…...
2026大厂校招笔试指南(高频考点+真实趋势)
关注 霍格沃兹测试学院公众号,回复「资料」,领取人工智能测试开发技术合集很多人现在卡在同一个问题上:题也刷了,时间也花了,但一到笔试还是过不了。你可能也有这种感觉:简单题会做,中等题卡住&…...
3月31日(AI审批+技术岗位情况+知识获取方法)
如何用 AI 分类器替代人工审批 Claude 每执行一个命令、每改一个文件,都要你点一次“同意”。用户 93% 的操作都会批准。也就是说,这个“安全审批”环节,绝大多数时候只是一个条件反射。 告警疲劳:100 条告警里只有 7 条需要关注…...
浏览器插件:让Markdown预览效率提升300%的秘密武器
浏览器插件:让Markdown预览效率提升300%的秘密武器 【免费下载链接】markdown-viewer Markdown Viewer / Browser Extension 项目地址: https://gitcode.com/gh_mirrors/ma/markdown-viewer 作为开发者、学生或技术写作者,你是否经常遇到这些困扰…...
如何让Windows高效识别苹果设备?极简驱动安装工具3分钟解决连接难题
如何让Windows高效识别苹果设备?极简驱动安装工具3分钟解决连接难题 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitco…...
ER-Save-Editor:开源工具实现艾尔登法环跨平台存档修改全指南
ER-Save-Editor:开源工具实现艾尔登法环跨平台存档修改全指南 【免费下载链接】ER-Save-Editor Elden Ring Save Editor. Compatible with PC and Playstation saves. 项目地址: https://gitcode.com/GitHub_Trending/er/ER-Save-Editor ER-Save-Editor作为一…...
五款颠覆传统的嵌入式电路仿真工具:从移动端到PC端的创新体验
1. 移动端电路仿真工具的崛起与创新 十年前我第一次接触电路仿真时,还需要背着厚重的笔记本电脑到处跑。现在掏出手机就能完成80%的基础仿真需求,这种变化简直像从DOS时代直接跳到了智能手机时代。移动端仿真工具最大的优势就是随时随地验证灵感——等公…...
YOLOv8鹰眼检测实战:无人机巡检场景下的目标识别应用
YOLOv8鹰眼检测实战:无人机巡检场景下的目标识别应用 1. 无人机巡检的视觉挑战与解决方案 在电力线路巡查、交通监控、农业勘测等场景中,无人机正成为不可或缺的空中巡检工具。然而传统人工分析航拍图像的方式存在效率低下、漏检率高、响应延迟等问题。…...
NSSCTF做题记录九 | [HUBUCTF 2022 新生赛]checkin
[HUBUCTF 2022 新生赛]checkin <?php show_source(__FILE__); //高亮显示当前代码 $username "this_is_secret"; //给$username赋值 $password "this_is_not_known_to_you"; //给$password赋值 include("flag.php");//here I chan…...
图解Linux内核DRM框架:从用户态ioctl到plane更新的完整数据流(以4.14版本为例)
图解Linux内核DRM框架:从用户态ioctl到plane更新的完整数据流(以4.14版本为例) 在图形显示技术领域,Linux内核的DRM(Direct Rendering Manager)框架扮演着核心角色。本文将聚焦于DRM_IOCTL_MODE_SETPLANE这…...
