小学生からのJavaScript入門講座、今回もはじめていきましょう!
前回の講座では、HTMLやCSS、JavaScriptを分けて管理する方法を紹介しました。
今回はオブジェクトの作り方について紹介していきたいと思います。

前々回の講座、覚えてる?

えっと、私のイラストがキーボードの入力で動いたのでしょ?

そんな時は、オブジェクトを使うと便利だべ!

きゃー、山田先生!

そんな悲鳴をあげたら、わだずがおばけみたいだべ……
オブジェクトってなぁに?
オブジェクトといわれても、むずかしそうに思えますが、使い方を見ればすぐに理解できる簡単なものです。
ではオブジェクトとはなんなのでしょうか。

オブジェクトって言われても、難しすぎて分かんないよー

私もー。英語っぽいのはにがて

そんなに難しく考えることはないべ。オブジェクトは「もの」だと思えばいいべ

もの?

りこちゃんの画像を動かしたときを例にすると、りこちゃん自身のオブジェクトを作ればいいんだべ

私のオブジェクト!?
では、オブジェクトについて紹介していきます。
オブジェクトはかんたんにいうと「もの」です。
「物」でもありますし、「者」でもあります。
だから、りこちゃんのオブジェクトも作れます。
ここで、りこちゃんのオブジェクトを作ってみましょう!
オブジェクトは次のようにつくることができます。
以下のように、りこちゃんのオブジェクトをつくってみましょう!
var rico = new Object();
たったこれだけです。

newってどこかで見たことがあるような……

あれよ、日にちを取得したとき!

そうだべ。日にちを取得するDate()もオブジェクトだべ

でも、私のオブジェクトを作るとなにができるの?

そうだべな……ちょっと極端な話になってしまうべけど、必死に頑張ればりこちゃん自身ができるべ!

ど、どういうこと!?
ここで、実際にりこちゃんのオブジェクトを作ってみましょう!
まず、りこちゃんの特徴をまとめてみます。
- 名前 : りこ
- 国 : 日本
- 好きなもの : 錦戸くん
- 嫌いなもの : おばけ
- 得意な言語 : JavaScript
では、これをオブジェクトにまとめてみます。
var rico = new Object();
//name(名前)
rico.name = 'りこ';
//country(国)
rico.country = '日本';
//like(好き)
rico.like = '錦戸くん';
//dislike(嫌い)
rico.dislike = 'おばけ';
//language(言語)
rico.language = 'JavaScript';
alert(rico.name);
alert(rico.country);
alert(rico.like);
alert(rico.dislike);
alert(rico.language);
ブラウザで確認してみると、名前から得意な言語まで、順にアラートで表示されます。

こうやって、私についての情報を、覚えておいてもらうことができるのね!

ドット(.)の後ろは、プロパティといって、好きなプロパティ名をつけれるんだべ
りこちゃん移動のプログラムを、オブジェクトを使って書いてみよう!
前々回、キーボードの入力でりこちゃんを移動するプログラムを作りました。
さらに前回、そのファイルを分けて分かりやすくしました。
そこで作ったものを、今回学んだオブジェクトを使って書きかえてみましょう。
script.js
//画面に画像を表示する
document.write( '<img id="rico" src="rico.png">' );
//りこちゃんのオブジェクトを作成
var rico = new Object();
rico.x = 0;
rico.y = 0;
//なにかキーが押されたとき、keydownfuncという関数を呼び出す
addEventListener( "keydown", keydownfunc );
//キーが押されたときに呼び出される関数
function keydownfunc( event ) {
//押されたボタンに割り当てられた数値(すうち)を、key_codeに代入
var key_code = event.keyCode;
if( key_code === 37 ) rico.x -= 32; //「左ボタン」が押されたとき、rico.xの値から32を引き算する
if( key_code === 38 ) rico.y -= 32; //「上ボタン」が押されたとき、rico.yの値から32を引き算する
if( key_code === 39 ) rico.x += 32; //「右ボタン」が押されたとき、rico.xの値に32を足し算する
if( key_code === 40 ) rico.y += 32; //「下ボタン」が押されたとき、rico.yの値に32を足し算する
//りこちゃんの画像の位置(いち)を反映(はんえい)させる
document.getElementById( 'rico' ).style.top = rico.y + "px";
document.getElementById( 'rico' ).style.left = rico.x + "px";
}

