1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

言うほどでもない小技

moge-moge-kun2017-05-05に開始した「ゲーム制作」の中の討論

  1. はどはど@Had2Apps

    はどはど@Had2Apps ユーザー

    テストプレイ中にスクリーンショットを撮影したいときは、
    以下のスクリプトを走らせればプロジェクトファイルにスクリーンショットが出力されます。
    コード:
    (function(){
        var now = (function(n){return(`${n.getFullYear()}${`0${n.getMonth()+1}`.slice(-2)}${`0${n.getDate()}`.slice(-2)}${`0${n.getHours()}`.slice(-2)}${`0${n.getMinutes()}`.slice(-2)}${`0${n.getSeconds()}`.slice(-2)}${`00${n.getMilliseconds()}`.slice(-3)}`)})(new Date());
        var fn = `${process.cwd()}\\ss_${now}.png`;
        require('nw.gui').Window.get().capturePage(function(buf){
            require('fs').writeFile(fn,buf,function(e){
                if(e) throw e;
                var mes = `ScreenShot is saved!\n${fn}`
                alert(mes); console.log(mes);
            });
        },{format:'png',datatype:'buffer'});
    })();
    
    詳しくは僕のHPの記事に書いてます。
     
    最後に編集: 2018-07-24
    #21
    ganges, ツキミ神無月サスケ がいいね!しています
  2. コテツMM

    コテツMM ユーザー

    自分結構いろいろプラグインコマンド使うので、
    デスクトップ上にプラグインコマンド専用のテキストを作ってそれにコマンドリストをまとめておいて起動して最小化しておき、
    プラグインコマンドを使うってなったらすぐ起動中のテキストクリックしてすぐコピーする感じにしてます。
    これより早いプラグインコマンドコピー短縮術があったら教えて下さい←

    後これ、自分がアホなだけですが、右クリックから編集できるの最近知りました(T-T)
    文章間違えたらいちいち書き直して、条件分岐のそれ以外にチェックいれ忘れたらいちいち最初からやり直してた時間はなんだったんだろう:rswt2:
     
    #22
    ganges, 神無月サスケツキミ がいいね!しています
  3. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    頻出するコマンドは漢字変換の辞書に登録しておく、という手を使ったりしてます。
    「ん」から始まる単語は基本ないので、「んばる」で「MWP_VALID」に変換したりとか。

    ちなみに、編集はスペースキーでもできますね。個人的にはダブルクリックは編集に割り当てて欲しいです。
     
    #23
    オヤジ狩り, ganges, 神無月サスケ他1人 がいいね!しています
  4. ganges

    ganges ユーザー

    みなさんこんにちは。
    超絶基本ですが、イベントエディター、プラグイン管理、データベースなどの、
    別窓を開いて行う編集画面のキーボードショットカットです。

    OK=Ctrl + Enter
    キャンセル=Esc

    このふたつを使うと、編集がとても楽になりますので、是非使ってみてくださーい!

    たとえば、文章の表示でテキストを打ち終わったら、Ctrl + Enterを2回おすと、入力テキストを確定して、イベントエディタを閉じることができます。
    マウスをOKに移動させてー、が基本不要になるのでいいですよ!
     
    #24
    めっつ, hogeq, moge-moge-kun他2人がいいね!しています
  5. くろうど

    くろうど ユーザー

    昔、サンプルプロジェクトを見ていて知ったやり方ですが、書かせていただきます。
    (確か、私が見たのは、ガチャプラグインのサンプルプロジェクトだったかと)

    内容としては、

    1回だけ実行する処理 → 共通処理

    という流れの時に、

    スイッチ(またはセルフスイッチ)を使って、2ページに書く事も出来ますが、記述が重複したり、コモンイベントにしたりする事になると思います。
    ハロルドA-1.png
    ハロルドA-2.png

    これを、スイッチ(またはセルフスイッチ)が「OFF」の場合を条件にする事で、1ページで済ませる事が出来ます。
    ハロルドB-1.png

    という簡単な内容ですが、私は否定での条件分岐を使う事がなかったので、こういうやり方に気付きませんでした。
    ありがとう、サンプルプロジェクト。
     
    #25
    たかッシュ, シノノメトモ, 神無月サスケ他2人がいいね!しています
  6. はどはど@Had2Apps

    はどはど@Had2Apps ユーザー

    画面に図形を描画して表示するプラグインの雛形。
    「1」「2」の部分を書き換えればOK。
    2に書く処理はCanvasのリファレンスサイトを参考に。

    コード:
    /*:ja
    * @param DRAW ID
    * @desc SceneManager._sceneに関連付けるSprite名
    * @default drawer
    */
    (() => {
    
      // 1.プラグインのファイル名をここに書く
      const PLUGIN_NAME = "test";
    
      // 2.この中に処理内容を書く
      const draw = context => {
        // context.fillText("Hello, World!", 48, 48);
      }
    
      const drawId = PluginManager.parameters(PLUGIN_NAME)["DRAW ID"];
      const { update } = Game_Screen.prototype;
      Game_Screen.prototype.update = function () {
        update.apply(this);
        main();
      }
      const [width, height] = [SceneManager._screenWidth, SceneManager._screenHeight];
      const main = () => {
        if (!SceneManager._scene[drawId]) {
          SceneManager._scene[drawId] = new Sprite();
          SceneManager._scene[drawId].bitmap = new Bitmap(width, height);
          SceneManager._scene.addChild(SceneManager._scene[drawId]);
        }
        const { bitmap } = SceneManager._scene[drawId];
        const { context } = bitmap;
        bitmap.clear();
        // context.textBaseline = 'top'; // テキストの基準位置を左上にする
        draw(context);
      }
    })()
    
     
    最後に編集: 2018-07-27
    #26
    神無月サスケ がいいね!しました
  7. コテツMM

    コテツMM ユーザー

    多分皆知っているであろう小技なんでしょうが自分は今知りました。
    イベントをエディタ開かずに右クリックしてコピーしたらイベントをまるごとコピーできるんですね。今知りましたというか今見つけました。
    「ツクールmv イベントまるごとコピー」とかでいくらググっても出てこなかったですがもっと早くこの小技知りたかったです(T-T)
     
    #27
    ganges, シノノメトモ, 神無月サスケ他1人 がいいね!しています
  8. 猫二郎

    猫二郎 ユーザー

    なんか、プラグインやシステム関連の小技が多いので、画像系の初級小技を・・・。

    ツクマテでも似たような小技を自分が紹介してますが、槍の簡単なやり方を紹介。
    demo1.png
    通常だと、こんな感じになりますが、
    Weapons1にある槍を数ドットほど下にズラし、槍が見えるようにSVスプライトの腕のいくつかを削除し、拳部分を90度曲げると
    demo2.png


    こんな感じになります。上よりかは違和感が感じにくくなります。
    ただ、問題は素手だと変になる可能性があるので、振り武器や飛び道具のモーションを上書きする必要があります。

    画像改変に慣れれば、この下程度の画像のように武器を持ったまま改変できるようになります。
    左振りの参考.png 試作振り.png
     
    最後に編集: 2018-08-17
    #28
    たかッシュ, チョコワ部, ganges他1人 がいいね!しています
  9. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    いまさっき気づいたんですが、変数って数字以外の文字列、その他を入れられるんですね。
    スクリプトに好きなデータを書けばいいとゆー。
    スクリーンショット 2018-08-17 1.45.40.png

    そのあと、[文章の表示]で\V[9]みたいにすれば、入れた文字列とかがメッセージとして出力できる。
    …多分、「割と知ってる人は知ってる」ぐらいのTipsだと思いますが。
     
    #29
    WTR, ganges, コテツMM他1人 がいいね!しています
  10. ネコタ

    ネコタ ユーザー

    変数に入れた文字列は加算で書き加えることも出来たりする。

    例えば、変数を使って所持金の20%やアイテムを手に入れる宝箱を作れる。

    アイテムを手に入れたら、変数にアイテム名を入れる。

    所持金の20%なら、変数の操作で所持金×2/10を計算させ、最後に文字列として単位を加算する。

    表示は、どちらも ¥v[n]を手に入れた で統一できる。

    コモンイベントを使って中身が自動で変わる宝箱を作ってる時に思い付いた小技でした。
     
    最後に編集: 2018-08-17
    #30
    たかッシュganges がいいね!しています
  11. 夢幻台

    夢幻台 ユーザー

    >変数を使って所持金の20%やアイテムを手に入れる宝箱を作れる。
     すみません、ここで聞いていいのか分からないのですが気になったので質問させていただきます。
     所持金の20%の判定については恐らく
    「変数A(Aは何でも良い)に「ゲームデータ:所持金」を代入→その変数を5で除算」でいいと思うのですが、
    その場合の計算結果が小数点付になった場合にどうなるのかが気になりました。
    (切り捨て?切り上げ?四捨五入?)

    「所持金の1割を徴収する門番」とか「戦闘不能後は所持金半分で復活」などにも使えそうな技なので…。
     
    #31
    たかッシュ神無月サスケ がいいね!しています
  12. WTR

    WTR ユーザー

    切り捨てで整数化されるようですね
     
    #32
    温州みかん, 神無月サスケネコタ がいいね!しています
  13. ルファー

    ルファー ユーザー

    x÷y は普通に演算すると端数切り捨てになりますが、
    事前に x をちょっと加工すると四捨五入や切り上げも計算できます。

    切り上げ: (y - 1 + x) ÷ y
    四捨五入: (y ÷ 2 + x) ÷ y ※1回目のわり算でも端数切り捨て
     
    #33
    温州みかん, たかッシュ, 神無月サスケ他3人がいいね!しています
  14. 猫二郎

    猫二郎 ユーザー

    イベントの歩行スプライトの足踏みアニメに関するスクリプト

    トリアコンタン様が記載していますが、
    https://tm.lucky-duet.com/viewtopic.php?t=4411

    このスクリプトを利用すれば、

    足踏みの間隔ウェイトを変更できたり、表示させる順番を変更できます。
     
    #34
    たかッシュ, ganges神無月サスケ がいいね!しています
  15. ハッサクリーフ

    ハッサクリーフ ユーザー

    エレベーターを動いてるように見せ方なんですけど背景をループすればできます。
    まずは建物を中心に据えて作っておいて、予め壁マップを全面に配置して置いてマップ画像を撮っておきます。
    そしたら背景ファイルに入れてさっきの建物のマップエディターでさっきの壁マップを背景に選択しておけば
    後は上に向かうエレベーターなら下にループ、下に向かうエレベーターなら上にループすれば完了ですね。
     
    #35
    たかッシュ, ganges神無月サスケ がいいね!しています
  16. シトラス

    シトラス ユーザー

    全ての条件が満たされたときに何らかのイベントを発生させたいとき、条件分岐を入れ子にせず
    より単純な方法で、分岐させる方法です。
    例えば、地水火風光闇の宝玉を持っているときに魔王城の扉を開けたいとすると

    これを、闇の宝玉まで繰り返します。そして

    とすれば、条件分岐を入れ子にせずとも複数の条件が同時に満たされたときの
    分岐をシンプルにすることができます。
     
    #36
    YouChalice, こまどり乳酸菌, たかッシュ他4人がいいね!しています
  17. エフ☆

    エフ☆ ユーザー

    多段攻撃・ランダムn体攻撃で、
    攻撃が当たるたびに威力が増す(減る)計算式。

    (例:変数1を使っています)
    $gameVariables.setValue(1,$gameVariables.value(1)+5); a.atk + v[1]

    攻撃が当たるたびにダメージが5ずつ増えます。
    スキルのコモンイベントを利用して変数をリセットしないと無限に増え続けます。

    格ゲーのコンボ補正みたいなのを再現できます。
     
    #37
    温州みかん, メルサイア, くろうど他1人 がいいね!しています
  18. ぶー太

    ぶー太 ユーザー

    離れたイベントのグラフィックを消したり登場させたりするときに
    じぶんはページを切り替えていましたが
    見た目だけ消したいときは
    移動ルートで画像をなしに変更したりすればいいことに最近気づきました。
     
    #38
    温州みかん神無月サスケ がいいね!しています
  19. こまどり乳酸菌

    こまどり乳酸菌 ユーザー

    その方法いいですね!
    「どれかn個」という分岐でも使えそうですね。
    参考にさせていただきます。
     
    #39
    温州みかん神無月サスケ がいいね!しています
  20. wanbee

    wanbee ユーザー

    マップ中にまずひとつ「コマンド取得の為だけの不使用イベント」を作る。
    例えばピクチャーの表示とか歩行キャラの定型の動作とか必ず同じ複数のコマンドを使っている場合、コモンイベントにまとめるのも良いがそこまでするほどじゃないって事が細々とある。
    そういうのをひとつの不使用イベントにズラズラと一杯詰め込んでマップ中の邪魔にならないところに置いておく。必要なイベントにはここからコピーして貼り付ければ良い。

    ちなみにSRPGツクールの場合は「複数のコマンドをコピー・ペースト出来ない」という面倒な仕様だったので「絶対にONにしない捨てスイッチ」をひとつ作った。
    そして条件分岐で「捨てスイッチがOFFの時に実行」というツリーを作り、その中に複数のコマンドを入れていく。こうすればこの条件分岐コマンドひとつだけをコピーして他のイベントにペースト出来る。
    条件分岐を「単なる複数コマンドをまとめる入れ物」として使う訳 (ノ∀`)
     
    #40
    温州みかん神無月サスケ がいいね!しています

このページを共有