Project1
标题:
求问这两个JS插件脚本怎么调用
[打印本页]
作者:
片灬翼の鳥
时间:
2019-2-18 19:34
标题:
求问这两个JS插件脚本怎么调用
/*--------------------------------------------------------------------------
キャラチップの見た目をオリジナルエフェクトに変更します。
エフェクトは巨大な魔物のようなものにするのが一般的です。
通常のキャラチップのように-a、-b、-cを用意します。
-aは敵、-bは同盟、-cは待機です。
使用方法:
クラスの条件表示のキーワードにanimationを設定します。
クラスのカスタムパラメータに
{animationId: 0}のように設定します。
作成者:
サファイアソフト
http://srpgstudio.com/
更新履歴:
2018/08/26 公開
--------------------------------------------------------------------------*/
(function() {
var alias1 = CustomCharChipGroup._configureCustomCharChip;
CustomCharChipGroup._configureCustomCharChip = function(groupArray) {
alias1.call(this, groupArray);
groupArray.push(CustomCharChip.Anime);
};
CustomCharChip.Anime = defineObject(BaseCustomCharChip,
{
_dynamicAnime: null,
_animeData: null,
initialize: function() {
// マップ上での描画とメニュー上での描画でオブジェクトを変更する
this._dynamicAnime = createObject(DynamicAnimeEx);
this._animeSimple = createObject(NonBattleAnimeSimple);
},
setupCustomCharChip: function(unit) {
var pos;
var anime = this._getTargetAnime(unit);
if (anime === null) {
return;
}
pos = LayoutControl.getMapAnimationPos(0, 0, anime);
this._dynamicAnime.startDynamicAnime(anime, pos.x, pos.y);
this._dynamicAnime.setLoopMode(true);
this._dynamicAnime.getAnimeMotion().lockSound();
this._animeData = anime;
},
moveCustomCharChip: function() {
if (this._animeData === null) {
return;
}
this._dynamicAnime.moveDynamicAnime();
return MoveResult.CONTINUE;
},
drawCustomCharChip: function(cpData) {
if (this._animeData === null) {
return;
}
this._setDynamicAnimeColor(cpData);
this._dynamicAnime.drawDynamicAnime(cpData.xPixel, cpData.yPixel);
this._drawInfo(cpData.xPixel, cpData.yPixel, cpData);
},
drawMenuCharChip: function(cpData) {
var frameIndex;
var x = cpData.xPixel;
var y = cpData.yPixel;
if (this._animeData === null) {
return;
}
if (cpData.unit.getDirection() === DirectionType.NULL) {
x += this._getMenuOffsetX();
y += this._getMenuOffsetY();
frameIndex = this._dynamicAnime.getAnimeMotion().getFrameIndex();
this._dynamicAnime.getAnimeMotion().setFrameIndex(this._getFrameIndex(), false);
}
this._setDynamicAnimeColor(cpData);
this._dynamicAnime.drawDynamicAnime(x, y);
this._drawInfo(x, y, cpData);
if (cpData.unit.getDirection() === DirectionType.NULL) {
this._dynamicAnime.getAnimeMotion().setFrameIndex(frameIndex, false);
}
},
getKeyword: function() {
return 'animation';
},
_setDynamicAnimeColor: function(cpData) {
var colorIndex = cpData.unit.getUnitType();
if (cpData.unit.isWait()) {
colorIndex = 3;
}
this._dynamicAnime.getAnimeMotion().getAnimeRenderParam().motionColorIndex = colorIndex;
},
_drawInfo: function(x, y, cpData) {
// HPゲージを描画する位置を決定する。
// エフェクトによって最適な位置は異なる。
this._drawHpGauge(x, y + 10, cpData);
this._drawStateIcon(x, y - 20, cpData);
},
_getTargetAnime: function(unit) {
var id = this._getOriginalAnimeId(unit);
var list = root.getBaseData().getEffectAnimationList(false);
return list.getDataFromId(id);
},
_getOriginalAnimeId: function(unit) {
if (unit.getClass().custom.animationId === 'undefined') {
return 0;
}
return unit.getClass().custom.animationId;
},
_getMenuOffsetX: function() {
// メニュー上での描画位置を決定する。
// エフェクトによって最適な位置は異なる。
return 0;
},
_getMenuOffsetY: function() {
return 0;
},
_getFrameIndex: function() {
// ユニットメニューではエフェクトはアニメーションしないので、どのフレームを表示するか指定する
return 0;
},
_getSpriteIndex: function() {
return 0;
}
}
);
var DynamicAnimeEx = defineObject(DynamicAnime,
{
drawDynamicAnime: function(xPixel, yPixel) {
if (this._motion === null) {
return;
}
this._motion.setSpriteOffset(xPixel, yPixel);
this._motion.drawMotion(0, 0);
}
}
);
})();
复制代码
/*--------------------------------------------------------------------------
キャラチップの見た目を画像(クリスタル)に変更します。
使用方法:
クラスの条件表示のキーワードにcrystalを設定します。
作成者:
サファイアソフト
http://srpgstudio.com/
更新履歴:
2018/08/26 公開
--------------------------------------------------------------------------*/
(function() {
var alias1 = CustomCharChipGroup._configureCustomCharChip;
CustomCharChipGroup._configureCustomCharChip = function(groupArray) {
alias1.call(this, groupArray);
groupArray.push(CustomCharChip.Crystal);
};
CustomCharChip.Crystal = defineObject(BaseCustomCharChip,
{
drawCustomCharChip: function(cpData) {
this._drawChip(cpData, true);
},
drawMenuCharChip: function(cpData) {
this._drawChip(cpData, false);
},
getKeyword: function() {
return 'crystal';
},
_drawChip: function(cpData, isInfo) {
var pic = this._getPicture(cpData);
var xSrc = this._getSrcX(cpData);
var ySrc = this._getSrcY(cpData);
var width = this._getWidth();
var height = this._getHeight();
var pos = this._getPos(cpData);
if (pic === null) {
return;
}
pic.setAlpha(cpData.alpha);
pic.drawStretchParts(pos.x, pos.y, width, height, xSrc, ySrc, width, height);
if (isInfo) {
this._drawInfo(pos.x, pos.y, cpData);
}
},
_drawInfo: function(x, y, cpData) {
this._drawHpGauge(x + 25, y + 35, cpData);
this._drawStateIcon(x + 25, y + 15, cpData);
},
_getPicture: function(cpData) {
var handle = root.queryGraphicsHandle('battlecrystal');
return GraphicsRenderer.getGraphics(handle, GraphicsType.PICTURE);
},
_getPos: function(cpData) {
var pos = createPos();
pos.x = cpData.xPixel - Math.floor(this._getWidth() / 2) + 16;
pos.y = cpData.yPixel - Math.floor(this._getHeight() / 2) + 16;
return pos;
},
_getSrcX: function(cpData) {
if (cpData.isWait) {
return 3 * this._getWidth();
}
return cpData.unitType * this._getWidth();
},
_getSrcY: function(cpData) {
return 0;
},
_getWidth: function() {
return 84;
},
_getHeight: function() {
return 84;
}
}
);
})();
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1