ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

Python

ワンボタンゲーム完成

Unityで作ったワンボタンゲームを今度はPythonでPygameを使って作ってみた。ゲームのコードの部分よりも環境構築やデータ作りのほうが時間がかかった。 pic.twitter.com/GVKERJxNyT— toburau (@toburau) 2023年2月4日 Unityで作ったワンボタンゲームをPython…

当たり判定

プレイヤーとエネミーの当たり判定を追加。 各キャラの当たり判定範囲を設定するために、まず矩形を描画する関数を実装。 つぎに各キャラの矩形を取得する関数を追加。 今回、キャラの画像はUnityでレンダリングして作ったとき、特に画像のサイズとキャラの…

敵キャラ追加

今作っているゲームの敵キャラを追加した。 プレイヤーを作ったときにスプライトを使ったので、同じようにほぼコピペに近い形で割とすんなりと実装できた。 だいぶ形になってきたので、元にしたサンプルソースで使われていて、今は使っていないコードを削除…

ジャンプ

キャラクターのジャンプを実装。 ロジック自体は割とすぐに実装できたけど、どのくらいの高さ、速さでジャンプするかの調整がちょっと手間がかかった。 Unityなどのエディター上で実行しているときは、実行中にパラメータを変更しながら確認できるが、 今作…

スプライト

westplain.sakuraweb.com キャラクターの描画をPygameのSpriteを使うことにした。 複数のイメージを登録して、アニメーションを行うことが出来た。 ただ、Rectの扱いがよく分からず、widthやheightを変えても見た目が変わらないようにみえる。 コリジョンの…

チュートリアル本読了

チュートリアル本を読み終わった。 Pythonのゲーム開発ライブラリPyGameを使ったもので、いくつかの機能が分かった。 これならば、Unityで作ったうさぎのジャンプゲーは作れそうだ。 あちらはモデルは3Dだけど、今回は2Dで作るので、アセットを準備しないと。…

コード読み

チュートリアルのPythonコードを読んでいる。 昨日セットアップしたVisual Studio Codeの拡張機能のおかげでいろいろな点で読みやすくなったし、エディタ上から実行も出来るので確認も楽。 あとはデバッグ関連で使いやすく設定していきたいところ。

環境構築

Pythonでの開発環境を構築。 今回はVisual Studio Codeで行うことに。 すでにPythonの拡張機能はインストール済みなので、すぐにデバッグ実行出来るかと思ったら、 モジュールが見つからないというエラーになってしまった。すでにモジュールもインストール済…

PythonのIDLEのファイルを開くときのフォルダを変える

IDLEを起動するショートカットのプロパティの作業フォルダを変更する PythonのIDLEでFileメニューのOpenで開くダイアログのフォルダを変更したいのだが、オプションにそのような設定はない。 このフォルダはIDLEの実行時の作業フォルダとなっているので、IDL…

PythonとPyGame

WindowsマシンのほうでPythonを使おうとコマンドプロンプトでPythonと入力したら、Microsoft StoreのPythonのページが立ち上がった。 そういえば、こちらのWindowsマシンにはPythonをセットアップしていなかった。 ということで、Pythonをセットアップ。 www…

Python をダブルクリックで実行

Mac で Python ファイルをダブルクリックして実行するには、 ・Python Launcher を使う ・シェルスクリプトを使う という複数の方法がある。 まずは Python Launcher で実行できるようにしてみた。 対象の Python ファイルを右クリックして「情報を見る」を…

フォルダ内のファイル名一覧を取得

docs.python.org Python で指定したフォルダに含まれているファイル名の一覧を取得するには glob モジュールを使う。 import glob files = glob.glob("tmp/*") for file in files: print(file) これで tmp フォルダに含まれているファイル名の一覧を取得でき…

クリップボードを操作

