当前位置: 首页 > news >正文

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

public class StaticValue {//背景public static BufferedImage bg=null;public static BufferedImage bg2=null;//马里奥向左跳跃public static BufferedImage jump_L=null;//马里奥向右跳跃public static BufferedImage jump_R=null;//马里奥向左站立public static BufferedImage stand_L=null;//马里奥向右站立public static BufferedImage stand_R=null;//城堡public static BufferedImage tower=null;//旗杆public static BufferedImage gan=null;//障碍物,因为数量有很多,所以定义一个列表public static List<BufferedImage> obstacle=newArrayList<>();//马里奥向左跑(同样是有两张图片)public static List<BufferedImage> run_L=new ArrayList<>();//马里奥向右跑public static List<BufferedImage> run_R=new ArrayList<>();//蘑菇敌人(两张走路图像,一张死亡图像)public static List<BufferedImage> mogu =new ArrayList<>();//食人花敌人public static List<BufferedImage> flower =new ArrayList<>();//路径的前缀,方便后续调用public static String path = System.getProperty("user.dir")+"/src/images/";public static void init(){}}

今天我们继续完成常量类的创建!

定义了一个名为`obstacle`的静态变量,它的类型是`List<BufferedImage>`,即一个存储`BufferedImage`对象的列表。

//障碍物,因为数量有很多,所以定义一个列表
public static List<BufferedImage> obstacle=newArrayList<>();

- `obstacle`:这是一个列表(List)类型的变量,用于存储多个障碍物的图像。列表是一种数据结构,可以容纳多个元素,并且具有动态扩展的能力。在这里,`obstacle`列表用于存储多个`BufferedImage`对象,每个对象代表一个障碍物的图像。

- `BufferedImage`:`BufferedImage`是Java中表示图像的类,在这里用于存储障碍物的图像。它提供了多种方法和属性来操作和处理图像。

- `new ArrayList<>()`:这段代码创建了一个空的`ArrayList`实例,并将其赋值给`obstacle`变量。`ArrayList`是Java集合框架中的一种实现,它实现了`List`接口,并提供了一组方法来操作列表。通过`new`关键字和构造函数,我们创建了一个新的空列表。

通过定义`obstacle`变量为`List<BufferedImage>`类型,我们可以在游戏中使用`obstacle`来存储和管理多个障碍物的图像。可以通过列表的方法来添加、删除、获取、遍历等操作,从而方便地处理障碍物相关的图像资源。

这段代码定义了一个名为`path`的静态变量,并将其初始化为包含图片资源文件夹路径的字符串。

//路径的前缀public static String path = System.getProperty("use.dir")+"/src/images/";

具体解释如下:

- `path`:这是一个字符串类型的变量,用于存储图片资源文件夹的路径。在这个例子中,`path`被定义为静态变量,意味着它可以在类的任何地方被访问和使用。

- `System.getProperty("user.dir")`:这是一个Java系统属性,用于获取当前工作目录的路径。在这里,通过调用`System.getProperty("user.dir")`,我们可以获取当前正在执行 Java 程序的工作目录路径。

- `"/src/images/"`:这是一个字符串,表示图片资源文件夹的相对路径,即`src`文件夹下的`images`子文件夹。这里使用斜杠(`/`)作为目录分隔符,在不同操作系统上都可以正确识别。

通过将`path`初始化为当前工作目录路径和图片资源文件夹相对路径的拼接结果,我们可以方便地获得完整的图片资源文件夹的路径。

这个路径可以在后续代码中使用,例如加载图像资源文件时可以直接拼接该路径和文件名,以便找到正确的图片文件并加载到程序中。这样,无论我们将程序放在哪个工作目录下,都能正确访问到图片资源文件夹。

public static void init(){}

(这是一个方法,用于初始化这些图像资源。具体的初始化逻辑需要根据实际情况来实现。)

在Java中,方法声明包括方法的返回类型和方法名。返回类型表示方法在执行完毕后将返回的数据类型。而"void"是一种特殊的返回类型,它表示该方法在执行完毕后不返回任何值。

`public void init()`是一个方法声明,其中:

- `public`是访问修饰符,表示该方法可以从程序的任何地方被访问。

- `void`是返回类型,表示该方法没有返回值。

- `init`是方法名,用于标识这个方法。

加上`void`关键字的作用是指定该方法不返回任何值,它只负责执行某些操作而不会产生结果。这种类型的方法通常被用作初始化方法,在对象创建时执行必要的初始化操作,但不需要返回任何结果。

如果方法有返回值,我们需要使用其他合适的数据类型(如整数、字符串等)来作为返回类型,并且在方法执行完毕后返回对应的值。例如,如果方法返回整数类型的结果,我们可以使用`int`作为返回类型。如果方法没有返回值,我们使用`void`来表示。

声明:小游戏源码来自b站视频(up:编程学习会员Q),本文仅根据源码做知识性补充与注解。如存在不当使用的情况,请随时联系删除。

http://【【Java项目】不到两小时用Java做出超级玛丽小游戏_手把手教你开发游戏_超详细保姆级教程_Java编程_Java游戏开发-Java基础-Java练手项目】https://www.bilibili.com/video/BV1DZ4y1Y73M?p=4&vd_source=70e680aaeedc45cb797fd52fdd25367c

相关文章:

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

public class StaticValue {//背景public static BufferedImage bgnull;public static BufferedImage bg2null;//马里奥向左跳跃public static BufferedImage jump_Lnull;//马里奥向右跳跃public static BufferedImage jump_Rnull;//马里奥向左站立public static BufferedImage…...

ARM微架构

一、流水线 二、指令流水线 指令流水线 指令流水线 指令流水线 ARM指令流水线 ARM7采用3级流水线 ARM9采用5级流水线 Cortex-A9采用8级流水线 注1&#xff1a;虽然流水线级数越来越多&#xff0c;但都是在三级流水线的基础上进行了细分 PC的作用&#xff08;取指&#xff09; …...

Stable Diffusion AI绘画学习指南【本地环境搭建win+mac】

一、硬件配配置要求 系统&#xff1a;windows 10 / Mac os 硬盘&#xff1a;C 盘预留 15GB 以上&#xff0c;其他盘 50GB 以上,Stable Ddiffusion的很多大模型都是以 GB 起步。 显卡&#xff1a;4GB 以上&#xff0c;建议 8GB, 效率高&#xff0c;能玩大尺寸的图 CPU&…...

Unity 3D ScrollRect和ScrollView回弹问题的解决

你是否是这样&#xff1f; Content高度 < 全部Cell加在一起的总高 他就认为你的全部Cell加起来就跟Content一样大&#xff0c;所以才出现了这种完全回弹 我该怎么办&#xff1f; 很简单&#xff0c;改变Content的长度跟所有Cell的和一样大 void RefreshSize(){float allD…...

python编写小程序有界面,python编写小程序的运行

大家好&#xff0c;小编为大家解答python编写小程序怎么看代码的的问题。很多人还不知道python编写小程序的运行&#xff0c;现在让我们一起来看看吧&#xff01; Python第一个简单的小游戏 temp input("请猜一猜姐姐的幸运数字是&#xff1a; ") guess int(temp) …...

【中断机制】什么是中断?使用中断的原因、注意事项

目录 一、为什么需要中断 二、什么是中断 1、中断的概念 2、中断的分类 3、中断的处理流程 三、中断处理程序要少用延时的原因 一、为什么需要中断 以网卡为例&#xff0c;CPU 如果要从网卡获取数据&#xff0c;不可能时时盯着网卡啥时候会有数据。当网卡收到数据时&…...

C++20 协程(coroutine)入门

文章目录 C20 协程&#xff08;coroutine&#xff09;入门什么是协程无栈协程和有栈协程有栈协程的例子例 1例 2 对称协程与非对称协程无栈协程的模型无栈协程的调度器朴素的单线程调度器让协程学会等待Python 中的异步函数可等待对象M:N 调度器——C# 中的异步函数 小结 C20 中…...

2023.8.6

2022河南萌新联赛第&#xff08;三&#xff09;场&#xff1a;河南大学\区间操作.cpp //题意&#xff1a;定义一个f[x]函数表示一个数分解质因数后各个质因子的幂次和&#xff0c;给定一个长度为n的数组&#xff0c; //有m个操作&#xff0c;第一种操作是输出[l, r]范围内的a…...

kubernetes网络之网络策略-----Network Policies - Default

默认情况下&#xff0c;如果名称空间中没有配置 NetworkPolicy&#xff0c;则该名称空间中&#xff0c;所有Pod的所有入方向流量和所有出方向流量都是被允许的。 那么如果我们想改变名称空间中默认的网络策略&#xff0c;又该怎么做呢&#xff1f; 默认拒绝所有的入方向流量 …...

奥威BI系统|秒分析,更适合分析大数据

根据以往的经验&#xff0c;当数据量多到一定程度就容易导致系统卡顿、崩溃。这种现象给企业级数据分析造成了极大的困扰。随着业务发展扩大和分析需求精细化&#xff0c;企业需要一套能秒分析大数据的系统。而奥威BI系统就是这样一款可以秒分析大数据的商业智能系统。 奥威BI…...

安全作业-Race竞争型漏洞、原型链污染

1.race漏洞一直卡在虚拟机安装上(待研究) 2.原型链污染 一、第一题js代码 const express require(express) var hbs require(hbs); var bodyParser require(body-parser); const md5 require(md5); var morganBody require(morgan-body); const app express(); var use…...

对微服务网关的一些总结

对微服务网关的一些总结 一. 什么是网关 网关是位于NGINX(或没有)与真实微服务间的转发服务。 用户通过HTTP接口&#xff0c;连接到NGINX&#xff0c;然后NGINX反向到M个网关。 网关根据[服务注册与发现],进行转发请求到具体的微服务上。 由于网关可编码&#…...

该选择WPF 还是 Winform?

WPF和WinForms都是.NET平台下的桌面应用程序开发框架&#xff0c;它们各有特点&#xff0c;适用于不同的场景和需求。下面是对WPF和WinForms的一些比较和优劣势&#xff1a;WPF&#xff08;Windows Presentation Foundation&#xff09;&#xff1a;WPF具有强大的图形渲染能力&…...

概念解析 | ChatGPT技术概览

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:ChatGPT技术概览 参考资料:Deng J, Lin Y. The benefits and challenges of ChatGPT: An overview[J]. Frontiers in Computing and Intelligent Systems, 2022, 2(2): 81-83. …...

用Rust实现23种设计模式之 代理模式

关注我&#xff0c;学习Rust不迷路&#xff01;&#xff01; 代理模式是一种结构型设计模式&#xff0c;它允许通过代理对象来控制对真实对象的访问。以下是代理模式的优点和使用场景&#xff1a; 优点&#xff1a; 控制访问&#xff1a;代理模式可以控制对真实对象的访问&a…...

【nlp pytorch】基于标注信息从句子中提取命名实体内容

基于标注信息从句子中提取实体内容 1 需求2 代码实现3 代码封装1 需求 给定一个句子和已经通过模型训练标注好的信息,从而提取出句子中的实体内容,如下 输入: (1)句子信息 每个糖尿病患者,无论是病情轻重,不论是注射胰岛素,还是口服降糖药,都必须合理地控制饮食。(2)…...

图为科技加入深圳市智能交通行业协会 ,打 …

图为科技加入深圳市智能交通行业协会&#xff0c;打造智能交通新生态&#xff01; 交通是国民经济发展的“大动脉”&#xff0c;交通拥堵、事故频发等问题不仅影响了人们的出行体验&#xff0c;也对经济的发展产生了负面影响。安全、高效、便捷的出行&#xff0c;一直是人们的…...

大模型排行榜及相关基础技术

大模型排行榜 测试集CEval中文多个学科测试集排名MMLU大规模多任务语言理解英文排名&#xff0c;介绍斯坦福排行榜 强人工智能AGI相关基础技术 标题简介分类稳定扩散模型The Illustrated Stable Diffusion图示化讲解Jay讲解Stable Diffusion计算机技术资料Transformer图示化讲解…...

Python入门【​try和except结构、常见异常、with上下文管理 、traceback模块和生成异常日志、自定义异常类】(十八)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…...

windows脚本获取管理员权限修改host

很多时候我们常常需要通过管理员权限执行脚本&#xff0c;脚本可能涉及到一些受保护信息的访问&#xff0c;我们写个简单的脚本来更改host文件&#xff0c;host文件就是需要管理员权限才能访问的启动脚本时先检查是否有管理员权限&#xff0c;如果没有就调用授权脚本进行管理员…...

OpenClaw 实用指南-节假日系统巡检全自动化(下)

前言 在上一篇文章中&#xff0c;我们已详细讲解了节假日系统巡检全自动化的前三个核心部分&#xff0c;分别是&#xff1a;Part1&#xff1a;AI节假日智能判断、Part2&#xff1a;目标服务器稳定连接、Part3&#xff1a;借助“小龙虾”工具批量部署软件&#xff0c;并利用部署…...

第四天(实习无忧)

##文件结束的判定&#xff0c;编译与链接##1.文件结束的判定&#xff1a;fgetc(pf)读取结束返回EOF&#xff0c;fgets(arr,100,pf)读取结束返回NULL&#xff0c;fread(arr,sizeof(int),n,pf)读取结束返回对应的n。而成功读取到文件尾结束可以用feof(pf)判断&#xff0c;若中途因…...

前端实战:动态修改SVG图片颜色的5种高效方法

1. 为什么需要动态修改SVG颜色&#xff1f; 在Web开发中&#xff0c;SVG&#xff08;可缩放矢量图形&#xff09;已经成为不可或缺的一部分。相比传统的位图格式&#xff0c;SVG具有无限缩放不失真、文件体积小、支持交互和动画等优势。但最让我惊喜的是它的可编程性 - 我们可…...

Kando测试框架完全指南:Mocha和Chai的终极使用技巧

Kando测试框架完全指南&#xff1a;Mocha和Chai的终极使用技巧 【免费下载链接】kando &#x1f338; Do things with utmost efficiency. 项目地址: https://gitcode.com/gh_mirrors/ka/kando Kando是一款跨平台的饼状菜单桌面工具&#xff0c;它为用户提供了高效、直观…...

暗黑破坏神2存档编辑器终极指南:5分钟解放你的游戏体验

暗黑破坏神2存档编辑器终极指南&#xff1a;5分钟解放你的游戏体验 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2中反复刷装备而烦恼吗&#xff1f;想快速体验不同职业build却不想从头练级&#xff1f;d2s-e…...

OpenClaw+Qwen3.5-9B低成本方案:自建接口替代OpenAI API

OpenClawQwen3.5-9B低成本方案&#xff1a;自建接口替代OpenAI API 1. 为什么选择Qwen3.5-9B作为OpenClaw的本地大脑 去年冬天&#xff0c;当我第一次尝试用OpenClaw自动化处理周报时&#xff0c;被OpenAI API的账单吓了一跳——简单的文件整理和摘要生成&#xff0c;一周竟消…...

实测有效!Yi-Coder-1.5B生成高质量代码案例分享

实测有效&#xff01;Yi-Coder-1.5B生成高质量代码案例分享 1. 引言&#xff1a;一个轻量级但强大的编程伙伴 最近在尝试各种代码生成模型时&#xff0c;我发现了Yi-Coder-1.5B这个宝藏。说实话&#xff0c;一开始看到“1.5B”这个参数规模&#xff0c;我并没有抱太高期望——…...

现货库存MAX3221EEAE+T一款由ADI公司生产的高性能、低功耗 RS-232 收发器芯片,广泛应用于工业控制、通信设备和嵌入式系统中,具备高可靠性与出色的电气性能

MAX3221EEAET‌ 是一款由ADI公司生产的高性能、低功耗 RS-232 收发器芯片&#xff0c;广泛应用于工业控制、通信设备和嵌入式系统中&#xff0c;具备高可靠性与出色的电气性能 。 核心性能参数 ‌协议标准‌&#xff1a;完全兼容 EIA/TIA-232 标准&#xff0c;支持 RS-232 电…...

GitHub开源项目日报 · 2026年4月1日 · AI编程助手与语音模型引领榜单

本期榜单主要涵盖开发者工具、AI应用和实用库三大类项目。从终端编程助手到语音AI模型,从HTTP客户端到提示词资源库,展示了当前开源生态的多样化发展。超过10000星以上的项目有prompts.chat、Axios、Claude Code、Codex CLI、VibeVoice、Claude Code最佳实践指南、Claude Cod…...

Z-Image-GGUF文生图案例分享:看看AI能画出多美的图片

Z-Image-GGUF文生图案例分享&#xff1a;看看AI能画出多美的图片 1. 开篇&#xff1a;当文字遇见画笔 想象一下&#xff0c;你只需要输入一段描述&#xff0c;就能得到一张精美的图片。这不是科幻电影里的场景&#xff0c;而是Z-Image-GGUF带给我们的现实体验。作为阿里巴巴通…...