ルーレットの考察と実装(ネタバレ注意)
ものすごくネタバレです。
:
:
:
:
:
:
今回はルーレットの作成についてです。
ルーレットに求める要件は以下の通りです。
1.クリックすると、すぐに停止する。
2.クリックすると、少し回ってから停止する。
3.ルーレットはゲーム進行状況等によって複数の図柄を用意する。
4.いずれにせよ、クリックしたタイミングによって、
確実に同じ値が出る。(ランダム要素無し)
1と2は、捕まったキャラクターによって切り替えようと思います。
3は、ルーレットの絵を何枚か用意するとして、それを実際のデータと
どうやってリンクさせるか?が問題です。
(絵で5と描かれていて、実際に5というデータをどうやって得るか?)
4は、ゲームの方向性として、絶対必須だと考えています。
まず、RPGツクールMVは、絵の回転命令を角度で指定するのですが、
一度回転を始めると、停止命令を出すまで止まりません。
具体的な停止方法は、回転角度0度を指定する事になります。
ソースコードをちょっとだけイジれば回転角度指定分だけ回転させて
止まるとの事で、それを実施しました。
これで、回転角度増やしていく事で、回転を実現できます。
1.元の絵を6度回転させて描画する。
2.元の絵を12度回転させて描画する。
3.元の絵を18度回転させて描画する。
:
こんな感じです。
ではデータとどうやってリンクさせるか?
色々な方法を考えましたが、実現できそうなのは、
6度ずつ割った円を用意して、
1.元の絵を6度回転させて描画する。
2.元の絵を12度回転させて描画する。
3.元の絵を18度回転させて描画する。
:
?.ルーレットが停止した時の回転角度を6で割る事で、
何分割目かが分かる。
そんな感じで行けそうです。
……あれ?要件、全部突破しちゃった?
というわけで、実装してみました。(注意:3MBあります)
クリックして暫くしてから止まるのは、加算角度を少しずつ減らして
みました。
一応、それなりに動いているようです。
実はこれが回転の最高速度ですが、まぁ、十分な難易度ではないかと。
後は、分割した円をいくつかグループ化する事で、難易度調整が
出来るかと思います。(1~3に止まると「逃走成功」とか)
後は、ルーレットの絵をちゃんと作成すれば良さそうです。
さて次回は……中年男の外観でも決めようと思います。
◆今後やることリスト:進捗率
登場人物作成
・主人公少女 :90%
・金髪男 :90%
・スキンヘッド男 :90%
・追加少女 :90%
・中年男 :30%
絵作成
・セリフ表情顔 :0%
・ドットキャラ絵 :0%
・立ち絵 :0%
・イベント絵 :0%
ストーリー作成
・オープニング :90%
・共通ルート :0%
・ED1A :90%
・ED1B :90%
・ED2A :0%
・ED2B :0%
・ED2C :0%
・ED2D :90%
・ED2E :90%
・全体調整 :0%
舞台作成 :85%
ルーレット作成 :50%(new)
フリー素材の音楽 :0%
立ち絵表示部分 :90%
ぷちイベント絵表示部分 :50%
全体進捗率:46%
次は10/5までに進捗報告します。
なにやら、最近は実装が上手く進んで、嬉しい限りです。
今まで、あれやこれやと捏ねくり回しても出来なかったのに……。
次回の中年男……どんな容姿にしようかな。
やっぱり髪は寂しくなっていて、お腹が出ていて?
いやいや、スリムな感じも悪くない?
やっぱり渋さも欲しいような?
疲れた感じも外せない。
問題は……画力が無い事だけだなぁ……。