ゲー無をつくりませう
さて、そんなわけで今日もゲーム制作という名目で何かを作っていきます。以前もウディタと呼ばれるもので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 funcenumがわからないのではなく演算子がよく分からなかったというめっちゃ初歩的なところでつまづいていました。
・任意の型の変数「a」と値「b」に対し、「a :: b」とすると、aにbが代入される。
・aとbの型は等しくなければならない。
・この演算子は値を返さない。
特にこの::代入でつまづきました。はやくもドキュメント読まなかった代償が出てきましたね。月曜判定とか作っていた時に、よくつまづかなかったって思います。まあ、解決しました。しかしながら中身を作ってません。でも、タイトル作ってしまったんでボチボチ中身を作っていきましょうかね。まあ、その前にキューとスタックとかいう型の挙動が滅茶苦茶気になるんでそこをいじると思いますが……。
タイトル作りましたが、これ完成させる気があるかが本当に謎なんですよね。まあ、いいか……。せめて軽く中身は作りましょうかね。ところで、こういう制作系の完成過程を載せるのは個人的に徐々にできていく感が見えてわくわくするんですけど、見てる側ってのは面白くないんですよね。その辺りをどうやって解決していくかっていうのは難しいところです。