おねーちゃん!ここのテーマに書かれてる「GUI」ってなんなの??
GUIは「グラフィカル・ユーザー・インターフェース」の略で、ウィンドウやボタン、アイコンみたいな視覚的な要素を入れて、マウス操作やタッチ操作で操作できるようにしたものだよ
そういえば、今までやってきたプログラムは出力結果にグラフの画像とかは出せてたけど、操作自体は文字入力だけだったもんね!!
ちなみに、葵が言うような今まで作ってきたものは「キャラクター・ユーザー・インターフェース(CUI)」って言われてるよ
ほうほう
...ってことは、ここからはパソコンとかスマホで使うアプリとかゲームを作っていく感じなんだね!
そういうこと!
それから、GUIを作る前に感覚として持っておいてほしいプログラムの考え方があるんだ
それは...難しいお話ですか...??
まぁ考え方の話だから、そんなに身構えなくても良いよ
まず、あおいが普段使うスマホのアプリを思い出してみてほしいんだけど、アプリの中にはたくさん「ボタン」があるよね?
そうだね!ソシャゲでキャラクターを押したらステータスが出てきたり、ボタンを押したら他の画面に移動したりするよ!
そうそう、そんな感じで「何かをすると何か動作が始まる」って仕組みを使うプログラムを作ることを「イベント駆動型プログラム」って言うんだ
それって、今までやってた「input()」で入力されるまで待つってのとは違うの?
その場合だと、キーボードで何か入力してエンターキーが押されるまで他に何もできなくなるでしょ?
GUIの場合は沢山ボタンがあるから、どれが押されるか分からない状態で待って、どれかが押されるとそれに対応した動作を始めるって感じになるんだ
ほうほう
確かに、色んなボタンから反応を待つようにするってのは今までと考え方が違うね
なんとなく考え方は分かったかな?まぁここから先はそんな考え方で作っていくんだって認識で丈夫だよ!
なんとなくは分かった!
でもそう思うと、GUIってボタンとかを沢山使ってるから1つ1つ機能を作っていくのは大変だね(汗)
良いところに気づいたね!
そこで必要なもう1つ考え方が「オブジェクト指向」だよ
おぶじぇくとしこう??
例えばゲームの中のボタンは、「表示する文字を変えられる」「ページを移動する」「攻撃する」みたいな押された時の機能をそれぞれが持ってるよね
確かに、ボタンといっても押した時の機能がそれぞれ違ってることが多いね
そんなボタンみたいに「機能を持った部品」のことを「オブジェクト」と言って、オブジェクトごとにプログラムを作るって考え方を「オブジェクト指向」って言うんだ
まぁ言わんとすることは分かるけど、いまいちピンと来ない...
この次の項目で「class(クラス)」を紹介するけど、その時にオブジェクト指向のイメージをなんとなく掴めたら良いから気にしなくても大丈夫だよ!
りょーかい!
