首页 > 编程语言 >java游戏(第4天)终于能移动了

java游戏(第4天)终于能移动了

时间:2024-10-26 21:16:52浏览次数:3  
标签:java 游戏 静态 pic up game 实例 static 移动

学到,自己的小鱼类

package common;
import java.awt.*;
import common.game_pic;
public class myfish {
	Image img=game_pic.myfish_l;
	//坐标
	int x=700;
	int y=500;
	int width=50;
	int height=50;
	//速度
	int speed=20;
	//等级
	int level=1;
	public void paintself(Graphics g) {
		logic();//判断下是哪个图片,后面再更改
		g.drawImage(img,x,y,width,height,null);
		
		
	}
	public void logic() {
		if (game_pic.up) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直
			//接访问,但是非静态成员必须通过类的实例来访问。
			y=y-speed;
		}
		if (game_pic.down) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直
			//接访问,但是非静态成员必须通过类的实例来访问。
			y=y+speed;
		}
		if (game_pic.left) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直
			//接访问,但是非静态成员必须通过类的实例来访问。
			x=x-speed;
			img=game_pic.myfish_l;
		}
		if (game_pic.right) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直
			//接访问,但是非静态成员必须通过类的实例来访问。
			x=x+speed;
			img=game_pic.myfish_r;
		}
		
		
		
		
		
		
		
	}
	//检测矩形的方法,用碰撞检测
	public Rectangle setRec() {
		return new Rectangle(x,y,width,height);
		
	}
	
}

实现上下左右

if (game_pic.up) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直

//接访问,但是非静态成员必须通过类的实例来访问。

y=y-speed;

}

if (game_pic.down) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直

//接访问,但是非静态成员必须通过类的实例来访问。

y=y+speed;

}

if (game_pic.left) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直

//接访问,但是非静态成员必须通过类的实例来访问。

x=x-speed;

img=game_pic.myfish_l;

}

if (game_pic.right) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直

//接访问,但是非静态成员必须通过类的实例来访问。

x=x+speed;

img=game_pic.myfish_r;

}

然后把其放置

public void paintself(Graphics g) {
		logic();//判断下是哪个图片,后面再更改
		g.drawImage(img,x,y,width,height,null);
		
		
	}

每次在重新绘制的时候都是要逻辑判断

对x,y左右进行坐标变换产生移动

public void logic() {
		if (game_pic.up) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直
			//接访问,但是非静态成员必须通过类的实例来访问。
			y=y-speed;
		}
		if (game_pic.down) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直
			//接访问,但是非静态成员必须通过类的实例来访问。
			y=y+speed;
		}
		if (game_pic.left) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直
			//接访问,但是非静态成员必须通过类的实例来访问。
			x=x-speed;
			img=game_pic.myfish_l;
		}
		if (game_pic.right) {//错误消息 “Cannot make a static reference to the non-static field game_pic.up” 表示您正在尝试在一个静态上下文中引用一个非静态字段 game_pic.up。在 Java 中,静态成员(方法或变量)可以在没有类实例的情况下直
			//接访问,但是非静态成员必须通过类的实例来访问。
			x=x+speed;
			img=game_pic.myfish_r;
		}

然后每次刷新的时候都运行重绘,

	bgg.paintself(gimage);
				logic();//加载
				
				System.out.println(ennFish.x);
				ennFish.x+=30;
				myfis.paintself(gimage);
//				取出小鱼
				for (ennamy_l enl:game_pic.enny_l) {
					enl.paintself(gimage);
					
				}

还学到

对于静态变量,可以是类名.值来直接获得

标签:java,游戏,静态,pic,up,game,实例,static,移动
From: https://blog.csdn.net/m0_73177400/article/details/143217175