これなら他のキャラクターが登場しても、そのキャラクターのオブジェクトを作って、xとyのプロパティで位置を管理すればいいのね! 分かりやすい!

そうだべ。これで色んな情報を管理しやすくなるんだべ
まとめ
今回はJavaScriptでのオブジェクトの使い方について、紹介しました。
オブジェクトを使うと、様々な情報を管理しやすくなり、とても便利です。

オブジェクトって聞いた時はむずかしそうだなって思ったけど、実際につかってみるとすごく便利だね

私もびっくりした! 私、今から錦戸くんのオブジェクトを作る!

ガクガク……。なんか、寒気がした

な……なんでよ!

うん!

うん! ネコ会議、頑張ってね! (……ねこかいぎ?)
このシリーズの一覧はこちら
- 小学生からのプログラミング入門。プログラミングってなぁに?
- Scratchの使い方と、ゲーム作りの基礎知識を学ぼう! 小学生からのプログラミング入門
- Scratchでじゃんけんゲームを作ろう! 小学生からのプログラミング入門
- Scratchでシューティングゲームを作ろう! 小学生からのプログラミング入門
- Scratchでピアノ鍵盤を作って音を鳴らそう! 小学生からのプログラミング入門
- テキストエディタ(Visual Studio Code)をインストールしてみよう! 小学生からのプログラミング入門
- Visual Studio Codeを日本語化してみよう! 小学生からのプログラミング入門
- JavaScriptでおみくじを作ろう! 小学生からのプログラミング入門
- JavaScriptで今月の残り日数を計算してみよう! 小学生からのプログラミング入門
- JavaScriptで画像を表示してみよう! 小学生からのプログラミング入門
- JavaScriptで画像を移動してみよう! 小学生からのプログラミング入門
- 【JavaScript】キー入力でキャラを動かしてみよう! 小学生からのプログラミング入門
- 【JavaScript】ファイルを分けて管理してみよう! 小学生からのプログラミング入門
- 【JavaScript】オブジェクトを使ってみよう! 小学生からのプログラミング入門
- 【JavaScript】ゲームのメインループを作ってみよう! 小学生からのプログラミング入門
- 【JavaScript】キャラを決まった間隔ずつ動かす! 小学生からのプログラミング入門
- HTML5とCanvasを使ってみよう! 小学生からのプログラミング入門
- 【JavaScript】迷路やRPGで使えるマップを作ってみよう! 小学生からのプログラミング入門
- 【JavaScript】マップでキャラを動かせるようにしよう! 小学生からのプログラミング入門
- 【JavaScript】クラスの概念をしっかりと理解しよう! 小学生からのプログラミング入門
- 【JavaScript】プログラム全体をクラスを使って作ってみよう! 小学生からのプログラミング入門
- 【JavaScript】文字を表示するクラスを作ってみよう! 小学生からのプログラミング入門
- 【JavaScript】改行と一文字ずつ画面に表示する方法! 小学生からのプログラミング入門
- 【JavaScript】ノベルゲーム風にキー入力で文字を切り替える方法! 小学生からのプログラミング入門
- JavaScriptでRPGを作ろう!スマホにも対応したゲームの作り方
- webpackを使ってゲームエンジンを作ろう!(JSライブラリの作り方)
- WindowsにPythonをインストールしてみよう!小学生からのPython入門
- MacにPythonをインストールしてみよう!小学生からのPython入門
- Pythonでじゃんけんゲームを作ってみよう!小学生からのPython入門
- Pythonのtkinterを使って、ウィンドウを表示してみよう!
- Pythonのtkinterで、画像つきのおみくじゲームを作ろう!