【解決済】スキル習得時にSEを鳴らす方法

taniguchi0226
記事: 11
登録日時: 2017年10月15日(日) 04:43

【解決済】スキル習得時にSEを鳴らす方法

投稿記事by taniguchi0226 » 2017年11月04日(土) 13:51

こんにちわ、またもや行き詰ってしまいましたので質問です…!


SoundManager.playLevelUp = function() {
  var Me = {
    "name": "level_up",
    "pan": 0,
    "pitch": 100,
    "volume": 80
  };
  AudioManager.playMe(Me);
};


上記にて、レベルアップ時にMEを鳴らすのはなんとか実相ができたのですが、

スキル取得時にSEを鳴らすには、どう記述すれば良いでしょうか…。

「playLevelUp」のように何か関数があるのでしょうか、どなたかご存知の方おりましたら
教えていただけませんか…。。
最後に編集したユーザー taniguchi0226 on 2017年11月05日(日) 00:09 [ 編集 1 回目 ]

アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: スキル習得時にSEを鳴らす方法

投稿記事by トリアコンタン » 2017年11月04日(土) 16:46

こんにちは!
以下のような感じになると思います。
learnSkillがお探しの関数ですが、初期化の際にも演奏すると不自然なのでそこだけ無効化しています。

コード: 全て選択

(function() {
    'use strict';

    var _Game_Actor_initSkills = Game_Actor.prototype.initSkills;
    Game_Actor.prototype.initSkills = function() {
        this._initSkillsComplete= false;
        _Game_Actor_initSkills.apply(this, arguments);
        this._initSkillsComplete= true;
    };

    var _Game_Actor_learnSkill = Game_Actor.prototype.learnSkill;
    Game_Actor.prototype.learnSkill = function(skillId) {
        if (this._initSkillsComplete && !this.isLearnedSkill(skillId)) {
            var Me = {
                "name": "Victory1",
                "pan": 0,
                "pitch": 100,
                "volume": 80
            };
            AudioManager.playMe(Me);
        }
        _Game_Actor_learnSkill.apply(this, arguments);
    };
})();


Gist
https://gist.github.com/triacontane/430796de4ed1aaa36f408467e2b11605
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
taniguchi0226
記事: 11
登録日時: 2017年10月15日(日) 04:43

Re: スキル習得時にSEを鳴らす方法

投稿記事by taniguchi0226 » 2017年11月05日(日) 00:08

トリアコンタンさん

こんばんわ、早速アドバイスいただきありがとうございます…!
思いどおりの実装ができましたm(_ _)m

(ちなみに いつもトリアコンタンさんの、プラグイン愛用させていただいていますm(_ _)m)





トリアコンタン さんが書きました:こんにちは!
以下のような感じになると思います。
learnSkillがお探しの関数ですが、初期化の際にも演奏すると不自然なのでそこだけ無効化しています。

コード: 全て選択

(function() {
    'use strict';

    var _Game_Actor_initSkills = Game_Actor.prototype.initSkills;
    Game_Actor.prototype.initSkills = function() {
        this._initSkillsComplete= false;
        _Game_Actor_initSkills.apply(this, arguments);
        this._initSkillsComplete= true;
    };

    var _Game_Actor_learnSkill = Game_Actor.prototype.learnSkill;
    Game_Actor.prototype.learnSkill = function(skillId) {
        if (this._initSkillsComplete && !this.isLearnedSkill(skillId)) {
            var Me = {
                "name": "Victory1",
                "pan": 0,
                "pitch": 100,
                "volume": 80
            };
            AudioManager.playMe(Me);
        }
        _Game_Actor_learnSkill.apply(this, arguments);
    };
})();


Gist
https://gist.github.com/triacontane/430796de4ed1aaa36f408467e2b11605

“MV:質問” へ戻る