PythonではじめるiOSプログラミング
PythonではじめるiOSプログラミング 〜iOS+Pythonで数値処理からGUI、ゲーム、iOS機能拡張まで〜
株式会社ラトルズ
著者:掌田津耶乃
iPhoneで、Pythonプログラミング!
目次
Chapter 1 Pythonista3開発を始めよう
1.1 Pythonista3を準備しよう
iPhoneでプログラミング?
Pythonista3を使おう
ファイルを作成しよう
コードエディタについて
スクリプトを書いて実行する
Wifi Keybordについて
1.2 Pythonista3の使い方をマスターしよう
Pythonista3の設定を行おう
「CONSOLE」んついて
「Today Widget」について
「Share Extensions Shortcuts」について
その他の設定
コンソールの働きを知ろう
Object Insoectorを使う
Pythonista3で何をする?
Chapter 2 標準モジュールをマスターしよう
2.1 numpyを使おう
numpyって何?
モジュール利用とimportについて
配列を作成する
配列の四則演算
配列どうしの演算
ゼロ配列と1配列
等差数列
行列を作ろう
単位行列とは?
対角行列とは?
ランダムな配列・行列
合計を計算する
平均と中央値
分散と標準偏差
2.2 sympyを使おう
Pythonで代数計算!
まずは分数から
べき乗と平方根
変数(シンボル)を使う
式を作る
式を操作する
方程式を解こう
2元方程式を解く
2元連立方程式を解こう
極限値を求めよう
微分を行おう
積分を行おう
数学が必要になることは?
2.3 matplotlibを使おう
matplotlibは「グラフ」化モジュール
グラフの作成の基本を覚える
三角関数グラフを描こう
グラフの表示を整えよう
棒グラフを描くには?
円グラフを描く
ヒストグラムを描く
散布図を描く
グラフに注釈を付ける
直線を描く
一定領域を塗りつぶす
3Dグラフも描ける!
3Dグラフを表示してみる
必要に応じてモジュールを学ぼう
Chapter 3 GUIを使おう
3.1 UI利用の基本をマスター!
iOS用UIの利用
UI&スクリプトファイルを作ろう
作成される2つのファイル
UIデザイナーの基本を覚えよう
Labelを配置しよう
UI部品の基本操作
UI部品に用意されている属性
Labelに用意されている属性
プログラムを実行しよう
実行スクリプトをチェック!
Buttonを使おう
Buttonの属性について
ButtonにActionを設定する
UI部品の取得とテキスト設定
TextFieldで入力しよう
TextFieldの値を使う
3.2 基本的なUIをマスターしよう
Switchを利用する
Sliderを利用する
SegmentedControlの利用
DatePickerを利用する
datetimeクラスについて
UI部品のレイアウトを考えよう
Auto-Resizing/Flexの魔法
アラートを表示しよう
選択ボタンを表示する
INPUTアラートの利用
3.3 複雑なUI部品を利用しよう
TableViewについて
TableViewの属性について
タッチされた際の処理
タッチした項目を表示する
項目を追加する
アクセサリーの表示
アクセサリーのイベント処理
複数項目の選択
NavigationViewについて
ナビゲーションの方法
3.4 スクリプトによるUI生成
UIファイル無しでもUIは使える!
スクリプトでテキストを表示しよう
Viewの作成と表示
Labekの作成と組み込み
フレックス(flex)について
TextFiekdとButtonを作成する
アクションで処理を行う
Switch/Slider/SegmentedControl
パネルをポップオーバーする
サイドバー/パネルの表示
3.5 サンプルアプリを作ろう
記録機能付き電卓を作ろう
MyCalcを作成する
UI部品を配置する
MyCalc.pyのスクリプトを作成する
スクリプトのポイントをチェックする
基本はLabel、TextField、Button
Chapter 4 シーンとノードで2Dゲーム!
4.1 シーンとノードの基本
ゲームにUIは使わない!
シーンとノード
スクリプトを作成しよう
シーンを表示する
SampleSceneを表示する
スプライトを使う
絵文字を画面に表示しよう
Point/Size/Rect
コードエディタのイメージ選択
リソース選択の表示について
drawメソッドで図形を描画する
Classic render loopモードを使ってみる
スプライトを動かそう
4.2 スプライト以外のNode
シェイプを表示する
直線でPathを作成する
その他の描画用メソッド
LabelNodeでテキストを表示する
UIでシーンを利用する
4.3 タッチ操作・アニメーション・スプライト管理
画面をタッチして操作する
タッチした場所にゆっくり移動する
Actionクラスを使おう!
その他の動作を行うActionメソッド
複数のActionの場合
スプライトの生成
スプライトを削除するには?
スプライトをタッチしたか調べるには?
4.4 スプライトをさらに使いこなす
イメージを切替表示する
スレッドとタイマー
イメージを切り替えてスプライトを動かそう!
スプライトのカラーを変える
衝突判定はどうする?
gravityで操作する
EfectNodeによる視覚効果
4.5 サンプルゲームを作ろう
傾きと画面タッチでプレイする!
スクリプトを作成しよう
オブジェクトの構成を整理する
ゲームはどのように動いている?
Chapter 5 Pythonista3をさらに使いこなそう!
5.1 ダイアログの利用
ダイアログについて
テキストダイアログを利用する
日時のダイアログについて
リストダイアログを使う
フォームダイアログについて
フィールドにセクションを設定する
データの共有を行う
イメージ共有とui.image
5.2 photosとイメージの利用
フォトライブラリを利用する
Assetの基本属性について
イメージをImageViewに表示する
イメージピッカーを利用する
アルバムを利用する
AssetCollectionについて
カメラで撮影しよう!
PL.Imageをui.imsgeに変換する
QRコードを作成しよう
5.3 連絡先の利用
連絡先を使うには?
名前で検索する
Personクラスの属性について
Personの作成・削除
電話番号・メールアドレス・住所のデータ
Personの種類で使う定数について
5.4 その他のiOS機能
ノーティフィケーションセンターの利用
メッセージのキャンセル
アクションURLを利用する
リマインダーの利用
アラームを追加する
リマインダーの削除
実行済みかどうかの処理
現在地点を調べる
クリップボードの利用
イメージをコピーするには?
サウンドの再生
音声による読み上げ
外部ファイルをインポートするには?
5.5 iOSの機能を拡張するプログラム
Todayウィジェットについて
ウィジェット表示の作成
サンプルウィジェットを作る
Todayウィジェットに設定する
Todayウィジェットを利用しよう!
サイズの自動調整
リサイズ対応のウィジェットを作る
共有シート用機能拡張を作る
共有データのための関数
共有シートの機能拡張サンプル
スクリプトの内容をチェックする
後は応用次第!
Appendix Python文法超入門
A.1 基本文法を覚える
スクリプトの書き方にはルールがある!
まずは「値」から
変数について
値の演算
比較演算とは?
代入演算について
制御構文は処理を制御する
条件分岐の「if」構文
値の変換について
繰り返しの基本「while」
構文とインデントに注意しよう
A.2 たくさんの値をまとめて扱う
リストについて
書き換え不可な「タプル」
数列を作成する「レンジ」
リスト専用の繰り返し「for」
インデックスの応用
集合を扱う「セット」
キーで値を管理する「辞書」
A.3 関数を使おう
関数を定義する
結果を返す関数
キーワード引数について
A.4 クラスの利用
クラスは「設計図」
クラスの定義
クラスを作ろう
クラスとインスタンス
インスタンスの使い方
コンストラクタについて
Bookクラスにコンストラクタを追加
継承について
後は、どうする?
索引