//============================================================================= // MOG_TittleCommands.js //============================================================================= /*: * @target MZ * @plugindesc (v1.3) Adiciona comandos em imagens no lugar da janela. * @author Moghunter * @url https://mogplugins.wordpress.com * * @param -> Main <<<<<<<<<<<<<<<<<<<<<<< * @desc * * @param Animation Mode * @desc Definição do tipo de animação. * 0 - None 1 - Pulse 2 - Shake * @default 1 * @type select * @option None * @value 0 * @option Pulse Effect * @value 1 * @option Shake Effect * @value 2 * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<< * * @param Left & Right Input * @desc Ativar a seleção de comandos com as teclas Right/Left. * @default true * @type boolean * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<< * * @param Shake Duration * @desc Tempo de duração do efeito tremer. * @default 30 * @type number * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<< * * @param Slide X-Axis * @desc Faz os comandos deslizarem na horizontal. * @default -100 * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<< * * @param Slide Y-Axis * @desc Faz os comandos deslizarem na vertical. * @default 0 * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<< * * @param -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * @desc * * @param Cursor X-Axis * @text X-Axis * @desc Definição X-axis do cursor. * @default 0 * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param Cursor Y-Axis * @text Y-Axis * @desc Definição Y-axis do cursor. * @default 5 * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param Cursor Visible * @text Visible * @desc Ativar cursor. * @default true * @type boolean * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param Cursor Wave Animation * @text Wave Animation * @desc Ativar animação de deslize. * @default true * @type boolean * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param Cursor Rotation Animation * @text Rotation Animation * @desc Ativar animação de rotação. * @default false * @type boolean * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param Cursor Rotation Speed * @text Rotation Speed * @desc Definição da velociade de rotação. * @default 0.05 * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 1 * @desc Definição da posição do comando 1. * E.g - 32,32 * @default 180,440 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 2 * @desc Definição da posição do comando 2. * E.g - 32,32 * @default 350,440 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 3 * @desc Definição da posição do comando 3. * E.g - 32,32 * @default 520,440 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 4 * @desc Definição da posição do comando 4. * E.g - 32,32 * @default 690,440 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 5 * @desc Definição da posição do comando 5. * E.g - 32,32 * @default 345,498 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 6 * @desc Definição da posição do comando 6. * E.g - 32,32 * @default 345,530 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 7 * @desc Definição da posição do comando 7. * E.g - 32,32 * @default 0,192 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 8 * @desc Definição da posição do comando 8. * E.g - 32,32 * @default 0,224 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 9 * @desc Definição da posição do comando 9. * E.g - 32,32 * @default 0,256 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 10 * @desc Definição da posição do comando 10. * E.g - 32,32 * @default 0,288 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @help * ============================================================================= * +++ MOG - Title Picture Commands (v1.3) +++ * By Moghunter * https://mogplugins.wordpress.com * ============================================================================= * Adiciona comandos em imagens no lugar da janela. * É necessário ter os arquivos: * * Command_0.png, Command_1.png, Command_2.png , Command_3.png ... * * Grave as imagens na pasta: * * img/titles2/ * ============================================================================= * Será necessário também uma imagem representando o cursor. * * Cursor.png * * ============================================================================= * * HISTÓRICO * ============================================================================= * (v1.3) - Correção na função sort relativo a codificação. * (v1.2) - Correção de selecionar o comando na transição da cena (fading). * (v1.1) - Correção de apresentar a janela padrão em altas resoluções. * */ /*:ja * @target MZ * @plugindesc (v1.3) タイトルメニューのコマンドを画像で表示します * @author Moghunter * @url https://raw.githubusercontent.com/harizumi/Moghunter-MZ-jp/main/MOG_TitleCommands.js * * @param -> Main <<<<<<<<<<<<<<<<<<<<<<< * @text -> コマンド全般 <<<<<<<<<<<<<<<<<<<<<<< * @desc * * @param Animation Mode * @text アニメーション設定 * @desc アニメーション形式を選択 * 0:なし / 1:波打ち / 2:振動 * @default 1 * @type select * @option なし * @value 0 * @option 波打ち * @value 1 * @option 振動 * @value 2 * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<< * * @param Left & Right Input * @text 右左キーコマンド選択 * @desc 右/左キーでのコマンド選択の有効設定 * @default true * @type boolean * @on 有効 * @off 無効 * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<< * * @param Shake Duration * @text コマンドのフェードイン時間 * @desc コマンドがフェードイン完了するまでの時間 * @default 30 * @type number * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<< * * @param Slide X-Axis * @text X軸スライド * @desc コマンドを水平方向にスライドさせる量 * @default -100 * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<< * * @param Slide Y-Axis * @text Y軸スライド * @desc コマンドを垂直方向にスライドさせる量 * @default 0 * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<< * * @param -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * @text -> カーソル <<<<<<<<<<<<<<<<<<<<<<< * @desc * * @param Cursor X-Axis * @text X-Axis * @desc Definição X-axis do cursor. * @default 0 * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param Cursor Y-Axis * @text Y-Axis * @desc Definição Y-axis do cursor. * @default 5 * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param Cursor Visible * @text カーソル有効化 * @desc カーソルの有効設定 * @default true * @type boolean * @on 有効 * @off 無効 * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param Cursor Wave Animation * @text 波打ちアニメ有効化 * @desc 波打ちアニメーションの有効設定 * @default true * @type boolean * @on 有効 * @off 無効 * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param Cursor Rotation Animation * @text 回転アニメ有効化 * @desc 回転アニメーションを有効にします。 * @default false * @type boolean * @on 有効 * @off 無効 * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param Cursor Rotation Speed * @text 回転アニメ速度 * @desc 正:時計回り / 負:反時計回り。絶対値が大きいほど高速。 * @default 0.05 * @parent -> Cursor <<<<<<<<<<<<<<<<<<<<<<< * * @param -> Commands <<<<<<<<<<<<<<<<<<<<<<< * @text コマンド位置 * @desc * * @param Command Pos 1 * @desc コマンド1の座標 * 書式: 32,32 * @default 180,440 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 2 * @desc コマンド2の座標 * 書式: 32,32 * @default 350,440 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 3 * @desc コマンド3の座標 * 書式: 32,32 * @default 520,440 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 4 * @desc コマンド4の座標 * 書式: 32,32 * @default 690,440 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 5 * @desc コマンド5の座標 * 書式: 32,32 * @default 345,498 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 6 * @desc コマンド6の座標 * 書式: 32,32 * @default 345,530 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 7 * @desc コマンド7の座標 * 書式: 32,32 * @default 0,192 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 8 * @desc コマンド8の座標 * 書式: 32,32 * @default 0,224 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 9 * @desc コマンド9の座標 * 書式: 32,32 * @default 0,256 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @param Command Pos 10 * @desc コマンド10の座標 * 書式: 32,32 * @default 0,288 * @parent -> Commands <<<<<<<<<<<<<<<<<<<<<<< * * @help * 翻訳: * https://fungamemake.com/ * * ============================================================================ * +++ MOG - Title Picture Commands (v1.3) +++ * By Moghunter * https://mogplugins.wordpress.com * ============================================================================ * タイトルウィンドウの代わりに画像でコマンドを表示します。 * 下記のような画像ファイルがコマンドの数だけ必要です。 * * Command_0.png, Command_1.png, Command_2.png , Command_3.png ... * * 必要な画像は下記のフォルダに保存してください。 * * img/titles2/ * * ============================================================================ * "カーソル"を有効にする場合、下記画像ファイルが必要です。 * * Cursor.png * * ============================================================================ * * 更新履歴 * ============================================================================ * (v1.3) - エンコーディングに関連するソート機能を修正しました。 * (v1.2) - シーントランジション(フェード)でのコマンド選択の修正。 * (v1.1) - デフォルトウィンドウを高解像度で表示するように修正。 */ //============================================================================= // ** PLUGIN PARAMETERS //============================================================================= var Imported = Imported || {}; Imported.MOG_TitleCommands = true; var Moghunter = Moghunter || {}; Moghunter.parameters = PluginManager.parameters('MOG_TitleCommands'); Moghunter.title_comMode = Number(Moghunter.parameters['Animation Mode'] || 2); Moghunter.title_shakeDuration = Number(Moghunter.parameters['Shake Duration'] || 30); Moghunter.title_slideXaxis = Number(Moghunter.parameters['Slide X-Axis'] || -100); Moghunter.title_slideYaxis = Number(Moghunter.parameters['Slide Y-Axis'] || 0); Moghunter.title_sideInput = String(Moghunter.parameters['Left & Right Input'] || "true"); Moghunter.title_cursorVisible = String(Moghunter.parameters['Cursor Visible'] || "true"); Moghunter.title_cursorSlide = String(Moghunter.parameters['Cursor Wave Animation'] || "true"); Moghunter.title_cursorX = Number(Moghunter.parameters['Cursor X-Axis'] || 8); Moghunter.title_cursorY = Number(Moghunter.parameters['Cursor Y-Axis'] || -10); Moghunter.title_cursorRot = String(Moghunter.parameters['Cursor Rotation Animation'] || "true"); Moghunter.title_cursorRotSpeed = Number(Moghunter.parameters['Cursor Rotation Speed'] || 0.05); Moghunter.title_com_pos = []; for (var i = 0; i < 10; i++) { Moghunter.title_com_pos[i] = (Moghunter.parameters['Command Pos ' + String(i + 1)] || null); }; //============================================================================= // ■■■ Scene Title ■■■ //============================================================================= //============================== // ♦ ALIAS ♦ Create //============================== var _mog_titleCom_ccreate = Scene_Title.prototype.create; Scene_Title.prototype.create = function () { _mog_titleCom_ccreate.call(this); if (this._titleField3) { this._titleField3.children.sort((a, b) => a.z - b.z) } }; //================================ // ♦ ALIAS ♦ createCommandWindow //================================ var _mog_titleCom_createCommandWindow = Scene_Title.prototype.createCommandWindow; Scene_Title.prototype.createCommandWindow = function () { _mog_titleCom_createCommandWindow.call(this); if (!this._titleField3) { this.createTitleField3() }; this.createTitlePictureCommands(); this._sideInput = String(Moghunter.title_sideInput) == "true" ? true : false; if (String(Moghunter.title_cursorVisible) == "true") { this.createCursorCommand() }; }; //================================ // ♦ ALIAS ♦ update //================================ var _mog_titleCom_scnTittle_update = Scene_Title.prototype.update; Scene_Title.prototype.update = function () { _mog_titleCom_scnTittle_update.call(this); this.updatePicCommands(); }; //============================== // * Create Title Field 3 //============================== Scene_Title.prototype.createTitleField3 = function () { this._titleField3 = new Sprite(); this._titleField3.z = 200; this.addChild(this._titleField3); }; //============================== // * createTitlePictureCommands //============================== Scene_Title.prototype.createTitlePictureCommands = function () { this._picComE = false; this._TpictureCom = []; this._tComTouch = [TouchInput.x, TouchInput.y]; this._picComIndex = this._commandWindow._index; for (i = 0; i < this._commandWindow._list.length; i++) { this._TpictureCom[i] = new TpictureCom(this._commandWindow, i); this._TpictureCom[i].z = 300; this._titleField3.addChild(this._TpictureCom[i]); }; this._commandWindow.x = -(Graphics.width * 2); }; //============================== // * Create Cursor Command //============================== Scene_Title.prototype.createCursorCommand = function () { this._cursorSlide = [0, 0, 0, false]; if (String(Moghunter.title_cursorSlide) == "true") { this._cursorSlide[3] = true }; this._cursor = new Sprite(ImageManager.loadTitle2("Cursor")); this._cursor.anchor.x = 0.5; this._cursor.anchor.y = 0.5; this._cursor.org = [Moghunter.title_cursorX, Moghunter.title_cursorY] if (this._cursorSlide[3]) { this._cursor.org[0] -= 5 } this._cursor.opacity = 0; this._cursor.z = 350; this._cursor.rot = [true, 0.05]; this._cursor.rot[0] = String(Moghunter.title_cursorRot) == "true" ? true : false; this._cursor.rot[1] = Moghunter.title_cursorRotSpeed; this._titleField3.addChild(this._cursor); }; //============================== // * update Title Cursor //============================== Scene_Title.prototype.updateTitleCursor = function () { if (this._cursorSlide[3]) { this.updateCursorSlide() }; if (this._cursor.rot[0]) { this.updateCursorRotation() }; this._cursor.opacity += 5; var nx = this.comSprite().x - (this.comSprite().bitmap.width / 2) - (this._cursor.width / 2) + this._cursorSlide[0]; var ny = this.comSprite().y - (this.comSprite().bitmap.height / 2) + (this._cursor.height / 2) + this._cursor.org[1]; this._cursor.x = this.cursorMoveto(this._cursor.x, nx, 10); this._cursor.y = this.cursorMoveto(this._cursor.y, ny, 10); }; //============================== // * Com Sprite //============================== Scene_Title.prototype.comSprite = function () { return this._TpictureCom[this._commandWindow._index]; }; //============================== // * Uodate Cursor Rotation //============================== Scene_Title.prototype.updateCursorRotation = function () { this._cursor.rotation += this._cursor.rot[1]; }; //============================== // * update Cursor Slide //============================== Scene_Title.prototype.updateCursorSlide = function () { this._cursorSlide[1]++ if (this._cursorSlide[1] < 3) { return }; this._cursorSlide[1] = 0 this._cursorSlide[2]++ if (this._cursorSlide[2] < 15) { this._cursorSlide[0]++; } else if (this._cursorSlide[2] < 30) { this._cursorSlide[0]--; } else { this._cursorSlide[0] = 0; this._cursorSlide[2] = 0; }; }; //============================== // * Sprite Move To //============================== Scene_Title.prototype.cursorMoveto = function (value, real_value, speed) { if (value == real_value) { return value }; var dnspeed = 5 + (Math.abs(value - real_value) / speed); if (value > real_value) { value -= dnspeed; if (value < real_value) { value = real_value }; } else if (value < real_value) { value += dnspeed; if (value > real_value) { value = real_value }; }; return Math.floor(value); }; //============================== // * checkTPicCom //============================== Scene_Title.prototype.checkTPicCom = function () { for (i = 0; i < this._TpictureCom.length; i++) { if (this._TpictureCom[i].isOnPicCom()) { this._commandWindow._index = i; if (this._picComIndex == this._commandWindow._index) { this._commandWindow.processOk(); } else { this._commandWindow.playCursorSound() }; this._picComIndex = this._commandWindow._index }; }; }; //============================== // * picComNeedCheckTouch //============================== Scene_Title.prototype.picComNeedCheckTouch = function () { if (this._tComTouch[0] != TouchInput.x) { return true }; if (this._tComTouch[1] != TouchInput.y) { return true }; return false; }; //============================== // * update Title Touch Input Com //============================== Scene_Title.prototype.updateTitleTouchInputCom = function () { if (TouchInput.isTriggered()) { this.checkTPicCom() }; if (this.picComNeedCheckTouch()) { this.updateTComMouseIsOnPic() }; this._tComTouch = [TouchInput.x, TouchInput.y]; }; //============================== // * Update Com Side Input //============================== Scene_Title.prototype.updateComSideInput = function () { if (Input.isRepeated('right')) { this.addTitleComIndex(1); } else if (Input.isRepeated('left')) { this.addTitleComIndex(-1); }; }; //============================== // * updateTComMouseIsOnPic //============================== Scene_Title.prototype.updateTComMouseIsOnPic = function () { var picID = -1; for (i = 0; i < this._TpictureCom.length; i++) { if (this._TpictureCom[i].isOnPicCom()) { this._commandWindow._index = i; if (this._picComIndex != this._commandWindow._index) { this._commandWindow.playCursorSound(); }; this._picComIndex = this._commandWindow._index; }; }; }; //============================== // * add Title ComIndex //============================== Scene_Title.prototype.addTitleComIndex = function (value) { SoundManager.playCursor(); var maxIndex = this._commandWindow._list.length - 1 this._commandWindow._index += value; if (this._commandWindow._index < 0) { this._commandWindow._index = maxIndex; } else if (this._commandWindow._index > maxIndex) { this._commandWindow._index = 0; }; }; //============================== // * update Pic Commands //============================== Scene_Title.prototype.updatePicCommands = function () { if (!this._picComE) { this.updateTitleTouchInputCom(); if (this._sideInput) { this.updateComSideInput() }; }; if (this._cursor) { this.updateTitleCursor() }; if (!this._picComE && this._commandWindow.isClosing()) { this._picComE = true; } }; //============================================================================= // ■■■ TpictureCom ■■■ //============================================================================= function TpictureCom() { this.initialize.apply(this, arguments); }; TpictureCom.prototype = Object.create(Sprite.prototype); TpictureCom.prototype.constructor = TpictureCom; //============================== // * Initialize //============================== TpictureCom.prototype.initialize = function (data, index) { Sprite.prototype.initialize.call(this); this._index = index; this._data = data; this._index2 = this._data._index; this._wait = 5 * index; this.opacity = 0; this._aniData = {}; this._aniData.mode = Moghunter.title_comMode; this._aniData.zoomON = Moghunter.title_zoomEffect == "true" ? true : false; this._aniData.zoomMax = 1.3; this._aniData.zoomPhase = 0; this._aniData.zoomSpeed = 0.010; this._aniData.shakeD1 = 60; this._aniData.shakeD2 = 0; this._aniData.shakeX = 0; this._enabled = data.isCommandEnabled(index); this._orgXY = this.set_tcp(Moghunter.title_com_pos[index]); this.prepareBitmap(); }; //============================== // * Prepare Bitmap //============================== TpictureCom.prototype.prepareBitmap = function () { var name = "Command_" + String(this._index); this.bitmap = ImageManager.loadTitle2(name) }; //============================== // * set tcp //============================== TpictureCom.prototype.set_tcp = function (value) { if (!value) { return null }; var s = value.split(','); if (!s[0] || !s[1]) { return null }; return [Number(s[0]), Number(s[1])]; }; //============================== // * get Data //============================== TpictureCom.prototype.getData = function () { this.anchor.x = 0.5; this.anchor.y = 0.5; this._cw = this.bitmap.width; this._ch = this.bitmap.height / 2; var fx = (Graphics.width - 816) / 2; var fy = (Graphics.height - 624) / 2; this._orgXY[0] += (this._cw / 2) + fx; this._orgXY[1] += fy; this.x = this._orgXY[0]; this.y = this._orgXY[1]; this._pw1 = this.x - (this._cw / 2); this._pw2 = this.x + (this._cw / 2); this._ph1 = this.y - (this._ch / 2); this._ph2 = this.y + (this._ch / 2); var rectY = !this._enabled || this._index != this._data._index ? this._ch : 0; this.setFrame(0, rectY, this._cw, this._ch); this.x += Moghunter.title_slideXaxis; this.y += Moghunter.title_slideYaxis; }; //============================== // * On Picture Com //============================== TpictureCom.prototype.isOnPicCom = function () { if (TouchInput.x < this._pw1) { return false }; if (TouchInput.x > this._pw2) { return false }; if (TouchInput.y < this._ph1) { return false }; if (TouchInput.y > this._ph2) { return false }; return true; }; //============================== // * update Zoom Animation //============================== TpictureCom.prototype.updateZoomAnimation = function () { this._aniData.shakeX = 0; if (this._index == this._data._index) { if (this._aniData.zoomPhase == 0) { this.scale.x -= this._aniData.zoomSpeed; if (this.scale.x <= 1.00) { this.scale.x = 1.00; this._aniData.zoomPhase = 1; }; } else { this.scale.x += this._aniData.zoomSpeed; if (this.scale.x >= this._aniData.zoomMax) { this.scale.x = this._aniData.zoomMax; this._aniData.zoomPhase = 0; }; }; } else { this._aniData.zoomPhase = 0; if (this.scale.x > 1.00) { this.scale.x -= (this._aniData.zoomSpeed * 3) }; }; this.scale.y = this.scale.x }; //============================== // * set Frame Index //============================== TpictureCom.prototype.setFrameIndex = function () { this._aniData.shakeD1 = Moghunter.title_shakeDuration; this._aniData.shakeD2 = 3; this._index2 = this._data._index var rectY = !this._enabled || this._index != this._data._index ? this._ch : 0; this.setFrame(0, rectY, this._cw, this._ch); }; //============================== // * update Slide //============================== TpictureCom.prototype.updateSlide = function () { this.x = this.cSlide(this.x, (this._orgXY[0] + this._aniData.shakeX), 60); this.y = this.cSlide(this.y, this._orgXY[1], 60); }; //============================== // * Sprite Move To //============================== TpictureCom.prototype.cSlide = function (value, real_value, speed) { if (value == real_value) { return value }; var dnspeed = 3 + (Math.abs(value - real_value) / speed); if (value > real_value) { value -= dnspeed; if (value < real_value) { value = real_value }; } else if (value < real_value) { value += dnspeed; if (value > real_value) { value = real_value }; }; return Math.floor(value); }; //============================== // * update Opacity //============================== TpictureCom.prototype.updateOpacity = function () { this.opacity += 15; }; //============================== // * shakeClear //============================== TpictureCom.prototype.shakeClear = function () { this._aniData.shakeD1 = 0; this._aniData.shakeD2 = 0; this._aniData.shakeX = 0; }; //============================== // * update Shake Animation //============================== TpictureCom.prototype.updateShakeAnimation = function () { if (this._index != this._data._index) { this.shakeClear(); return }; if (this._aniData.shakeD1 > 0) { if (this._aniData.shakeD2 > 0) { this._aniData.shakeD2--; if (this._aniData.shakeD2 <= 0) { this._aniData.shakeD2 = 3; this._aniData.shakeX = -5 + (Math.abs(Math.random() * 10)); }; }; this._aniData.shakeD1--; if (this._aniData.shakeD1 <= 0) { this.shakeClear() }; }; }; //============================== // * update Pic Command //============================== TpictureCom.prototype.updatePicCommand = function () { if (this._wait > 0) { this._wait--; return }; if (this._aniData.mode == 1) { this.updateZoomAnimation() } else if (this._aniData.mode == 2) { this.updateShakeAnimation(); }; if (this._index2 != this._data._index) { this.setFrameIndex() }; this.updateSlide(); this.updateOpacity(); }; //============================== // * Update //============================== TpictureCom.prototype.update = function () { Sprite.prototype.update.call(this); if (!this._cw) { if (this.bitmap.isReady()) { this.getData() }; } else { this.updatePicCommand(); }; };