赞 | 3 |
VIP | 3 |
好人卡 | 0 |
积分 | 11 |
经验 | 3062 |
最后登录 | 2023-10-3 |
在线时间 | 103 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1103
- 在线时间
- 103 小时
- 注册时间
- 2017-7-9
- 帖子
- 233
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
- /*--------------------------------------------------------------------------
-
- キャラチップの見た目をオリジナルエフェクトに変更します。
- エフェクトは巨大な魔物のようなものにするのが一般的です。
- 通常のキャラチップのように-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;
- }
- }
- );
- })();
复制代码 |
|