そこで、衝突検出を調べることにしましたが、画像の透明な領域の検出を適切に回避する方法など、2つの画像間の2D衝突検出に関する適切な情報を見つけるのに苦労していましたが、自分が添付された1つの投稿を見つけましたしかし、問題は、私がその投稿を本当に理解しておらず、なぜ彼がそれらのことのいくつかを行うのか理解していないということです...
問題の投稿は次のとおりです:https ://stackoverflow.com/posts/336615/revisions
したがって、まず最初に、このソリューションが実際に優れた/適切なものであるかどうか、または他の場所を探す必要があるかどうかを尋ねたいと思います。
次に、彼の投稿で、ピクセルが透明かどうかを判断するために1と0を設定するために、2D配列ではなく整数配列を使用することに言及しているのではないかと思いますが、どのように達成すべきかはよくわかりません。これ。最初は、1と0の文字列を作成してLongに変換するだけで実現できると思いましたが、画像の幅が25の場合でも、Longは...長すぎます...
コードはこの配列では機能しないため、私も運が悪かったのでこれを試しました。
long[] array = new long[30*30]; // height * width of the image
int x = 0;
int y = 0;
for(int i = 0; i<30*30; i++){
if(image.getRGB(x,y) == 0){
array[i] = 0;
}
else{ array[i] = 1; }
x++;
if (x==30){
y++;
x=0;
}
}
第三に、私は誰かがプロセス全体を説明し、なぜ彼がすることが必要なのかを説明できることを望んでいました。ちなみに、私はそれらのビット演算子がどのように機能するかを知っています!言い換えれば、私は彼の思考の流れ/コード内のすべてのことを行う動機を理解していないので、これらすべてを理解したいと思います!
どうすればいいのかわからないけど…