Ci-enをやってなかった時期にDLsite blogに書いたRPGツクールMV関連記事
DLsite blogが5月でサービス終了とのことなので、Ci-enをやってなかった時期に書いた記事2件をここに置いときます。
↓サムネイル用w
2018年7月23日 ツクールMV研究(3)
Ci-enの続きを、まあ適当に。
逆上がりに失敗するイベントと成功するイベントを作ってみました。
ちゃんと逆上がりに見えますかね…?
文字が邪魔ですが、とりあえずこういう風に書いておかないと何がなんだか。
このために使っているプラグインは「YEP_EventMiniLabel」です。
プレイヤーを中途半端な位置に移動させるために、相変わらず
移動ルートの設定で this._y
という変数に小数を足したり引いたりしています。
この変数、移動ルートの設定の外では this.character(-1)._y
という名前です。
小数を足したり引いたりすると頻繁に浮動小数点演算による誤差が出て、
整数に戻ることは基本的にありません。
今日は
this.character(-1)._y=Math.round(this.character(-1)._y);
というスクリプトだけ覚えて帰ってください。
この値を四捨五入して整数にします。
2018年7月28日 ツクールMV研究(4) ニューゲーム時に特定スイッチをONにするプラグイン
ツクールってほんとおもろい理念で作られておりまして、なんか普通のゲームプログラマとして制作に望むと色々と裏切られるんですな。あって然るべき機能が、見当たらないことがよくある。
一番でかいのは、イベント(マップ上に表示されるNPCなど)が存在する条件としてNOTを使えないことです。他にも、イベントの存在条件に「この変数が特定数値以下」というのが使えないとか。(「以上」はある。イコールとかはない)
どうしてもそれらを使いたい場合、反転したフラグ(ツクールMVでは「スイッチ」という名前)を用意したり、あらかじめ変数を見ておいた上でのフラグ立て等をやっておかなければいけません。
その代わり「常に、イベントページは右を優先する」という変な仕組みがあり、これが物事を……単純にしてるんだか複雑にしてるんだか…。
もう一点、私が欲しかったのが、「ニューゲーム開始時に特定スイッチをオンにする」という機能。
通常、全てのスイッチはオフの状態でゲームが始まりますが、ひとつでもいいから最初からオンになっているスイッチがあれば、そこからコモンイベントを自動的に起動させてプレイヤーに初期アイテムを持たせるとか、その他最初にやっておくべき初期設定を確実に済ませることができます。
ゲームの完成時には初期マップは決まっているはずなのでそこに自動イベントを置けばいいのですが、テストプレイ中は色々な場所からスタートさせるので不都合が生じやすいんですよね。テスト中のゴミが不具合として残りがちな感じもするし。
というわけで、単純にその機能だけを実現するプラグインを書きました。
ニューゲーム時開始時に40番スイッチをオンにする「solfa_StartUpSwitchOn.js」です。ご自由にお使いください。
// solfa_StartUpSwitchOn.js
//
// (c) 2018 KIRIHARA Miyahito
// This software is released under the MIT License.
// http://opensource.org/licenses/mit-license.php
//
// Version
// 1.0.0 2018/7/1 書いた
// 1.0.1 2018/7/25 不要な行があったので削除
//
// https://www.solfa.jp/
/*:
* @plugindesc ニューゲーム開始時に40番スイッチをオンにするプラグイン
* @author 桐原巳弥人
*
* @help ニューゲーム開始時に、40番のスイッチをオンにします。
* それ以外何もしません。
*
* 40番というのを別のスイッチにしたい場合はソースを触れこのやろう。
*
* 利用規約:
* 作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
* についても制限はありません。
* このプラグインはもうあなたのものです。
*/
(function () {
var _setupNewGame = DataManager.setupNewGame;
DataManager.setupNewGame = function(){
_setupNewGame.apply(this);
$gameSwitches.setValue(40,true);
}
})();
solfa_StartUpSwitchOn.js (1.04kB)
ダウンロード プラグインパラメータを取得するのがなんかミョーにめんどくさいので40という番号はリテラルです。これを変更したい場合はご自分で書き換えてください。
最低限、32行目の
$gameSwitches.setValue(40,true);
これさえ変えればOKなはず。