Java超级玛丽小游戏制作过程讲解 第五天 创建并完成常量类04

java 复制代码
//加载障碍物
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

  1. IntelliJ IDEA:
  • Windows / Linux:Ctrl + Alt + T

  • macOS:Command + Option + T

  1. 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

相关推荐
shmily麻瓜小菜鸡17 分钟前
在 Angular 中, `if...else if...else`
前端·javascript·angular.js
爱尚你199322 分钟前
Java 泛型与类型擦除:为什么解析对象时能保留泛型信息?
java
拓端研究室TRL26 分钟前
Python与MySQL网站排名数据分析及多层感知机MLP、机器学习优化策略和地理可视化应用|附AI智能体数据代码
人工智能·python·mysql·机器学习·数据分析
小哈里32 分钟前
【pypi镜像源】使用devpi实现python镜像源代理(缓存加速,私有仓库,版本控制)
开发语言·python·缓存·镜像源·pypi
全栈派森40 分钟前
云存储最佳实践
后端·python·程序人生·flask
ayiya_Oese44 分钟前
[模型部署] 1. 模型导出
图像处理·python·深度学习·神经网络·视觉检测
电商数据girl44 分钟前
酒店旅游类数据采集API接口之携程数据获取地方美食品列表 获取地方美餐馆列表 景点评论
java·大数据·开发语言·python·json·旅游
天天打码1 小时前
python版本管理工具-pyenv轻松切换多个Python版本
开发语言·python
CircleMouse1 小时前
基于 RedisTemplate 的分页缓存设计
java·开发语言·后端·spring·缓存
ktkiko111 小时前
顶层架构 - 消息集群推送方案
java·开发语言·架构