2017-08-13 2 views
2

私は現在、Swing/AWTで数年前にJavaFXを使って作ったゲームを作り直しています。私の現在のジレンマは、元のゲームには "懐中電灯"があり、そこでは最初にブランクの黒色のレイヤーを作成し、ポリゴンを作成し、そのレイヤーからブレンドモードを使用して引きます。そこからレイヤーが透明に描かれ、すべてが暗く、プレーヤーに懐中電灯が付いていたようです。JavaFXでキャンバスの「影」レイヤーを作成していますか?

これをJavaFXで実装する方法を理解するのに問題があります。私は空白の黒い画像を作成することができたと思って、そこからGraphicsContextを作成して、画像から減算するブレンドモードを設定することができましたが、画像はこのタイプのレンダリングをJavaFXでサポートしていません。実際、WritableImageはPixelWriterの使用しか許可しない別のクラスです。そこで、私は手動で各ピクセルを設定する必要があります。

私はJavaFXについてまだ理解していないと思います。なぜなら、これまでにいくつかのアプリケーションしか作成していなかったからです。どのようにこの機能を実装するかについて誰にでも勧められていますか?私が元のものよりも見栄えを良くすることができればいいと思う。

ここは参考までに古いゲームの画像です。

Generic Zombie Shooter

答えて

0

私はすべてのゲームのエンティティが描かれているときやHUDを描画するときに、間に黒色層を描くことで私が探しているものに似た何かを達成することができました。私は80%の不透明度でそれを描画し、5%の不透明度とブレンドモードSRC_OVERを持つ私の懐中電灯ポリゴンを描画します。さまざまなブレンドモードで遊ぶのが大変でしたが、MULTIPLYは確かに行く方法ではありませんでした。

+0

私は本当にJavaFXでこの効果を達成するより良い方法があることを期待していましたが、私はそれが可能であることを嬉しく思うでしょう。私はJavaFXがゲームに使われることを意図していないことを知っています。 –

関連する問題