java - 如何使 Arraylist 可供多个类访问?

标签 java oop arraylist

我正在制作垂直射击游戏,但在碰撞检测方面遇到了问题。碰撞是通过矩形方法“相交”检测到的,但为了跟踪所有可能发生碰撞的东西,我需要 Arraylists 来跟踪所有子弹和敌舰。 Enemy 和 Player 类都产生 Bullets(它们也有自己的类),所以我想在我的 GameView 类中有 2 个不同的 Arraylist(它控制游戏图形,并希望在我完成这里时发生碰撞)。

允许 Bullets 在生成时添加到各自的 ArrayLists 的最有效方法是什么?

子弹级:

public class Bullet extends Location{
    private Fights bulletOwner;
    private int damage;
    private int velocity;

    public Bullet(Fights owner, int dmg, Rectangle loca)
    {
        super(loca);
        bulletOwner = owner;
        damage = dmg;
    }

    public Fights getOwner(){return bulletOwner;}
    public int getDamage(){return damage;}
    public int getVelocity(){return velocity;}

位置类

import java.awt.Rectangle;

public class Location {
    protected Rectangle loc;

    public Location (Rectangle location)
    {
        loc = location;
    }

    public Rectangle getLocation()
    {
        return loc;
    }

    public void updateLocation(Rectangle location)
    {
        loc = location;
    }
}

最佳答案

您可以拥有一个包含位置数组列表的 GameState 类,并将 GameState 实例作为参数传递给 Location 派生类的构造函数。

关于java - 如何使 Arraylist 可供多个类访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6238372/

相关文章:

java - 找出 checkin 更改了哪些方法?

java - 通过JDBC向PostgreSQL表中插入 "daterange"字段值

java - 猜谜游戏java类的问题~

c++ - 候选构造函数(隐式复制构造函数)不可行 : expects an l-value for 1st argument

java - 一个 ArrayList 添加 2 个不同的选项

JavaFX Web View : how to block resources from a specific website?

php - 最佳 OOP 实践 PHP/MySQL

c++ - 在 C++ 中,我们如何在不使用友元函数的情况下通过对象调用私有(private)函数?

java - 计算 Hashmap 中的重复值

java - 尝试从另一个不工作的 ArrayList 中过滤