0

私は単純なゲームを作っているので、キャラクターをかなりカスタマイズしたいと思っています。キャラクターの色を完全に編集できるようにしたいです。たとえば、プレイヤーがキャラクターの肌をシアンにしたい場合は、スライダーに入れるか、使用するものを「0,255,255」または紫の「255」にします。 ,0,255"、またはランダムな "25,125, 156" を指定し、それらの文字をその色にします。私はまだゲームの作成を開始していませんが、基礎を固めており、これを除いてほとんどすべての場合に何をしなければならないかを正確に知っています。

Googleで検索したところ、これには数値のpythonが必要ですか?これはまったく新しいパッケージであり、平均的なプレーヤーがプレイするには、EXE 形式に変更する必要があります... (または、PC に python、pygame、数値 python をインストールする必要があります。それ以降のバージョン...)。さて、pygameだけでもすでに複雑になってきていますが、数値pythonでも同様ですが、これを行う方法に関するチュートリアルさえありますか?

助言がありますか?ありがとう!

4

2 に答える 2

0

私はimageあなたが意味すると思いますpygame.Surface。いくつかのオプションがあります:

  • pygame.Surface.set_at(...)
  • パレット化されたサーフェスを使用します。次に、パレットを変更します。あなたのユースケースに基づいて、これはおそらく私が提案するものです。
  • pygame.PixelArrayPyGame モジュールを使用します。NumPy は必要ないと思います。
  • NumPy を使用するだけです。実際にはそれほど大きな要件ではありません。多くのプロジェクトで必要とされ、設定も簡単です。pygame.surfarray強力なモジュールにアクセスできます
于 2015-03-01T19:25:37.697 に答える
0

もちろん、ブルート フォースメソッドを使用してこれを行うこともできます。これは、pygame サーフェスで色を別の色に置き換える関数です。

def color_replace(surface, find_color, replace_color):
    for x in range(surface.get_size()[0]):
        for y in range(surface.get_size()[1]):
            if surface.get_at([x, y]) == find_color:
                surface.set_at([x, y], replace_color)
    return surface
于 2015-03-01T19:17:41.943 に答える