音無サノトの空想録

4コマ漫画と創作日記

【4コマ】今日は特にいうことない

『兄妹』 ぜいたく

f:id:otonasisanoto:20200914225744j:plain

時間にゆとりあるって大切。

 

どうも音無サノトです。

久々にブログで書くことが思いつかないですなー。

毎日やっているし、文章を書くことはそんなに苦にならないのに、なんか10分くらいボーッとしてます。

 

いつもは3分くらいで書きあげるのに。

いや、いつもが早すぎなのか?

 

自分は漫画の方をもうちょい頑張りたいからブログはテキトーにやる精神なので書くの早めです。

悪くいえば手抜きですが、、、まあお金もらってないし、趣味だからいいか。

 

。。。以上です

 

本日は以上です。最後まで読んでいただきありがとうございました!

【4コマ】1日3食

『兄妹』 朝飯前

f:id:otonasisanoto:20200913214358j:plain

最近、朝食をとってないなー。

どうも音無サノトです。

ご飯を食べた後って集中力下がりません?

自分だけかな。

自分は満腹になって眠くなって、作業の生産性が下がります。

だから割と集中しているときとかってご飯を食べないです。

というか食べることを忘れます。

健康にいいかどうかはおいといて。

実家暮らしなので母親が定刻に出してくれるのですが、それがないと1日1食になりかねないです。

でも、よく考えたらなんで1日3食というのが根付いているのでしょう?

なんか意味がある気がするんですよねー、こういうの。

案外、昔からの習慣って理にかなっていることが多いので。

調べてみると面白そう。

本日は以上です。最後まで読んでいただきありがとうございました!

【ゲーム制作】Unityを利用した横スクロールゲーム開発 03 制限時間とBGMの追加

どうも音無サノトです。

個人的趣味でやっているゲーム制作メモです。

 

今日の成果

  • 時間制限の追加
  • 土台が落ちるトラップの追加
  • BGMの追加

 

作業ログ

 時間制限の追加

ゲームに緊張感を持たせるため時間制限の処理を追加します。

まずゲームの様々な要素を管理するために「GameController」という空のオブジェクトを用意します。

f:id:otonasisanoto:20200913120118p:plain

 

次に時間を表示するテキストとタイムオーバーになった時のテキストをCanvasプレハブ内に用意します。

f:id:otonasisanoto:20200913120630p:plain

 

先ほど作ったGameControllerに次の処理を追加します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class GameController : MonoBehaviour
{
    public float countTime; // カウントの時間
    public Text countText;  // 時間の表示
    public Text timeoverText;   // タイムオーバーの表示

    
    void Start()
    {
        timeoverText.gameObject.SetActive(false); // タイムオーバーの表示をオフに
    }

    void Update()
    {
        // 残り時間の計算
        countTime -= Time.deltaTime;

        // 残り時間を表示する
        countText.text = "残り" + countTime.ToString("f1") + "秒";

        // 残り時間が0になったら
        if(countTime < 0)
        {
            timeoverText.gameObject.SetActive(true); // タイムオーバーの表示をオンに
            Time.timeScale = 0; // ゲーム停止
        }
    }
}

UnityではTime.deltaTimeで1フレームの時間を取得できるので、制限時間として設けた数値から引くことでカウントダウンを実装しています。

 

実装するとこんな感じ。

 

土台が落ちるトラップの追加

プレイヤーがその土台に触れたら落下するトラップを作ります。

プレイヤーが土台に触れた瞬間、オブジェクトの色を変えて危険だということを知らせます。

その後に土台が落下するという流れの処理を実装します。

 

これは全部スクリプトでやってしまいます。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FallBlock : MonoBehaviour
{
    private bool isFall = false;    // トラップのフラグ
    public int count;   // ループさせる回数
    private Vector3 temPosition;

    void Update()
    {
        if(isFall)
        {
            // オブジェクトを落下させる処理
            temPosition = this.transform.position;
            temPosition.y = temPosition.y - 0.05f;
            this.transform.position = temPosition;
        }
    }

    void OnCollisionEnter(Collision collision)
    {
        // プレイヤーというタグのオブジェクトに衝突したら
        if(collision.gameObject.tag == "Player")
        {
            StartCoroutine("OnTrap");
        }
    }

    IEnumerator OnTrap()
    {
        // ループさせることでオブジェクトの色をチカチカさせる
        for(int i = 0; i < count ; i++){
            GetComponent<Renderer>().material.color = Color.red;    // 色を赤にする
            yield return new WaitForSeconds(0.5f);  //0.5秒待つ
            GetComponent<Renderer>().material.color = Color.gray;    // 色を灰色にする
            yield return new WaitForSeconds(0.5f);  //0.5秒待つ
        }

        GetComponent<Renderer>().material.color = Color.red;    // 最後は赤にする

        isFall = true; // 落下発動
    }
}

 

