Pythonのツール・アプリ

【Pythonista+scene】2Dアクションゲーム作成方法まとめ

Pythonista+sceneで2Dアクションゲームを作る方法についてまとめている記事です。
基本的なアクションの実装方法から応用的なアクションの実装方法について説明します。

※リンク先の記事は順次追加していきます。

▼こんなゲームが作れます▼

Pythonista+sceneの基本

Pythonista+sceneの基本的な使い方です。いきなりプログラムを書くのではなくサンプルゲームで遊びつつコードとの対応関係を観察するのがおすすめです。

Pythonistaの基本メソッドの使い方

まずはサンプルゲームを遊びまくりましょう。
実際に作る前にどんなアクションが実装できるか知ることは非常に大事です。

ゲームの操作になれたらアクションとソースの対応関係を検察してみましょう。

遊んで学ぶPythonista・sceneライブラリの基本

最初は「setup()」、「update()」、「touch_began()」の3つを覚えればOK。

setup():ゲーム起動時に1回呼ばれる。主に初期設定で活用
update():1秒間に60回呼ばれる。主に更新処理に活用
touch_began():スマホ画面をタッチした時に呼ばれる。各種アクションを起こす時に活用

上記3つだけでもゲームを作るには十分です。最初からいろいろなことを覚えるのではなくまずは上記3つを使いこなすことから始めましょう。

Pythonista+sceneで最初に理解しておくべき3つのメソッド

タッチの種類

「setup()」、「update()」、「touch_began()」についてマスターしたら次はタッチの種類を理解しましょう。

画面タッチには「touch_began()」の他に「touch_moved()」、「touch_ended()」があります。

touch_began():画面をタッチした時に呼ばれる。
touch_moved():画面をタッチ中にスライドしたら呼ばれる。
touch_ended():画面から指を離した時に呼ばれる。

うまく使いこなせばタッチ処理だけでも多彩なアクションが可能です。

Pythonista+sceneタッチ(タップ)処理まとめ

画像や文字の使い方

画像の追加はNode()関数を使用します。
Node関数には以下の種類があります。

・SpriteNode():画像の追加
・LabelNode():文字の追加
・EffectNode():爆発などのアニメーションの追加
・ShapeNode():図形の追加

まずは、「SpriteNode()」と「LabelNode()」の使い方を覚えればOKです。

Pythonistaのsceneライブラリ画像の使い方
【Pythonista+scene】文字を画面に表示する方法

Pythonista+sceneでキャラクターを移動させる

簡単な画面ができたらまずはキャラクターの移動方法について覚えましょう。

移動の基本

キャラクターの座標をただ変更するだけだと瞬間移動のようになってしまうので、update()メソッドを使用して徐々に移動させます。

キャラクターを移動させる方法

最も簡単な実装方法は、スマホの傾きを利用してキャラクターを移動させる方法です。
「gravity()関数」を使用することで簡単に実装できます。

Pythonista+sceneスマホの傾き処理の基本

また、タッチを利用してキャラクターを移動させる方法もあります。

・タッチした位置にキャラクターを移動させる
・画面スライドでキャラクターを移動させる

【Pythonista+scene】画面タッチでキャラクターを移動させる

アニメーションの追加

Pythonista+sceneで歩行アニメーションを作成する方法
・攻撃にアニメーションを追加する

キャラクターをジャンプさせる

Pythonistaでキャラクターをジャンプさせる処理を作成する

Pythonista+sceneで2Dアクションステージを作成する

キャラクターの移動方法を覚えたら次はステージ作成です。キャラクターの移動とステージ作成について覚えれば簡単なゲームを作ることができます。

アクションステージ作成の基本

背景と地面の作成方法

アイテムや敵キャラクターを追加する方法

・アイテムを追加する方法
・敵キャラクターを追加する方法

当たり判定の作成

Pythonista+sceneで当たり判定を作成する方法

ゲームオーバーやクリア条件の作成

特定の条件を満たした時にゲームオーバーやステージクリアにします。

例)
・敵を全滅させたらクリア
・ライフが0になったらゲームオーバー
など。

ゲームの完成度を上げる方法

上記までは、ゲーム作成に必要最低限の要素でしたが、ここからはよりゲームの完成度を上げるための知識について説明します。

UIを追加する

・メニューを追加する
・ジャンプボタンや攻撃ボタンを設置する

BGMやSEの追加

PythonistaでSEやBGMを再生する方法

タイトル画面やゲームオーバー画面の追加

Pythonista+sceneで複数画面を表現する方法

画面スクロールの作成

画面を作成する場合は、キャラクターを動かすのではなく背景を動かすという形で実装できます。

【Qiita】Pythonista+sceneで画面スクロールを作成する

ステージに段差をつける

今のところ有効な方法が見つかっていないのでいろいろ実験中。

Pythonistaの使い方まとめ>>Pythonistaの使い方まとめ

こちらの記事も読まれています

  • この記事を書いた人
miyabikno

みやびの

住んでいるところ:神奈川県。 プログラミング歴は13年ほど。 ※プログラミングに関する無料相談・質問への回答は行っていません。

-Pythonのツール・アプリ
-

Copyright© みやびのどっとぴーわい , 2020 All Rights Reserved Powered by AFFINGER5.