スクラッチプログラミングに挑戦している皆さん、どうも!スクラッチコーチです。
VIDEO 前回 ( ぜんかい ) は
タイルをグリッド状 ( じょう ) に並 ( なら ) べることに成功 ( せいこう ) した。じゃあ
次 ( つぎ ) はこのタイルをどうすればスクロールさせることができるのか。そこに
挑戦 ( ちょうせん ) していく。
今 ( いま ) ってクローンをめっちゃ
使 ( つか ) ってるけど、そもそも
スクラッチってクローンは300個 ( こ ) までしか作 ( つく ) れないという制限 ( せいげん ) がある。それを
考 ( かんが ) えると、このままクローンでステージを
埋 ( う ) め
尽 ( つ ) くすのは
得策 ( とくさく ) とは
言 ( い ) えない。そういう
制限 ( せいげん ) の
超 ( こ ) え
方 ( かた ) もこのチュートリアルで
見 ( み ) ていくぜ。
応用 ( おうよう ) の
効 ( き ) く
実装 ( じっそう ) 方法 ( ほうほう ) だから、またまたスキルレベルが
上 ( あ ) がっちゃうね!
今回 ( こんかい ) の目標 ( もくひょう ) 「タイルをスクロールさせる」ということでタイルをスクロールさせることができればこのチュートリアルは
成功 ( せいこう ) だよ。
分 ( わ ) かりやすくするためにスタータープロジェクトに
含 ( ふく ) まれている「
実験 ( じっけん ) 用 ( よう ) 」というスプライトを
表示 ( ひょうじ ) してみよう。
そうするとタイルの
周 ( まわ ) りが
暗 ( くら ) く
見 ( み ) えるようになったと
思 ( おも ) う。この
方 ( ほう ) が
分 ( わ ) かりやすいから
一時的 ( いちじてき ) にこのまま
進 ( すす ) めていこう!
ok-scratch
u003cpu003eこの実験 ( じっけん ) 用 ( よう ) スプライトのサイズが、記事 ( きじ ) の途中 ( とちゅう ) からサイズが異 ( こと ) なっています。最初 ( さいしょ ) は5x5の正方形 ( せいほうけい ) ですが、途中 ( とちゅう ) から(スクロールの動 ( うご ) きを確認 ( かくにん ) できるあたりから)4x4の正方形 ( せいほうけい ) に変 ( か ) えています。とくに動 ( うご ) きに違 ( ちが ) いはないので気 ( き ) にしないでOKです。u003c/pu003e
タイルの配置 ( はいち ) 方法 ( ほうほう ) を修正 ( しゅうせい ) する ではスプライト「タイル」を
開 ( ひら ) いておこう!
前回 ( ぜんかい ) は
実験 ( じっけん ) を
通 ( とお ) してタイルを
配置 ( はいち ) したけど、スクロールさせるために
少 ( すこ ) し
修正 ( しゅうせい ) する。
変数 ( へんすう ) 「X座標 ( ざひょう ) 」と「Y座標 ( ざひょう ) 」をつくるタイルのXとY
座標 ( ざひょう ) を
直接 ( ちょくせつ ) 変更 ( へんこう ) するのではなく、いったん
変数 ( へんすう ) として
値 ( ね ) を
保持 ( ほじ ) していく。もう
少 ( すこ ) し
進 ( すす ) めていくと
理由 ( りゆう ) が
分 ( わ ) かるよ。
置 ( お ) き換 ( か ) える(間違 ( まちが ) いやすいから注意 ( ちゅうい ) )じゃあ
既存 ( きそん ) のXとY
座標 ( ざひょう ) を
変数 ( へんすう ) に
置 ( お ) き
換 ( か ) えていく。この
操作 ( そうさ ) は
間違 ( まちが ) いやすいから1つずつ
一緒 ( いっしょ ) にやっていこう。
① X座標 ( ざひょう ) (◯にする) まず
最初 ( さいしょ ) のX
座標 ( ざひょう ) からだ。
式 ( しき ) だけを
取 ( と ) り
出 ( だ ) して
変数 ( へんすう ) にセットするぞ。
そしてブロックを
置 ( お ) き
換 ( か ) える↓
大丈夫 ( だいじょうぶ ) かな?
② Y座標 ( ざひょう ) (◯にする) 次 ( つぎ ) のY
座標 ( ざひょう ) もやってみるよ。
ブロックを
置 ( お ) き
換 ( か ) える。
③ Y座標 ( ざひょう ) (◯ずつ変 ( か ) える) 次 ( つぎ ) はY
座標 ( ざひょう ) を◯ずつ
変 ( か ) えるところだ。ここは
式 ( しき ) がないから
値 ( ね ) を32にして
置 ( お ) き
換 ( か ) える。
④ X座標 ( ざひょう ) (◯ずつ変 ( か ) える) 最後 ( さいご ) にX
座標 ( ざひょう ) だ。
よし!あ、まだ
動 ( うご ) かないよ。もう
少 ( すこ ) し
作業 ( さぎょう ) しよう。
メッセージ「タイルを配置 ( はいち ) します」を作 ( つく ) る メッセージを
作 ( つく ) ってタイルの
配置 ( はいち ) を
進 ( すす ) めていく。
これを
受 ( う ) け
取 ( と ) ったときブロックを
置 ( お ) いてXとY
座標 ( ざひょう ) をセットするようにしていくよ。
変数 ( へんすう ) を割 ( わ ) り当 ( あ ) てるさきほど
作 ( つく ) った
変数 ( へんすう ) をここにハメてみようか。
メッセージを送 ( おく ) る 緑 ( みどり ) の
旗 ( はた ) のところでメッセージを
送 ( おく ) ろう。
これで
今 ( いま ) までと
同 ( おな ) じ
動 ( うご ) きをするようになった!
なぜメッセージを送(おく)ってるの?ブロック定義(ていぎ)でよくない?
u003cpu003e最終的 ( さいしゅうてき ) にはこのメッセージ「タイルを配置 ( はいち ) します」は別 ( べつ ) のスプライトから呼 ( よ ) び出 ( だ ) すことを想定 ( そうてい ) しているんだ。あと、クローン1つ1つがメッセージを受 ( う ) け取 ( と ) って処理 ( しょり ) を実行 ( じっこう ) できるようにもなるから、このあとを見据 ( みす ) えると都合 ( つごう ) がいいんだ。u003c/pu003e
カメラを作 ( つく ) る カメラXとカメラYという
変数 ( へんすう ) を
用意 ( ようい ) して、このプロジェクトに「カメラ」という
概念 ( がいねん ) を
導入 ( どうにゅう ) する。カメラがあることで、このあと
作 ( つく ) るプレイヤー(マリオ)の
動 ( うご ) きに
合 ( あ ) わせてタイルがスクロールするような
演出 ( えんしゅつ ) が
可能 ( かのう ) になるんだ。
変数 ( へんすう ) 「★カメラX」と「★カメラY」を作 ( つく ) る両方 ( りょうほう ) ともすべてのスプライトで
参照 ( さんしょう ) できるように
作 ( つく ) っていこう。
スライダーにして最大 ( さいだい ) 500まで変更 ( へんこう ) できるようにする 変数 ( へんすう ) の
表示 ( ひょうじ ) を
右 ( みぎ ) クリックしてスライダーで
変更 ( へんこう ) できるようにしておこう。
もう一
回 ( かい ) 右 ( みぎ ) クリックして、
今度 ( こんど ) はスライダーの
指定 ( してい ) 範囲 ( はんい ) を
変更 ( へんこう ) しておこう。
とりあえず500にしておいて。
カメラYもスライダーにしておく カメラYも
同 ( おな ) じくスライダーにして0から500まで
指定 ( してい ) できるようにしよう。
横並 ( よこなら ) びにしておくと
分 ( わ ) かりやすいよ。
X座標 ( ざひょう ) からカメラXを減算 ( げんざん ) する タイルの
位置 ( いち ) をカメラに
合 ( あ ) わせて
動 ( うご ) くようにしたいので、X
座標 ( ざひょう ) からカメラXの
値 ( ね ) を
減算 ( げんざん ) する。
Y
座標 ( ざひょう ) 側 ( がわ ) も
同 ( おな ) じくY
座標 ( ざひょう ) からカメラYの
値 ( ね ) を
減算 ( げんざん ) して
置 ( お ) き
換 ( か ) えよう。こうなる↓
メッセージを常 ( つね ) に送 ( おく ) るようにする 緑 ( みどり ) の
旗 ( はた ) のところに
置 ( お ) いたメッセージを
送 ( おく ) る
処理 ( しょり ) が
繰 ( く ) り
返 ( かえ ) されるようにループで
囲 ( かこ ) うよ。
スクロールの第 ( だい ) 一歩 ( ぽ ) 、成 ( な ) る これで
動 ( うご ) かしてみると……
きったぁ!!スクロールの
産声 ( うぶごえ ) が
聞 ( き ) こえるぜ!
タイルを回 ( まわ ) り込 ( こ ) ませる(リサイクルする) 上 ( うえ ) の
動画 ( どうが ) を
見 ( み ) てみると、タイルが
動 ( うご ) くのはいいけど
白 ( しろ ) い
余白 ( よはく ) が
見 ( み ) えてしまうよね。スクロールゲームでは
余白 ( よはく ) があったら
困 ( こま ) るので、
画面 ( がめん ) 外 ( がい ) に
消 ( き ) えたタイルを
回 ( まわ ) り
込 ( こ ) ませて
余白 ( よはく ) を
埋 ( う ) めていくよ。
タイルを配置 ( はいち ) するときに回 ( まわ ) り込 ( こ ) み(リサイクル)を実装 ( じっそう ) する メッセージ「タイルを
配置 ( はいち ) します」を
受 ( う ) け
取 ( と ) ったときに、タイルがどこにいるかで
回 ( まわ ) り
込 ( こ ) む ( む ) かスクロールするかを、クローン1つ1つに
判断 ( はんだん ) させよう。
画面 ( がめん ) 外 ( がい ) (左 ( ひだり ) )にいるかどうか調 ( しら ) べるまずタイルの
場所 ( ばしょ ) (X
座標 ( ざひょう ) )はこれで
分 ( わ ) かる↓
そしてタイルが
画面 ( がめん ) 外 ( がい ) (
今 ( いま ) は
暗 ( くら ) い
部分 ( ぶぶん ) のこと)の
座標 ( ざひょう ) はコレで
分 ( わ ) かる↓
正確 ( せいかく ) に
言 ( い ) うとこれは
画面 ( がめん ) 外 ( がい ) (
左側 ( ひだりがわ ) )の
座標 ( ざひょう ) だね。クローン
生成 ( せいせい ) 数 ( すう ) Xに16を
掛 ( か ) けるとちょうど
画面 ( がめん ) 外 ( がい ) の
座標 ( ざひょう ) になるよ。クローン
生成 ( せいせい ) 数 ( すう ) Xは5だから「5 x -16」ということだね。これがどうして
画面 ( がめん ) 外 ( がい ) の
座標 ( ざひょう ) に
成 ( な ) るのか、
視覚的 ( しかくてき ) に
分 ( わ ) かるように↓コレを
見 ( み ) てね。
一番左 ( いちばんひだり ) の
赤 ( あか ) い
線 ( せん ) が5 x -16で
算出 ( さんしゅつ ) されるX
座標 ( ざひょう ) の
位置 ( いち ) だよ。ここよりもタイル
自身 ( じしん ) のX
座標 ( ざひょう ) が
小 ( ちい ) さければ、すなわち
画面 ( がめん ) 外 ( がい ) に
出 ( で ) てるっていう
判断 ( はんだん ) だね。
式 ( しき ) にするとこういう
感 ( かん ) じ↓
これを
条件 ( じょうけん ) 式 ( しき ) にはめよう。
画面 ( がめん ) 外 ( がい ) (右 ( みぎ ) )に回 ( まわ ) り込 ( こ ) ませる反対 ( はんたい ) 側 ( がわ ) に
移動 ( いどう ) させよう。
反対 ( はんたい ) 側 ( がわ ) に
行 ( い ) く
演算 ( えんざん ) はこれ↓
さっきはマイナス16だったけど、
今度 ( こんど ) は32だね。 また
視覚 ( しかく ) 化 ( か ) してみたよ↓
今度 ( こんど ) は
半 ( はん ) マス(16)じゃなくて1マス(32)を5
回 ( かい ) プラスの
方向 ( ほうこう ) に
動 ( うご ) かすと
右側 ( みぎがわ ) のX
座標 ( ざひょう ) が
算出 ( さんしゅつ ) できるというのが
見 ( み ) て
取 ( と ) れるかな。ブロックにするとこんな
感 ( かん ) じ↓
「◯ずつ
変 ( か ) える」ブロックになってるか
注意 ( ちゅうい ) してね。
動 ( うご ) きを確認 ( かくにん ) する今回 ( こんかい ) から
実験 ( じっけん ) 用 ( よう ) スプライトのサイズを4x4に
変更 ( へんこう ) してるよ。うっすらとタイルが
回 ( まわ ) り
込 ( こ ) んでいる
様子 ( ようす ) が
見 ( み ) て
取 ( と ) れるかな?
こうすることで
クローンをリサイクルできるんだ。これこそがスクラッチのクローン300個 ( こ ) の制限 ( せいげん ) に引 ( ひ ) っかからないようにスクロールを実装 ( じっそう ) できるカラクリ ってわけだね。ただ
逆方向 ( ぎゃくほうこう ) に
動 ( うご ) かすとまだリサイクルができてないよね。
次 ( つぎ ) は
逆方向 ( ぎゃくほうこう ) へのリサイクルも
実装 ( じっそう ) していくよ。
両方向 ( りょうほうこう ) に対応 ( たいおう ) した回 ( まわ ) り込 ( こ ) み処理 ( しょり ) を作 ( つく ) るまず
条件 ( じょうけん ) 式 ( しき ) から
変 ( か ) えていくよ。カンタンなのは
単純 ( たんじゅん ) に
条件 ( じょうけん ) ブロックをまるごとコピーしてしまう
方法 ( ほうほう ) だけど、ここでは
数学的 ( すうがくてき ) なトリックで
解決 ( かいけつ ) していく。といっても
何度 ( なんど ) かやったことがある
絶対値 ( ぜったいち ) を
使 ( つか ) った
方法 ( ほうほう ) だから、
比較的 ( ひかくてき ) シンプルな
技 ( わざ ) だよ。
画面 ( がめん ) 内 ( ない ) かどうかの判定 ( はんてい ) を変 ( か ) える条件 ( じょうけん ) 式 ( しき ) で
変 ( か ) えるのは3
箇所 ( かしょ ) ↓
まずX
座標 ( ざひょう ) - カメラXの
絶対値 ( ぜったいち ) を
求 ( もと ) める。それがクローン
生成 ( せいせい ) 数 ( すう ) X x 16より
大 ( おお ) きいかどうかを
調 ( しら ) べる。
変更 ( へんこう ) 後 ( ご ) はこんな
感 ( かん ) じ↓
X座標 ( ざひょう ) とカメラXの比較 ( ひかく ) を作 ( つく ) る 次 ( つぎ ) はX
座標 ( ざひょう ) がカメラXよりも
小 ( ちい ) さいかどうかを
調 ( しら ) べるために、この
条件 ( じょうけん ) ブロック
内 ( ない ) にもう1つ
条件 ( じょうけん ) ブロックを
配置 ( はいち ) する。
X座標 ( ざひょう ) がカメラXより小 ( ちい ) さいかどうか 大 ( おお ) きい場合 ( ばあい ) 小 ( ちい ) さい
場合 ( ばあい ) は
今 ( いま ) まで
通 ( とお ) り32ずつX
座標 ( ざひょう ) を
変 ( か ) えればOKで、
大 ( おお ) きい
場合 ( ばあい ) は
逆 ( ぎゃく ) に-32ずつ
変 ( か ) えればOk。
左右 ( さゆう ) にスクロールするぞ!ひゅいーん!
Y軸 ( じく ) にもスクロールさせる X
座標 ( ざひょう ) の
処理 ( しょり ) をまるごと
複製 ( ふくせい ) しよう。
Y軸 ( じく ) になるように各所 ( かくしょ ) を書 ( か ) き換 ( か ) える あとは
変数 ( へんすう ) を
入 ( い ) れ
替 ( か ) えよう。
入 ( い ) れ
替 ( か ) えるのは6
箇所 ( かしょ ) 。
タテにもスクロールするぅ! 黒 ( くろ ) いマスクをどけてみるよし
基本的 ( きほんてき ) なスクロールの
動 ( うご ) きは
出来 ( でき ) た!じゃあ
黒 ( くろ ) いマスクをどけてみようか、
実験 ( じっけん ) 用 ( よう ) スプライトを
表示 ( ひょうじ ) オフにしてみよう。
それでスクロールしてみよう!っと、あれ?
ガッタガタやん!?さっきまでのスムーズなスクロールはどこへ!?
タイルを画面 ( がめん ) いっぱいに広 ( ひろ ) げる 「なにかミスったか?」と
焦 ( あせ ) るかもしれないけど、
大丈夫 ( だいじょうぶ ) 。
実 ( じつ ) はさっきからずっとガタガタだった。たんに
黒 ( くろ ) いマスクがあったおかげで気 ( き ) にならなかっただけなんだ。ということは
今 ( いま ) は
中央 ( ちゅうおう ) に5マスずつしかないけど、
画面 ( がめん ) いっぱいにこのタイルを
広 ( ひろ ) げればさっきみたいな
挙動 ( きょどう ) になるはずだ。
何 ( なに ) タイル必要 ( ひつよう ) か計算 ( けいさん ) するではスクラッチのプレイ
画面 ( がめん ) の
横 ( よこ ) と
縦 ( たて ) に
何個 ( なんこ ) ずつクローンを
作 ( つく ) ればいいか
計算 ( けいさん ) してみようか。いまは
適当 ( てきとう ) に5 x 5を
定数 ( ていすう ) として「■クローン
生成 ( せいせい ) 数 ( すう ) X」「■クローン
生成 ( せいせい ) 数 ( すう ) Y」に
入 ( い ) れてるけど、ちょっと
割 ( わ ) り
算 ( ざん ) してみる。
ヨコ スクラッチのプレイ
画面 ( がめん ) の
横幅 ( よこはば ) の
座標 ( ざひょう ) は-240から240まで
合計 ( ごうけい ) 480ある。そして1つのタイルの
大 ( おお ) きさは32だから、480 ÷ 32 = 15になる。ただ15だとピッタリすぎてリサイクルされる
一瞬 ( いっしゅん ) に
白 ( しろ ) い
余白 ( よはく ) が
見 ( み ) えてしまうのでプラス1して、16
個 ( こ ) のクローンを
用意 ( ようい ) する。↓この
動画 ( どうが ) は
最初 ( さいしょ ) は
変数 ( へんすう ) 「■クローン
生成 ( せいせい ) 数 ( すう ) X」は15、
途中 ( とちゅう ) から16で
再起動 ( さいきどう ) して
両者 ( りょうしゃ ) の
違 ( ちが ) いを
確認 ( かくにん ) できるよ。16の
方 ( ほう ) がいい
感 ( かん ) じでしょ?
タテ タテは-180から180だから、360 ÷ 32 =
約 ( やく ) 12だ。ヨコのときと
同 ( おな ) じく12だと
余白 ( よはく ) が
気 ( き ) になるからプラス1して13を
変数 ( へんすう ) 「■クローン
生成 ( せいせい ) 数 ( すう ) Y」にセットしよう。コーディングはこんな
感 ( かん ) じになる↓
よしよし、これでカンペキ……かな?
なーんか、
下 ( した ) の
方 ( ほう ) のタイルおかしくない?
画面 ( がめん ) 外 ( がい ) に
消 ( き ) える
瞬間 ( しゅんかん ) にもたつくような
動 ( うご ) きしてるよね?
相撲 ( すもう ) の土俵 ( どひょう ) 際 ( ぎわ ) で粘 ( ねば ) る力士 ( りきし ) みたいにタイルが粘 ( ねば ) ってスムーズに消 ( き ) えない……。
画面 ( がめん ) 外 ( がい ) にスムーズに移動 ( いどう ) する処理 ( しょり ) これはスクラッチ
独特 ( どくとく ) の
仕様 ( しよう ) で、
画面 ( がめん ) から
消 ( き ) えるときにちょっと
突 ( つ ) っかかるように
動 ( うご ) くんだよね。これを
解決 ( かいけつ ) する
方法 ( ほうほう ) は
色々 ( いろいろ ) あるんだけど、
今回 ( こんかい ) はBIGというコスチュームを
使 ( つか ) った
技 ( わざ ) を
紹介 ( しょうかい ) する。
必 ( かなら ) ずしも
直感的 ( ちょっかんてき ) ではないけど、この
突 ( つ ) っかかり現象 ( げんしょう ) はBIGで解決 ( かいけつ ) できる、って
覚 ( おぼ ) えてしまえばOKだ。コスチュームを
見 ( み ) てみて。
1つ
目 ( め ) にBIGっていう
名前 ( なまえ ) のコスチュームがあるよね。
他 ( ほか ) のタイルのサイズは32 x 32だけど、このコスチュームは36 x 36になってて、
少 ( すこ ) しだけ
大 ( おお ) きめのBIGサイズなコスチュームなんだ。こいつがいい
仕事 ( しごと ) をする。
画面 ( がめん ) 外 ( がい ) に
消 ( き ) える
瞬間 ( しゅんかん ) だけタイルをこのBIGに
着替 ( きが ) えさせることで、あたかもスムーズに
画面 ( がめん ) 外 ( がい ) に
消 ( き ) えるような
演出 ( えんしゅつ ) ができるんだ。
突 ( つ ) っかかり現象 ( げんしょう ) が起 ( お ) きるタイミングが32 x 32よりも36 x 36のほうが(サイズが大 ( おお ) きいから)遅 ( おそ ) いんだ。その
特性 ( とくせい ) を
利用 ( りよう ) したトリック
技 ( わざ ) ってこと。まぁスクラッチ
以外 ( いがい ) では
使 ( つか ) えない
技 ( わざ ) だろうけど、
何事 ( なにごと ) も諦 ( あきら ) めなければ抜 ( ぬ ) け道 ( みち ) がある、って信 ( しん ) じて実験 ( じっけん ) しまくるのはプログラミングにおいてはメジャーな精神 ( せいしん ) 論 ( ろん ) だったりする。
BIGに着替 ( きが ) える ではメッセージ「タイルを
配置 ( はいち ) します」を
受 ( う ) け
取 ( と ) ったときの、
座標 ( ざひょう ) 変更 ( へんこう ) を
反映 ( はんえい ) する
直前 ( ちょくぜん ) で
着替 ( きが ) えようか。
よし、
座標 ( ざひょう ) を
反映 ( はんえい ) したらすぐにまた
元 ( もと ) のコスチュームに
戻 ( もど ) せばOK!……なんだけど、
どのコスチューム(タイル)に戻 ( もど ) せばいいか分 ( わ ) からない から
変数 ( へんすう ) を
作 ( つく ) ってコスチューム
番 ( ばん ) 号 ( ごう ) を
保持 ( ほじ ) しておこう。
変数 ( へんすう ) 「コスチューム番 ( ばん ) 号 ( ごう ) 」を作 ( つく ) る
タイルのコスチューム番(ばん)号(ごう)、の方(ほう)が正確(せいかく)では?
u003cpu003eうん、たんにコスチューム番 ( ばん ) 号 ( ごう ) っていう名前 ( なまえ ) にするよりも、タイルのコスチューム番 ( ばん ) 号 ( ごう ) にしたほうが分 ( わ ) かりやすいと感 ( かん ) じる人 ( ひと ) も多 ( おお ) いと思 ( おも ) う。もしそう感 ( かん ) じるなら、さっき作 ( つく ) ったX座標 ( ざひょう ) とY座標 ( ざひょう ) も「タイルのX座標 ( ざひょう ) 」「タイルのY座標 ( ざひょう ) 」っていう名 ( めい ) 前 ( まえ ) の方 ( ほう ) が正確 ( せいかく ) だと感 ( かん ) じるかもね。u003c/pu003eu003cpu003e僕 ( ぼく ) の場合 ( ばあい ) はu003cemu003eスプライト名 ( めい ) が「タイル」なわけだからu003c/emu003e、コスチューム番 ( ばん ) 号 ( ごう ) というローカル変数 ( へんすう ) があったらそれはu003cemu003e暗黙 ( あんもく ) の了解 ( りょうかい ) でu003c/emu003e(タイルの)コスチューム番 ( ばん ) 号 ( ごう ) とか、(タイルの)X座標 ( ざひょう ) っていう解釈 ( かいしゃく ) に成 ( な ) ると思 ( おも ) っているからわざわざ「タイルの」って言葉 ( ことば ) を付 ( つ ) けてない。付 ( つ ) けないと誰 ( だれ ) のコスチューム番 ( ばん ) 号 ( ごう ) なのか分 ( わ ) からない!というときはつけるけど、今回 ( こんかい ) は付 ( つ ) けなくても分 ( わ ) かると思 ( おも ) ったので付 ( つ ) けてない。でも付 ( つ ) けてもOK!u003c/pu003eu003cpu003eこのあたりの議論 ( ぎろん ) は突 ( つ ) き詰 ( つ ) めるとけっこうディープな話 ( はなし ) になっていくから面白 ( おもしろ ) かったりもする。オブジェクト指向 ( しこう ) とかポリモーフィズムといったプログラミング上 ( じょう ) の概念 ( がいねん ) にまで波及 ( はきゅう ) する可能性 ( かのうせい ) もあるので、興味 ( きょうみ ) がある人 ( ひと ) は調 ( しら ) べてみるのもアリ!u003c/pu003e
初期化 ( しょきか ) 時 ( じ ) のコスチューム番 ( ばん ) 号 ( ごう ) を保持 ( ほじ ) するブロック
定義 ( ていぎ ) 「_
初期 ( しょき ) 化 ( か ) する」でコスチューム
番 ( ばん ) 号 ( ごう ) をランダムに
割 ( わ ) り
当 ( あ ) ててるところがあるよね。そこで
着替 ( きが ) えるのではなく、いったん
変数 ( へんすう ) にコスチューム
番 ( ばん ) 号 ( ごう ) を
保持 ( ほじ ) するように
置 ( お ) き
換 ( か ) えるよ。
式 ( しき ) だけ
移 ( うつ ) したらブロックも
差 ( さ ) し
替 ( か ) える。
元 ( もと ) のタイルに戻 ( もど ) すよし、さっきBIGに
着替 ( きが ) えたところに
戻 ( もど ) ろう。そこで
座標 ( ざひょう ) を
反映 ( はんえい ) させたあとに
元 ( もと ) のタイルに
戻 ( もど ) るようにブロックを
置 ( お ) くよ。
スムーズに画面 ( がめん ) 外 ( がい ) に行 ( い ) くぞ! 画面 ( がめん ) の
外 ( そと ) にスムーズに
移動 ( いどう ) できるようになったぜ!ドスコイ!
ステージを作 ( つく ) ってみる! ここまでたどり
着 ( つ ) いた
諸君 ( しょくん ) !おめでとう!いま
作 ( つく ) ったプロジェクトこそが、
素晴 ( すば ) らしきスクロールゲームのエンジンとなる
革命的 ( かくめいてき ) なタイルマップシステムだ。いまはランダムに
並 ( なら ) んでいるタイルを、
規則的 ( きそくてき ) に
並 ( なら ) べることでマリオやマイクラ、
忍者 ( にんじゃ ) 伝 ( でん ) といった
名作 ( めいさく ) が
育 ( はぐく ) まれる
土台 ( どだい ) となるぞ!たまらん!たまらんですぞぉ!みんながどんな
作品 ( さくひん ) を
作 ( つく ) ろうとニヤニヤしているのか、
想像 ( そうぞう ) するだけでこっちもワクワクしてくる!
分 ( わ ) かる
人 ( ひと ) はどんどんステージを
考 ( かんが ) えておいてくれ。もちろんチュートリアルもまだ
終 ( お ) わらないぜ。このあとステージを
作 ( つく ) り
込 ( こ ) む ( む ) 方法 ( ほうほう ) を
紹介 ( しょうかい ) して、
実際 ( じっさい ) にマリオ(プレイヤー)がどうすればタイルの
上 ( うえ ) を
暴 ( あば ) れまわることができるのかまで
紹介 ( しょうかい ) していく
予定 ( よてい ) だ!
刮目 ( かつもく ) して
待 ( ま ) つべし。