引き続き Python でツールを作成中。 得られた結果はまずクリップボードにコピーして利用することにした。 クリップボードを扱うには pyperclip モジュールを使う。 note.nkmk.me このページを参考にした。 まず、pyperclip モジュールをインストール。 pip …

日付の文字列

docs.python.org CSVファイルの処理を行うツールをPythonで書いている。 複数あるCSVファイルはデータ作成元が違っていてフォーマットが異なるので対応させるのが大変。 日付のフォーマットも違うのでどう処理させようかと思っていたところ、日付の文字列か…

csvファイルの区切り文字

引き続き、CSVファイルをPythonで処理するプログラムを書いている。 CSVモジュールでCSVファイルを読み込むときのデフォルトの区切り文字は , となっている。 対象となるCSVファイルで区切り文字が異なるものがあった。その場合は、delimiterパラメータで区…

文字コードを指定して開く

あるCSVファイルが正しく読み込めない問題は、文字コードがshift-jisなのが原因だった。 ということで、ファイルをshift-jisで開いたら正しく読み込むことが出来た。 文字コードを指定するときには、encoding = '文字コード' を付ければ良い。 import csv wi…

PythonでCSVファイル

PythonでCSVファイルを扱うためのCSVモジュールが標準で用意されている。 csv.reader()にCSVファイルを指定すると、CSVの各行のリストが取得できるので、これで各要素へとアクセスすることができる。 import csv import sys args = sys.argv with open(args[…

Pythonでコマンドライン引数

Python でコマンドライン引数を取得するには sys モジュールを利用する。 sys.argv が引数のリストとなっている。 リストの1つ目は実行ファイル名。これはCと同じで分かりやすい。 引数の個数はリストの個数を len() で取得すれば良い。 import sys args = s…

Tkinterのバグ

昨日の問題を調べていて原因が Tkinter にあることがわかった。 MacOSでは Tkinter 8.5 だと正しく表示できないバグがあるそうだ。 そこで Tkinter をアップデートしようと思ったのだが、検索してみるといろいろと手順があって大変そう。 Python のバージョ…

Pythonでグラフ描画

hexadrive.jp ゲーム会社のヘキサドライブのブログにPythonでグラフを書くという記事が掲載されていたので、自分も試してみた。 まず、ライブラリの numpy と matplotlib がインストールされていなかったので、次のようにしてインストール。 pip3 install nu…

Pythonスクリプトの実行ファイル化

Mac環境でPythonを実行ファイルにするため、Pyinstallerを次のコマンドでインストールしようとした。 pip3 install pyinstallerところがPermission deniedのエラーとpipのバージョンが古いというエラーに。 調べてみたところ、管理者権限がないユーザーでロ…

Visual Studio Code で Python が実行できない

Visual Studio Code で Python のコードを書き、実行しようとしたら、 command 'python.execInTerminal' not found というエラーが出て実行出来なかった。 結局、いろいろ調べて、最終的には Visual Studio Code をアンインストール、再インストールして動く…

Pythonの教材スライド

昨年5月に公開した Python の教材スライドを大幅に更新しました。全309ページ。ダウンロード自由にできますので、どうぞ。https://t.co/GgPMdugie2 pic.twitter.com/NP8LJtgG78— 三谷 純 Jun MITANI (@jmitani) 2022年2月8日 筑波大の教授がPythonの教材スラ…

文字列中の1文字を変更する

Pythonで文字列中の1文字だけ大文字に変更したいときは、一度リストに変換してから変更する。 str ="abcdefg" str_list = list(str) str_list[3] = str_list[3].upper() str_changed = "".join(str_list) print(str_changed) 実行結果 abcDefg 文字列全体を…

Visual Studio CodeでPython

ちょっとしたファイル操作が必要になったので、Pythonで作ってみた。 そのとき、Visual Studio Codeで書いてみた。 Visual Stuio CodeのPython用の拡張機能をインストールしておけば、インテリセンスも効くし、F5で実行してすぐに動作確認できた。 IDEを使っ…