見出し画像

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

こんにちは、みやびのです。
今回は、「サンプルゲームで遊びながらsceneライブラリの使い方を学んでいこう」というテーマでお話しします。

Pythonistaは様々なサンプルゲームやアプリがあります。これらのアプリの内容はプログラミングを学ぶ上で非常に有益な内容です。

いきなりコードを読むのも良いですが、まずは実際にアプリを動かしてみることをおすすめします。
実際に動かしてみることで、コードの理解も深まります。なのでまずはアプリを動かすところから始めましょう。

本記事では、Pythonistaのサンプルゲームを遊びながらプログラミングを学ぶ方法について紹介します。本記事の内容は以下の通り。

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

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

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

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

まずはPythonistaにデフォルトで入っているサンプルゲームで遊んでみましょう。

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

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

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

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

サンプルゲームの遊び方は以下の通り。
1.Pythonistaアプリを開く
2.This iPhoneを開く


3.Examplesを開く


4.以下の2つのフォルダにゲームが格納されているのでどちらかを開く

5.ファイルを開いて三角マークをタップ


以上の操作でゲーム画面が開きます。

ゲームの種類

Pythonistaに同梱されているゲームについて紹介します。

ブロック崩し

お馴染みのブロック崩しゲームです。ボールを反射させてブロックを全て崩すことができればクリアです。

パズルゲーム

マッチ系のパズルゲームです。3つ以上同じマークが隣接している場合、そのマークをタップすることで消すことができます。

Game Tutorialのサンプルゲームは以下です。
コイン拾いゲーム

障害物を避けながらコインを集めるゲームです。コインを取得するとスコアが増えていきます。障害物に接触するとゲームオーバーです。

アニメーション

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

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

◆時計

◆ストップウォッチ

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

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

一通りサンプルゲームを遊んでみたら続いてコードを読んでいきます。

「これを作ってみたい」
と思ったものがあればゲーム画面とソースコードを見比べながら勉強を進めていきましょう。

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

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

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

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

まずはsceneライブラリでどんなゲームが作れるかを理解しておきましょう。

サンプルのゲームやアニメーションを遊んで見ればだいたいどんなゲームが作れるかわかります。
画像素材も見ておくと良いです。

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

====ここから編集中====

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

sceneライブラリでは「スマホを傾けた時」と「スマホをタップした時」にキャラクターや画面のオブジェクトを操作することができます。

実際にゲームを触りながらいろいろ試してみましょう。

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

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

関連記事
Pythonista+sceneスマホの傾き処理の基本

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

タップした位置やタップした長さでアクションを変えることも可能です。

関連記事
Pythonista+sceneタッチ(タップ)処理まとめ

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

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

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

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

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

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

setup()メソッドの処理後はイベントの監視のループに入り、ループ中は毎回update()メソッドを呼び出します。

update()メソッドは「時間の経過」、「スマホの傾き」、「キャラクターとオブジェクトの接触」によっていろいろなイベントを起こすことができます。

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

終わりに

今回はPythonistaのサンプルゲームを遊びながら学ぶ方法を紹介しました。

プログラミングを学んでいく上では「ユーザ目線でプログラムを動かしまくること」がすごく大事なのでサンプルゲームなどはできる限り動かしてください。

何も動かさずにコードを見た場合」と「実際に動かしてからコードを見た場合」では後者の方が理解が進みやすいです

Pythonistaのscene以外のプログラミング学習においてもこれは同じです。

ただコードを読んだり書いたりするだけでなく、実際に動かしながら学んでいくことを重視しましょう

プログラミング超初心者の勉強方法について記事にまとめました。これからプログラミングを始めようと考えている方は是非、ご活用ください。

Pythonistaのゲーム開発についてゲーム手順をまとめました。Pythonistaでのゲーム開発を例にゲーム開発の基礎を学べます。


この記事が気に入ったらサポートをしてみませんか?