相关文章

  • 基于Java+SpringBoot+Mysql实现的古诗词平台功能设计与实现二
    一、前言介绍:1.1项目摘要随着信息技术的迅猛发展和数字化时代的到来,传统文化与现代科技的融合已成为一种趋势。古诗词作为中华民族的文化瑰宝,具有深厚的历史底蕴和独特的艺术魅力。然而,在现代社会中,由于生活节奏的加快和信息获取方式的多样化,古诗词的传播和阅读面临着一定的挑......
  • JAVA的设计模式都有那些
        Java设计模式是为了解决软件开发中常见的问题而创建的一系列最佳实践。它们提供了一种在特定情境下解决问题的方法论,并且已经被广泛验证和应用。这些模式不是具体的代码,而是关于如何组织代码以达到某种目的的高层次描述。设计模式通常分为三大类:创建型模式、结构型......
  • Java中TreeSet的使用
    TreeSet的使用文章目录TreeSet的使用判断数据是否相同的标准添加String类型对象添加自定义类型对象定制排序底层数据结构:红黑树添加元素后的特点:可以按照添加的元素的指定的属性的大小顺序进行遍历添加元素的要求:添加到TreeSet的元素必须是同一个类型的对......
  • 基于Java+SpringBoot+Mysql实现的古诗词平台功能设计与实现一
    一、前言介绍:1.1项目摘要随着信息技术的迅猛发展和数字化时代的到来,传统文化与现代科技的融合已成为一种趋势。古诗词作为中华民族的文化瑰宝,具有深厚的历史底蕴和独特的艺术魅力。然而,在现代社会中,由于生活节奏的加快和信息获取方式的多样化,古诗词的传播和阅读面临着一定的挑......
  • 高级java每日一道面试题-2024年10月24日-JVM篇-说一下JVM有哪些垃圾回收器?
    如果有遗漏,评论区告诉我进行补充面试官:说一下JVM有哪些垃圾回收器?我回答:1.Serial收集器特点:Serial收集器是最古老、最稳定的收集器,它使用单个线程进行垃圾收集工作。在进行垃圾回收时,它会暂停所有用户线程,即StopTheWorld(STW)。单线程工作,适合单核CPU。在年......
  • 高级java每日一道面试题-2024年10月23日-JVM篇-说一下JVM有哪些垃圾回收算法?
    如果有遗漏,评论区告诉我进行补充面试官:说一下JVM有哪些垃圾回收算法?我回答:在Java虚拟机(JVM)中,垃圾回收(GarbageCollection,GC)是一项非常重要的功能,用于自动管理应用程序的内存。JVM采用多种垃圾回收算法来决定何时以及如何回收不再使用的对象所占用的内......
  • JavaScript CSS Vue3 实现一个简单的Loading
    之前项目用到的,后来换其他效果了。放博客里保存一下。效果视频转GIF之后不太流畅……代码<scriptsetuplang="ts">import{onBeforeUnmount,onMounted,ref}from"vue";import{clamp}from"../scripts/Utils";constmaskDiv=ref<HTMLDivElement>(null)co......
  • 最新毕设-SpringBoot-健康体检系统-12791(免费领项目)可做计算机毕业设计JAVA、PHP、爬
    springboot健康体检系统摘要在如今IT技术快速发展和Internet广泛应用的时代,电子和网络技术给人们生活带来了便利,同时也会直接或间接损害人们的健康。所以,本次的毕业设计创作的意义就是通过信息化的统一管理,给用户尽心健康体检预约提供了方便。本设计主要实现集人性化、高效......
  • (2024最新毕设合集)基于Django的房价分析平台-65434|可做计算机毕业设计JAVA、PHP、爬虫
    摘要本论文主要论述了如何基于Django框架开发一个房价分析平台,本系统将严格按照软件开发流程进行各个阶段的工作,通过爬虫技术对贵州省的房价数据进行爬取,面向对象编程思想进行项目开发。在引言中,作者将论述房价分析平台的当前背景以及系统开发的目的,后续章节将严格按照软件......
  • Pygame游戏手柄(Xbox)输入测试工具
    文章目录前言Xbox手柄测试程序说明使用说明完整代码前言在python做机器人控制时,需要加入xbox操控功能,为了直观显示手柄摇杆与变量之间的对应关系,实时调试手柄输入,开发了python手柄测试程序(本文基于xbox)。Xbox手柄测试程序说明测试程序使用pygame库创建了一......