たぶん週刊「今週の進捗」

1週間に勉強したことや実装したことをネタに、週に1回(主に土日に)更新していく予定です。「多分」なので、臨時休刊があってもご海容ください。

初めての?Webアプリ開発

プロつく計画、新シリーズです。

以前からカービィグッズを買い漁っているのですが、
「最近これ買ったかな?」とレジで悩むことが多発し、
過去に買ったグッズを管理するWebアプリを作ろうと思いました。

以下メモ。 - 言語はRubyRoRを使う(ことが目的)。 - データベースで買ったグッズを管理。 - Heroku なり VPS なりにデプロイする。 - Webから購入を検討するグッズを登録できる。 - 各グッズにステータスを持たせる - 登録したら購入検討状態 - 買ったらページからグッズのステータスを購入済みにする

Apacheが立ち上がらなくなったので直した

ただのメモ。

ローカルで pukiwiki を動かすために、 apache を使っているのだけど、
ある日いつもどおりに動かなくなった。

エラーメッセージ

[Apache]   Error: Apache shutdown unexpectedly.
[Apache]    This may be due to a blocked port, missing dependencies, 
[Apache]    improper privileges, a crash, or a shutdown by another method.
[Apache]    Press the Logs button to view error logs and check
[Apache]    the Windows Event Viewer for more clues
[Apache]    If you need more help, copy and post this
[Apache]    entire log window on the forums

エラーログ

[Mon Nov 25 23:38:25.451512 2019] [cgi:error] [pid 39236:tid 1892] [client 127.0.0.1:62344]
    End of script output before headers: hello.py
[Mon Nov 25 23:38:25.454511 2019] [cgi:error] [pid 39236:tid 1892] [client 127.0.0.1:62344]
    AH01215:   File "C:/xampp/cgi-bin/hello.py", line 19\r: C:/xampp/cgi-bin/hello.py
[Mon Nov 25 23:38:25.454511 2019] [cgi:error] [pid 39236:tid 1892] [client 127.0.0.1:62344]
    AH01215:     break\r: C:/xampp/cgi-bin/hello.py
[Mon Nov 25 23:38:25.454511 2019] [cgi:error] [pid 39236:tid 1892] [client 127.0.0.1:62344]
    AH01215:     ^\r: C:/xampp/cgi-bin/hello.py
[Mon Nov 25 23:38:25.454511 2019] [cgi:error] [pid 39236:tid 1892] [client 127.0.0.1:62344]
    AH01215: SyntaxError: 'break' outside loop\r: C:/xampp/cgi-bin/hello.py

なんかCGI の設定あたりでエラーが発生しているようだ。
そういや udemy の講座で httpd.conf をいじったりしたなぁ。

<Directory "C:/xampp/cgi-bin">
    AllowOverride All
    Options ExecCGI
    Require all granted
</Directory>

まぁCGIの実行を取り消すだけでいいか。

<Directory "C:/xampp/cgi-bin">
    AllowOverride All
    Options None
    Require all granted
</Directory>

動いた。よし。

リメイクもポートフォリオの賑わい

GitHub Pages のポートフォリオを修正しました。

zeitungm.github.io

  • 些細な記述を削除した
  • 開発中のものだった画像を差し替えた
  • Unity版モヨウガエを追加した
  • ポートフォリオの並びを完成日時最新順に直した

結構気合い入れて作ったけど、作り直したいような気もする。

東ゲ部の進捗

先週挙げた要修正箇所は以下の通りでした。

  • SEをつける
  • 連鎖数を数える機能を追加する
  • せり上がりが連鎖を組み立てるシステムと噛み合ってないので上から降ってくるようにする
  • タイムアタックモードを作る
  • チュートリアルを作る
  • 難易度調整で色数を変えられるようにする

まずは第一歩ということで、ブロックをクリックしたときの効果音をつけました。

unityroom.com

効果音の素材はこちらからお借りいたしました。

taira-komori.jpn.org

OnSortiePointClick() 内で効果音を鳴らす

備忘録として。

どのブロックがクリックされたかを OnSortiePointClick 関数で検知しているのだけれど、
ブロックの色を変える処理の前で <AudioSource>.Play() を実行すると
そこで「参照したAudioSourceがassignされてない」とかでエラーになる。

スクリプトをアタッチしたオブジェクトにちゃんと AudioSource も AudioClip もアタッチしてあるのに何故…?
と思いはしたが、関数内からオブジェクトを参照できないのかもしれない、
だったらオブジェクトを参照できれば解決するだろうと思って以下のようにしてみた。

    public void OnSortiePointClick(...)
    {
        // スクリプトがアタッチされているオブジェクトを探す
        GameObject tmp_game_object = GameObject.Find("object_name");

       // 探したオブジェクトにアタッチされている AudioSource を探す
        AudioSource tmp_audio_source = tmp_game_object.GetComponent<AudioSource>();

        // 略
 
        // クリックされたブロックの色を変える(Voidのときはそのまま)
        if ( /* ブロックがクリックされたときの処理 */ )
            tmp_source_sound_clicked.Play();

    }

これでOKだった(最適だったかは知らぬ)

これからについて

さて。
去年からずっとUnityで作ってきた2Dパズルゲーム"モヨウガエ"をunityroomに公開して、
一応の完成としたので、これからやりたいことを書き留めたいと思います。

モヨウガエ改善

いろいろと未実装なところを見切り発車で公開してしまったので、
東ゲ部で改良していきたいと思います。

  • SEをつける
  • 連鎖数を数える機能を追加する
  • せり上がりが連鎖を組み立てるシステムと噛み合ってないので上から降ってくるようにする
  • タイムアタックモードを作る
  • チュートリアルを作る
  • 難易度調整で色数を変えられるようにする

次回作のゲーム開発のための仕込み

正直今あるスキルだけでゲームを作ることに限界を感じるので、
いろいろと勉強しようと思います。

Unity MultiPlayer がなくなるってマジ?

ゲーム以外の開発

正直コレが一番やりたいことだったりする。
Google App Engine なりなんなりでWebアプリを作りたいなぁと。

ZeitungM 先生の次回作にご期待ください!

もうゴールした

昨年11月よりちまちまと進めていた、10年前に開発した、

自作2Dパズルゲーム「モヨウガエ」をリメイクしてunityroomに公開しました!

unityroom.com

ところどころやり残したところはありますが、
公開が10年前の今どき、着手が1年前の今どきで節目を期限にしようということと、
完璧を追求したらきりがないということで、
これにて公開いたします。

全く進捗してないわけではないのだが

ごく僅かな進捗なので、わざわざ報告するほどのものでもない…

あと、直そうと思ってたところはわざわざ手を入れるほどでもなさそうだしいいかなぁ…