気ままなタンス*プログラミングなどのノートブック

プログラミングやRPGツクール、DTM、VOCALOIDについてのんびり書きます。

【雑記】体調不良

頭が痛い。
体調を崩してしまったらしい。

気温の変化が激しかったせいかもしれない。


【ツクールMV】マップ上に表示するウィンドウに関するコードリードメモ

マップ表示名を表示するウィンドウのように、 マップ移動ごとに、フェードイン・フェードアウトしながら表示・削除されるウィンドウを作成する際に どのようにすれば良いか学んだのでメモ。

参考とする関数オブジェクト

ざっくりとした流れ

  • マップオブジェクトの作成
  • マップ準備完了
  • マップロードイベント発火
    • これらは近いうちに詳細を確認する

マップに必要なウィンドウの準備(Scene_Map.prototype.createDisplayObjects)

Scene_Map.prototype.createDisplayObjects = function() {
    this.createSpriteset();
    this.createMapNameWindow();
    this.createWindowLayer();
    this.createAllWindows();
};

マップ表示名のウィンドウ作成(Scene_Map.prototype.createMapNameWindow)

  • this._mapNameWindowで参照できるようになる
Scene_Map.prototype.createMapNameWindow = function() {
    this._mapNameWindow = new Window_MapName();
    this.addChild(this._mapNameWindow);
};

マップ名を表示するウィンドウの初期化(Window_MapName.prototype.initialize)

Window_MapName.prototype.initialize = function() {
    var width = this.windowWidth();
    var height = this.windowHeight();
    Window_Base.prototype.initialize.call(this, 0, 0, width, height);
    this.opacity = 0;
    this.contentsOpacity = 0;
    this._showCount = 0;
    this.refresh();
};
  • width, heightの設定
  • ウィンドウ自体の透明度の設定
  • コンテンツの透明度の設定
  • フェードインにかける時間の指定
  • ウィンドウ内容のリフレッシュ

マップ名を表示するウィンドウ内容の表示(Window_MapName.prototype.refresh)

Window_MapName.prototype.refresh = function() {
    this.contents.clear();
    if ($gameMap.displayName()) {
        var width = this.contentsWidth();
        this.drawBackground(0, 0, width, this.lineHeight());
        this.drawText($gameMap.displayName(), 0, 0, width, 'center');
    }
};

ウィンドウの背景を設定(Window_MapName.prototype.drawBackground)

Window_MapName.prototype.drawBackground = function(x, y, width, height) {
    var color1 = this.dimColor1();
    var color2 = this.dimColor2();
    this.contents.gradientFillRect(x, y, width / 2, height, color2, color1);
    this.contents.gradientFillRect(x + width / 2, y, width / 2, height, color1, color2);
};

マップ名表示ウィンドウをオープン(Scene_Map.prototype.start)

Scene_Map.prototype.start = function() {
    Scene_Base.prototype.start.call(this);
    SceneManager.clearStack();
    if (this._transfer) {
        this.fadeInForTransfer();
        this._mapNameWindow.open();
        $gameMap.autoplay();
    } else if (this.needsFadeIn()) {
        this.startFadeIn(this.fadeSpeed(), false);
    }
    this.menuCalling = false;
};

ウィンドウオープンをフェードインで表現するための準備(Window_MapName.prototype.open)

Window_MapName.prototype.open = function() {
    this.refresh();
    this._showCount = 150;
};

共通のupdateイベントによる、Windowのアップデート

* 1ミリ秒で、不透明度16プラス?

Window_MapName.prototype.update = function() {
    Window_Base.prototype.update.call(this);
    if (this._showCount > 0 && $gameMap.isNameDisplayEnabled()) {
        this.updateFadeIn();
        this._showCount--;
    } else {
        this.updateFadeOut();
    }
};

【雑記】今日の予定

もう色々と疲れたので何もしたくない

というのは半分冗談で、スポーツジムに行く。

あと、ツクールMVゲームの方針が決まりつつあるので、実装を進めるつもり。 また、何かめぼしいゲームがあれば、そちらもプレイする。

【雑記】今日は9時半出社

立ち寄る場所があるので、本日は9時半出社をする。

いつも、7時24分に出発するが、今日は8時30分頃に出る。 やはりこれだけ時間があると、心に余裕が生まれる(気がする)

毎日9時半、もしくは10時出社したいものだ。

電車の混雑状況についても、この時間の方が圧倒的に少なく、 ストレスなく、通勤できるように思う。

【雑記】最近のモヤモヤ事情

今日のポエム。

対応できる人がいないのに、「これだったら簡単にできる、ほぼ無料でできる」といって案件を無理やり推し進めようとする人がいる。

実際にその人たちはモノを作るわけでも、仕様を考えるわけでもない。

その下、さらに下が割りを食らう。

もう少し、きちんと考えてから決めてほしい。なんでもかんでも「簡単にできる」ものなんて、ありえないし、 そもそも丸投げしかしないのであれば、推進などする資格はない。

他の事例を見ても、結局のところコストオーバーになっているのが実態であり、理想とはかけ離れている。

そろそろいい加減に現実を見てもらいたい。

【雑記】昨日の無線ルータ対応について

無線ルータに頻繁につながらなくなる問題が解決したようだ。

管理画面からチャンネルを手動設定したら、だいぶ安定した。

現在、あまり使われていないチャンネルの調査には、 inSSIDer3を利用した。

【雑記】頻繁に無線ルータに繋がらなくなる

タイトルどおり、毎日無線ルータに繋がらなくなる問題が発生している。

Google検索で、「無線ルータ 毎日 再起動」 で検索した結果、以下のページが出てきた。

oshiete.goo.ne.jp

解決方法は2つあるとのこと。

  • 5GHz帯で通信する
  • 2.4GHzの通信チャネルを手動にする

手持ちのルータは、5GHz帯域に対応していないため、2番目の対応になりそうだ。