ゲー無をつくりませう
さて、そんなわけで今日もゲーム制作という名目で何かを作っていきます。以前もウディタと呼ばれるものでRPGもどきを作ってましたが、あれはどうなったかというと絶賛放置中ですね。放置中なのにじわじわと改変したりとかしなかったりしていて制作を続けているので、ブログネタになりそうだなってなったらまた公開するんだと思います。あれのキャプチャ画像が一番サムネ映えする気がする……。
ゲー無をつくりゅ ~ Part 2
さて、今回はウディタでなくKuinです。前回悩んでいた箇所が解決してこんなのになりました。
タイトルのカーソルが動きます!それだけです。進捗だらだらやね。
{~略~} ; タイトル画面。 enum Conf start options credits end enum func title() var texTitle: draw@Tex :: draw@makeTex("res/title.png") var texTitleLogo: draw@Tex :: draw@makeTex("res/title_logo.png") var font: draw@Font ::draw@makeFont(null, 28, false, false, false, 24.0) var startState : @Conf :: %start while(wnd@act() & input@pad(0, %a) <> 1) {Aボタンが押されるまでループ} do texTitle.draw(0.0, 0.0, 0.0, 0.0, 1920.0, 1080.0, draw@white) do texTitleLogo.draw(50.0, 300.0, 0.0, 0.0, 1920.0, 1080.0, draw@white) do font.draw(100.00,100.0,"GameStart",draw@white) do font.draw(100.00,200.0,"Options",draw@white) do font.draw(100.00,300.0,"Credits",draw@white) ;キー入力 switch(startState) case(%start) do font.draw(40.0, 100.0,"→",draw@white) if(input@pad(0, %up) = 1) do startState :: %credits elif(input@pad(0, %down) = 1) do startState :: %options end if case(%options) do font.draw(40.0, 200.0,"→",draw@white) if(input@pad(0, %up) = 1) do startState :: %start elif(input@pad(0, %down) = 1) do startState :: %credits end if case(%credits) do font.draw(40.0, 300.0,"→",draw@white) if(input@pad(0, %up) = 1) do startState :: %options elif(input@pad(0, %down) = 1) do startState :: %start end if end switch do draw@render(60) end while end func
enumがわからないのではなく演算子がよく分からなかったというめっちゃ初歩的なところでつまづいていました。
・任意の型の変数「a」と値「b」に対し、「a :: b」とすると、aにbが代入される。
・aとbの型は等しくなければならない。
・この演算子は値を返さない。
特にこの::
代入でつまづきました。はやくもドキュメント読まなかった代償が出てきましたね。月曜判定とか作っていた時に、よくつまづかなかったって思います。まあ、解決しました。しかしながら中身を作ってません。でも、タイトル作ってしまったんでボチボチ中身を作っていきましょうかね。まあ、その前にキューとスタックとかいう型の挙動が滅茶苦茶気になるんでそこをいじると思いますが……。
タイトル作りましたが、これ完成させる気があるかが本当に謎なんですよね。まあ、いいか……。せめて軽く中身は作りましょうかね。ところで、こういう制作系の完成過程を載せるのは個人的に徐々にできていく感が見えてわくわくするんですけど、見てる側ってのは面白くないんですよね。その辺りをどうやって解決していくかっていうのは難しいところです。