これを落下させたいオブジェクトにつけるだけです。

 

BGMの追加

やっぱゲームには音楽付けないとダメですよねー。

ということでBGMを追加します。

使う音源は自分がライブ配信用に作ったテキトーBGMがあるので、とりあえずそれを使います。

 

Unityの音源はAudio Sourceから発生して、それをAudio Listenerでキャッチすることで聞こえるというシステムです。

Audio Listenerはデフォルトでカメラについているので、今回はそのままAudio Sourceをカメラに追加してBGMを実装します。

個人的にはこれが一番簡単。

Audio Sourceを追加したら音源を設定、ループにチェックを入れてボリュームを調整したら完了です。

f:id:otonasisanoto:20200913140402p:plain

 

これで終わり。作業時間3分。いいね。

 

とりあえず今日はここまで。

プロトタイプとしてはだいぶ形になってきたし、ゲーム制作にも慣れてきました。

来週は続きをやるか、新しいゲームに入るかちょっと考えます。

 

本日は以上です。最後まで読んでいただきありがとうございました!

【4コマ】祭りの思い出

『兄妹』 祭り

f:id:otonasisanoto:20200913012313j:plain

人混みは自分も苦手です。

 

どうも音無サノトです。

今年はイベント事がめっきり減りましたね。

このご時世では仕方がないです。

 

夏祭りなんてものも行われていないのでしょう。

わたし個人としては夏祭りに言った記憶が小学生以来ないという状態です。

あまり祭りに興味がない。

あっでも社会人になって会社主催の祭りで出店をやったことがあります。

酒を飲みながらテキトーに店番をやるという感じなのですが、あれは楽しかった。

元気のある子供達と一緒に遊びながらやったもんです。

 

そのとき感じましたね。

ああ、生きるってこんな感じなんだよなって。

何も考えずに楽しくはしゃぐ。

子供の方がしっかり生きているじゃないか。

見習わなければ。

 

本日は以上です。最後まで読んでいただきありがとうございました!

【4コマ】瞬間移動の先にものがあったら挟まれない?

『兄妹』 瞬間移動

f:id:otonasisanoto:20200911234636j:plain

っていつも映画とかみてる時に思います。

 

どうも音無サノトです。

映画とかのSF要素に例外パターンというか、ちょっとした思考実験をするのが面白いです。

例えばドラえもんの道具にどこでもドアというものがありますが、あれを自分の2メートルくらい後ろに設置して、ドアを開けるのどうなるのか。。。

自分の後ろ姿が見えるのか、その場合、自分がドアをくぐるのが見える様になるから、なんかちょっと怖くないですかね。

てな感じでSF要素を使った思考実験、なかなか楽しいのでいいですよ。

考えるだけだからお金もかからないし。

そうだよね。考えるのにはお金かからないから、考えるということはいい娯楽になるのかもしれません。

 

本日は以上です。最後まで読んでいただきありがとうございました!

【4コマ】電脳世界で生活してみたい

『兄妹』 田舎

f:id:otonasisanoto:20200910225857j:plain

完全に今のわたし。

 

どうも音無サノトです。

オンラインだけで生きていけないかな。。。

まあ食べなきゃいけないので現実的には無理ですが、もうラクを覚えてしまい外に出たくない今日この頃です。

また体の弱体化が始まってしまう。。。

 

それにしても便利な世の中ってどうなんでしょうね。

本当にほとんどのことがオンラインで終わってしまい、なんというか本来あるべき生き物の姿から遠ざかっている気がします。

そのうちSF映画みたいに電脳世界に繋がれて生きていく、なんてことが現実になったりして。

そういう世界って大体が悲劇として描かれていますが、個人的には生きる選択肢の一つとして別にアリでは、と思ってます。

毎日、電脳世界にいるから問題なわけで、週に1回か2回くらいは電脳世界にこもってもいいじゃん。

生き物らしさからは遠ざかってますが。

 

本日は以上です。最後まで読んでいただきありがとうございました!

【4コマ】有頂天家族ってアニメおすすめだよ

『兄妹』 ベストタイミング

f:id:otonasisanoto:20200909224301j:plain

いいところに来た。

 

どうも音無サノトです。

最近、有頂天家族というアニメを見ました。

高校生くらいに見たことあるアニメでしたが久しぶりに見たくなったので。

タヌキが主人公で天狗と人が交じってどんちゃん騒ぎするアニメです。

このアニメの「おもしろきことは良きことなり」というセリフが好きです。

波風たてて、アホやって、ふわふわと生きていれば良い、そんなメッセージが込められているのも好き。

なにかと難しく考えてもあまり問題は解決しませんからねー。

わたしもフラフラとヘラヘラと生きていたいものです。

本日は以上です。最後まで読んでいただきありがとうございました!