プログラミング

【プログラミング】Pygameで色の飽和を処理するための方法!

最近はpygameを使ってpythonでゲームを作るための勉強をしています。

 

そこで色の指定をしていたものの値を2倍にしたときエラーが起きました。

 

この原因はrgbカラーの最大値が255であるのに2倍をすることによってこの値を超えてしまったことによりました。

 

実際にゲーム中でもこのように、色をランダムで変更させた時にrgb値の最大を超えてしまうことがあるかもしれません。

 

これでエラーが起きたらゲームが止まってしまって動かず困ってしまいます。

 

なので、これを回避するプログラムを考えていきます。

 

1.プログラム

まず、プログラムを見ていきましょう。

 

 

関数minを使うことで上限値を指定できるんです。

 

 

2.解説

今回はcolor関数のrgb値が255を超えないようにすることが目的なわけなので、color関数をsaturate_colorの引数に設定します。

 

ここでcolor関数の要素はred, green, blueなので、このそれぞれの要素の最大値を255から超えないように関数minを各要素につけます

 

そして、最後にreturnで飽和を直した正しいred,green,blueの値を戻り値として返すように設定しました。

 

 

3.最後に

今回抑えておくべきポイントは関数minの使い方でした。

 

それ以外は基本的に難しいことはなかったのでしっかりと関数minを忘れないようにしていきたいです。

 

これさえ設定しておけば、ゲームで色の処理関連でエラーが起きにくくなりますね。

 

僕はエラーが起きるとそれに気づくのに結構な時間がかかる人なので、これからもエラーに関わりそうなポイントは簡潔にまとめていこうと思っています。

 

このブログは僕が普段学習したことのアウトプット用に使っています。

 

大学での専攻は物理学、独学でPythonを学習しているためこの2つが主な内容を占めています。

 

時間がある時に読んでいただけると嬉しいです。

 

気に入っていただけたらブックマーク、twitter(@tsureblo_nobu)のフォローよろしくお願いします。

 

twitterではタイムリーな学問に対する思いなどをつぶやいています。

 

 

4.参考文献

僕が勉強に使っている本を載せておきます。

 

①Pythonゲームプログラミング入門

 

②はじめるPython!ゼロからのゲームプログラミング



スポンサーリンク

-プログラミング
-, , ,

Copyright© 高校から大学への橋渡し , 2020 All Rights Reserved Powered by AFFINGER5.