本記事はPythonistaの使い方について紹介する記事です。
今回は、サンプルゲームを遊びながらsceneライブラリの使い方を学んでいきます。

本記事の内容は以下の通り。

・Pythonistaのサンプルゲームを遊んでみよう
・Pythonistaのゲームチュートリアルをやりながら学ぼう

Pythonistaは他のアプリと同様App Storeからできます。(有料$9.99。買い切り)
Pythonista3をダウンロードする

Pythonistaの始め方については「Python超入門〜iPhone・iPadで始めるプログラミング〜」をお読みください。

Pythonistaのサンプルゲームを遊んでみよう

プログラミングの勉強において最初にサンプルのプログラムを動かしてみるということは大事です。
実際に動かしてみて「なんか面白くないな」と思ったプログラムは作っても楽しくないと思います。

まずはPythonistaのサンプルを動かしてみて、
「これは楽しい」
「こんなゲームを作ってみたい」
と思うプログラムを探してみましょう。

サンプルゲームを遊んでみよう(3つのサンプルゲーム+おまけ)

まずはサンプルのゲームを遊んでみましょう。

サンプルゲームの遊び方は以下の通り。
1.Pythonistaアプリを開く
2.This iPhoneを開く
Pythonistaサンプル1
3.Examplesを開く
Pythonistaサンプル2
4.以下の2つのフォルダにゲームが格納されているのでどちらかを開く
Pythonistaサンプル3

・Games
・Game Tutorial

Gamesフォルダのサンプルゲームは以下の2つです。

ブロック崩し
ブロック崩しゲーム

パズルゲーム
パズルゲーム

Game Tutorialのサンプルゲームは以下です。
・コイン拾いゲーム
コイン拾いゲーム
5.ファイルを開いて三角マークをタップ
サンプルコード起動
以上の操作でゲーム画面が開きます。

アニメーション

sceneライブラリはアニメーションも作れます。
時計やストップウォッチなどリアルタイムで動くプログラムも作成可能。

アニメーションはExamplesの「Animation」フォルダに格納されています。

◆時計
時計

◆ストップウォッチ
ストップウォッチ

サンプルはゲームとアニメーション以外にもいくつかあるので他のプログラムも触っておくと良いです。

Pythonistaのゲームチュートリアルをやりながら学ぼう

一通りサンプルゲームを遊んでみたら続いてコードを読んでいきます。
「これを作ってみたい」
と思ったものがあればゲーム画面とソースコードを見比べながら勉強を進めていきましょう。

特に作りたいものがなかった場合は「Game Tutorial」を順番に見ていくのがおすすめです。

サンプルゲームで学ぶことは以下の3点です。

・sceneライブラリでどんなゲームが作れるか知る
・どんな操作ができるか知る
・どんなクラスや関数が存在するかざっと見る

sceneライブラリでどんなゲームが作れるか知る

まずはsceneライブラリでどんなゲームが作れるかを理解しておきましょう。
サンプルのゲームやアニメーションを遊んで見ればだいたいどんなゲームが作れるかわかると思います。
画像素材も見ておくと良いです。

画像素材については「Pythonistaのsceneライブラリ画像の使い方」をお読みください。

どんな操作ができるか知る

sceneライブラリでは「スマホを傾けた時」と「スマホをタップした時」にキャラクターや画面のオブジェクトを操作することができます。
実際にゲームを触りながらいろいろ試してみましょう。

◆スマホを傾ける
スマホを傾けることで、傾いた方向にキャラクターや画面のオブジェクトを移動するといった操作が可能です。
傾きは縦横両方指定できます。

また、傾きの角度によってオブジェクトの移動のスピードを変えることも可能です。

◆スマホをタップした時
スマホの画面を指でタップすることでそこにキャラクターを移動したり、ジャンプや攻撃などのアクションを起こしたりといったことができます。
タップした位置やタップ長さでアクションを変えることも可能。

どんなクラスや関数があるか知る

一通りアクション操作を行ってみたらコードを読んでみましょう。

実際の動いている画面と比較しながら対応している箇所をみていくと良いです。

まずはこの3つのメソッドの役割を理解しましょう。

・setup()
・update()
・touch_began()

setup()メソッドはゲーム起動時に最初に呼ばれるメソッドです。
背景やプレイヤーを追加し、初期画面を作ります。

setup()メソッドの処理後はイベントの監視のループに入り、ループ中は毎回update()メソッドを呼び出します。
update()メソッドは「時間の経過」、「スマホの傾き」、「キャラクターとオブジェクトの接触」によっていろいろなイベントを起こすことができます。

touch_began()メソッドはスマホをタップした時にイベントを起こすメソッドです。

終わりに

今回はPythonistaのサンプルゲームを遊びながら学ぶ方法を紹介しました。
プログラミングを学んでいく上ではユーザ目線でプログラムを動かしまくることがすごく大事なのでサンプルゲームなどはできる限り動かしてください。

「何も動かさずにコードを見た場合」と「実際に動かしてからコードを見た場合」では後者の方が理解が進みやすいです。
Pythonistaのscene以外のプログラムにおいてもこれは同じ。

ただコードを読むことよりも実際に動かしながら学んでいくことを重視しましょう。

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