コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

ゲームを作ろうと思って30秒で挫折した問題が解決してしまったんですが

ゲー無をつくりませう

さて、そんなわけで今日もゲーム制作という名目で何かを作っていきます。以前もウディタと呼ばれるものでRPGもどきを作ってましたが、あれはどうなったかというと絶賛放置中ですね。放置中なのにじわじわと改変したりとかしなかったりしていて制作を続けているので、ブログネタになりそうだなってなったらまた公開するんだと思います。あれのキャプチャ画像が一番サムネ映えする気がする……。


ゲー無をつくりゅ ~ Part 2

さて、今回はウディタでなくKuinです。前回悩んでいた箇所が解決してこんなのになりました。
f:id:andron:20171103210024g:plain
タイトルのカーソルが動きます!それだけです。進捗だらだらやね。


前回
inujini.hatenablog.com


ソースコード

{~略~}
; タイトル画面。
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の型は等しくなければならない。
・この演算子は値を返さない。

特にこの::代入でつまづきました。はやくもドキュメント読まなかった代償が出てきましたね。月曜判定とか作っていた時に、よくつまづかなかったって思います。まあ、解決しました。しかしながら中身を作ってません。でも、タイトル作ってしまったんでボチボチ中身を作っていきましょうかね。まあ、その前にキューとスタックとかいう型の挙動が滅茶苦茶気になるんでそこをいじると思いますが……。

タイトル作りましたが、これ完成させる気があるかが本当に謎なんですよね。まあ、いいか……。せめて軽く中身は作りましょうかね。ところで、こういう制作系の完成過程を載せるのは個人的に徐々にできていく感が見えてわくわくするんですけど、見てる側ってのは面白くないんですよね。その辺りをどうやって解決していくかっていうのは難しいところです。