ドトド 2023/08/19 09:00

javascriptに挑戦

今週は結構遊んでしまったArukuです。

最近やってたゲームの大き目のアップデートが立て続けにあって「ゲーム作らなきゃ」と思いつつ結構ゲームやっちゃってました。
ま、まぁたまにはね?お盆休み無いし気分だけでもお盆休みにしたいというか・・・。

はい、制作を続けます。

今作っているのは行動選択システムです。
難しそうな事いってますが要するに"何をしたいか"を選んで結果を返すだけのシステムです。
ツクールのメニューを自作してるようなもんだと思って下さい。
しかしこれが結構難しい、スクリプトを駆使する必要があります。
やろうと思えば必要最低限のスクリプトで組めるのですが、その場合スクリプトだと5行ぐらいでできたことが、スクリプトを使わないと50行ぐらい必要になったりします。
こうなるとエラーが起きた時の修正にかかる労力も半端では無いのできちんとスクリプトで組みます。
えぇ、習ったことも無いJavascriptです。

まずはメニューに必要な画像を用意しました。


アイコンです、これを選択してその結果を返すシステムを作ります。


この様にゲーム中に表示するだけなら簡単です。
しかし、行動を決定した時のイベントを組み込む必要があります。
"どのアイコンを選んだのか"をシステムで判断しなければなりません。
そして"現在どのアイコンを選んでいるのか"をプレイヤーにもわかるようにしなくてはいけません。
何に苦労したかって・・・?全部だよ!


選択中のアイコンはこんな感じに上に動かして分かるようにしました。
ちょっと光らせてもいいかも。
しかしこんなちょっとした動きをやらせるのにも大分苦労しました。


私が組んだスクリプトです。
これに至るまでエラーを何度積み重ねたことか・・・スクリプト内で変数を使う場合にどのように定義したらいいのかわからない事が多くて困りました。

今までもスクリプトは使ってきたのですが、ツクールで使用する変数が膨大になってしまうのでスクリプト内で完結する変数、ローカル変数を利用したり等、新しい事に挑戦してたらもう大変。
他にも今まではスクリプトと言っても単一の処理を行わせていましたが、一度にまとまった処理をこなさせてみたり・・・こんな感じに。


このスクリプトの処理を人間の言葉で説明すると。
「変数Aの番号のIDの変数の値が0の場合、変数Bの値を代入して処理を終了する。
0ではない場合、変数Aに定数1を加算し、最初から処理をやり直す。」
と言う処理になります、ややこしい。

これをスクリプト無しでやろうとすると、変数Bの値が代入される可能性がある変数の数だけ個別の条件分岐を設定する必要があり、とんでもない事になります。

システムの説明とかして凄い長文になってしまった。
javascriptができる人が見たら「凄い簡単じゃねえか!」と思うかもしれませんが結構時間かかりましたよ!
目指せ!java職人、ですね。
最近は画像の素材を作ってばかりでシステムをいじってなかったせいでイベントの処理がどうなってるか忘れかけてたというのもありますが。

では今回はこれにて、javaの可能性を感じた週でした。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

記事のタグから探す

月別アーカイブ

記事を検索