Pygameで加算合成
ほとんどの方にはどうでもいいことですが、、、
どうやら、Pygameで加算合成ができるようになるっぽいです。
http://www.pygame.org/docs/ref/surface.html#Surface.blit
ほぼSDLのPygameだと、光の表現をするのに、それっぽい画像を用意したり半透明で頑張るしかなかったのです。
ですが、
Pygame DocumentationのSurface.blitを見ると、
Surface.blit(source, dest, area=None, special_flags = 0): return Rect
special_flagsという引数が、、!?
さらに読んでみると、
An optional special flags is for passing in BLEND_ADD, BLEND_SUB, BLEND_MULT, BLEND_MIN, BLEND_MAX With other special blitting flags perhaps added in the future.
なんか将来的に加算・減算・乗算が実装されるみたい。
BLEND_MIN, BLEND_MAXの意味が良く分かりませんが、、(´∀`;
special_flags new in pygame 1.8
今のバージョンが1.7だから、次バージョンで実装されるみたいですね。
楽しみー!
「移動」と「攻撃」めも
D.Kさんの「剣STG ProjectN」
http://dij7.fc2web.com/alpha/data/ProjectN_000.zip
をプレイして思いついたこと。
「移動」と「攻撃」が分離されている場合
通常、「移動」と「攻撃」は分離されている
- 「移動」は十字ボタン、ジャンプはBボタン
- 「攻撃」はAボタン、とか
これにより、
「移動」だけできるし、「攻撃」だけできる。
また、「移動」と「攻撃」を同時に行うことができる。
ex)同時に行う例 ・逃げながら攻撃する ・ジャンプ攻撃
このような「移動」と「攻撃」を同時に行うことを要求すると、難易度が上昇する。
通常、「移動」と「攻撃」のどちらが重要化といえば、「移動」。
理由としては、「移動」は距離によるリスクを操作できるから。
「移動」と「攻撃」がくっついている場合
「移動」と「攻撃」が同一のボタンに割り当てられていると、
- 2つのことを同時に行うため、理解を妨げる
⇒納得できる理由が必要
- 「攻撃」のときに、「移動」が発生してしまう
⇒組み合わせを任意に行えない。
で、結論
「移動」と「攻撃」が分離されていると、
レベルデザインも、
ここは「移動」(回避)を楽しむところだ!
ここは「攻撃」を楽しむところだ!
ということがやりやすいような気がします。
逆に、常に「移動」と「攻撃」がくっついていると、
それを前提にレベルデザインを考えなければならないので、
ステージが作りにくいような気がします。
(解法が分りにくいステージになったりと)
なので、
「移動」と「攻撃」が分離されていることが理解を容易にする、
ということから考えると、
『「移動」と「攻撃」がくっついている』場合は、、、
なんとなくですが、
- 「攻撃」だけ
- 「移動」だけ
- 「攻撃」「移動」同時
という3つの状態を、プレイヤーが任意に「切り替え」できると、
それぞれの役割が明確になるのではないか、
などと、思いまちた。
例えば、バイオハザードのように、
「攻撃モード」「移動モード」をボタンによって切り替える、
もしくは、ガンスターヒーローズのFIXショットのように、
「攻撃中」は「移動」できない、
という制限を加える、という感じです。
以上、「攻撃」と「移動」を明確にするといいことがあるかも、
というお話でしたー。