-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathTMXpCharacter.js
81 lines (69 loc) · 2.91 KB
/
TMXpCharacter.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
//=============================================================================
// TMPlugin - XPキャラクター
// バージョン: 1.0.0
// 最終更新日: 2018/04/21
// 配布元 : http://hikimoki.sakura.ne.jp/
//-----------------------------------------------------------------------------
// Copyright (c) 2018 tomoaky
// Released under the MIT license.
// http://opensource.org/licenses/mit-license.php
//=============================================================================
/*:
* @plugindesc RPGツクールXP規格のキャラクター素材に対応します。
*
* @author tomoaky (http://hikimoki.sakura.ne.jp/)
*
* @help
* TMPlugin - XPキャラクター ver1.0.0
*
* 使い方:
*
* ファイル名の末尾に _xp という文字列がついている歩行グラフィックを
* 自動的にXP規格のキャラクターとして認識します。
* 1キャラクターのみの画像であればファイル名の先頭に $ が必要になります。
*
* プラグインコマンドはありません。
*
* このプラグインは RPGツクールMV Version 1.5.1 で動作確認をしています。
*
* このプラグインはMITライセンスのもとに配布しています、商用利用、
* 改造、再配布など、自由にお使いいただけます。
*/
var Imported = Imported || {};
Imported.TMXpCharacter = true;
(function() {
//-----------------------------------------------------------------------------
// ImageManager
//
ImageManager.isXpCharacter = function(filename) {
return filename.match(/_xp$/);
};
//-----------------------------------------------------------------------------
// Game_CharacterBase
//
var _Game_CharacterBase_pattern = Game_CharacterBase.prototype.pattern;
Game_CharacterBase.prototype.pattern = function() {
if (this._isXpCharacter) return this._pattern;
return _Game_CharacterBase_pattern.call(this);
};
var _Game_CharacterBase_setImage = Game_CharacterBase.prototype.setImage;
Game_CharacterBase.prototype.setImage = function(characterName, characterIndex) {
_Game_CharacterBase_setImage.call(this, characterName, characterIndex);
this._isXpCharacter = ImageManager.isXpCharacter(characterName);
};
//-----------------------------------------------------------------------------
// Sprite_Character
//
var _Sprite_Character_setCharacterBitmap = Sprite_Character.prototype.setCharacterBitmap;
Sprite_Character.prototype.setCharacterBitmap = function() {
_Sprite_Character_setCharacterBitmap.call(this);
this._isXpCharacter = ImageManager.isXpCharacter(this._characterName);
};
var _Sprite_Character_patternWidth = Sprite_Character.prototype.patternWidth;
Sprite_Character.prototype.patternWidth = function() {
if (this._isXpCharacter) {
return this.bitmap.width / (this._isBigCharacter ? 4 : 16);
}
return _Sprite_Character_patternWidth.call(this);
};
})();