TNG 2023/10/01 00:05

ルーレットの考察と実装(ネタバレ注意)

ものすごくネタバレです。
            :
            :
            :
            :
            :
            :


今回はルーレットの作成についてです。
ルーレットに求める要件は以下の通りです。

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までに進捗報告します。


なにやら、最近は実装が上手く進んで、嬉しい限りです。
今まで、あれやこれやと捏ねくり回しても出来なかったのに……。

次回の中年男……どんな容姿にしようかな。
やっぱり髪は寂しくなっていて、お腹が出ていて?
いやいや、スリムな感じも悪くない?
やっぱり渋さも欲しいような?
疲れた感じも外せない。
問題は……画力が無い事だけだなぁ……。

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

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

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索