gpt4 book ai didi

Java 图形基础知识 : Creating Collison Area From Image

转载 作者:行者123 更新时间:2023-12-02 05:50:28 25 4
gpt4 key购买 nike

我正在尝试获取图像的长度和宽度来为基本游戏创建碰撞检测区域。我希望最终将它移到android上,所以我避免使用BufferedImage类(android似乎没有)。相反,我想从 Eclipse 项目中的 asset 文件夹中读取 .png,并将其传递给 sprite 类。所有 Sprite 都会继承自ASprite(),其中包含一个HitBox()类:

import java.awt.Image;
import java.awt.image.ImageObserver;


public class HitBox {

private int TopLeftX;
private int TopLeftY;
private int Width;
private int Length;

public void createManually(int topx, int topy, int width, int length){
TopLeftX = topx;
TopLeftY = topy;
Width = width;
Length = length;
}

public void createFromImage(Image i, int topx, int topy){
//TODO...
}

//Various getting and setting functions, & testIntersect(HitBox h1)

}

对于我想要自定义碰撞区域的 Sprite,我可以手动传入 HitBox() 的直径。对于其余部分,我希望能够获取图像以及左上角的 X 和 Y 位置,并将图像的高度和宽度提取到变量中以定义命中框。我认为这将涉及使用 ImageObserver,但我在理解如何做到这一点时遇到了一些困难。希望有人能帮忙。

最佳答案

我建议你写一个接口(interface)。我们称之为ImageInterface。现在,在图像界面中,您可以拥有所有与图像相关的基本内容,例如 getWitdh()getHeight()getPixelValue(x,y)draw() 等。在您的所有项目中使用该接口(interface)。并针对跨平台单独实现。对于 java,您可以使用 BufferedImage;对于 Android,您可以使用 Bitmap

关于Java 图形基础知识 : Creating Collison Area From Image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23579396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com