设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5247|回复: 10
打印 上一主题 下一主题

[已经解决] mv官方扭蛋插件在哪个位置

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2014-8-21
帖子
11
跳转到指定楼层
1
发表于 2016-7-13 11:57:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
C:\Users\LENOVO\Desktop谁知道位置求告知?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2014-8-21
帖子
11
2
 楼主| 发表于 2016-7-13 12:00:41 | 只看该作者
就是这个

(33.97 KB, 下载次数: 11)

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2014-8-21
帖子
11
3
 楼主| 发表于 2016-7-13 12:04:27 | 只看该作者
本帖最后由 死亡人鱼 于 2016-7-13 19:40 编辑

没有人知道吗
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
4
发表于 2016-7-14 13:33:44 | 只看该作者
不把插件下载地址什么的放出来?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2014-8-21
帖子
11
5
 楼主| 发表于 2016-7-14 13:58:42 | 只看该作者
lirn 发表于 2016-7-14 13:33
不把插件下载地址什么的放出来?

这只是官方说明书里提到的、、、、
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
6
发表于 2016-7-14 14:24:54 | 只看该作者
去吗要首先找到插件,下载插件以及相关的图片才能做得到吧。

既然文中是“该插件”,那上下文应该有提到相关插件的。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
帖子
166
7
发表于 2016-7-14 19:29:21 | 只看该作者
  1. //=============================================================================
  2. // Gacha.js
  3. //
  4. // (c)2016 KADOKAWA CORPORATION./YOJI OJIMA
  5. //=============================================================================

  6. /*:
  7. * @plugindesc Get the item at random
  8. * @author Takeya Kimura
  9. *
  10. * @param Help Message Text
  11. * @desc The help message for gacha window. "Required Amount" is replaced with the Required Amount.
  12. * @default 1回Required Amount\Gでガチャを引きます
  13. *
  14. * @param Button Text
  15. * @desc The button text for gacha commands.
  16. * @default ガチャを引く
  17. *
  18. * @param Get Message Text
  19. * @desc The message of After receiving. "Item Name" is replaced with the received item name.
  20. * @default GET Item Name
  21. *
  22. * @param Show Item Description
  23. * @desc The switch of item description display
  24. * @default 0
  25. *
  26. * @param Effect
  27. * @desc The animation number for get effect.
  28. * @default 119
  29. * @require 1
  30. * @type animation
  31. *
  32. * @param Rank1 Effect
  33. * @desc The animation number for rank 1 effect. If you specify -1, does not display the animation.
  34. * @default -1
  35. * @require 1
  36. * @type animation
  37. *
  38. * @param Rank2 Effect
  39. * @desc The animation number for rank 2 effect. If you specify -1, does not display the animation.
  40. * @default -1
  41. * @require 1
  42. * @type animation
  43. *
  44. * @param Rank3 Effect
  45. * @desc The animation number for rank 3 effect. If you specify -1, does not display the animation.
  46. * @default -1
  47. * @require 1
  48. * @type animation
  49. *
  50. * @param Rank4 Effect
  51. * @desc The animation number for rank 4 effect. If you specify -1, does not display the animation.
  52. * @default -1
  53. * @require 1
  54. * @type animation
  55. *
  56. * @param Rank5 Effect
  57. * @desc The animation number for rank 5 effect. If you specify -1, does not display the animation.
  58. * @default -1
  59. * @require 1
  60. * @type animation
  61. *
  62. * @param ME
  63. * @desc The ME name for get music effect.
  64. * @default Organ
  65. * @require 1
  66. * @dir audio/me/
  67. * @type file
  68. *
  69. * @param  Required Amount
  70. * @desc The Gold for gacha.
  71. * @default 100
  72. *
  73. * @noteParam gachaImage
  74. * @noteRequire 1
  75. * @noteDir img/gacha/
  76. * @noteType file
  77. * @noteData items
  78. *
  79. * @help
  80. *
  81. * Plugin Command:
  82. *   Gacha open                 # Open the Gacha screen
  83. *   Gacha add item 1           # Add item #1 to the Gacha
  84. *   Gacha remove item 1        # Remove item #1 from the Gacha
  85. *   Gacha clear                # Clear the Gacha
  86. *
  87. *
  88. * Item Note:
  89. *   <gachaImage:image>        # Gacha image file name. Please image put in "img/gacha/" folder.
  90. *   <gachaNumLot:10>          # The number of the lottery.
  91. *   <gachaRank:5>             # The rank of the item(1-5).
  92. */

  93. /*:ja
  94. * @plugindesc ランダムにアイテムを取得します。
  95. * @author Takeya Kimura
  96. *
  97. * @param Help Message Text
  98. * @desc ガチャ画面のヘルプメッセージです。「Required Amount」は消費Gと置換されます。
  99. * @default 1回Required Amount\Gでガチャを引きます
  100. *
  101. * @param Button Text
  102. * @desc ガチャボタンに表示するテキストです。
  103. * @default ガチャを引く
  104. *
  105. * @param Get Message Text
  106. * @desc ガチャを引いた後のメッセージです。「Item Name」は取得アイテム名と置換されます。
  107. * @default GET Item Name
  108. *
  109. * @param Show Item Description
  110. * @desc 1でアイテム取得時に説明を表示します。[0: 説明非表示 1: 説明表示]
  111. * @default 0
  112. *
  113. * @param Effect
  114. * @desc アイテム取得時のアニメーションIDを指定します。
  115. * @default 119
  116. * @require 1
  117. * @type animation
  118. *
  119. * @param Rank1 Effect
  120. * @desc ランク1の時のアニメーションIDを指定します。-1を指定するとアニメーションを表示しません。
  121. * @default -1
  122. * @require 1
  123. * @type animation
  124. *
  125. * @param Rank2 Effect
  126. * @desc ランク2の時のアニメーションIDを指定します。-1を指定するとアニメーションを表示しません。
  127. * @default -1
  128. * @require 1
  129. * @type animation
  130. *
  131. * @param Rank3 Effect
  132. * @desc ランク3の時のアニメーションIDを指定します。-1を指定するとアニメーションを表示しません。
  133. * @default -1
  134. * @require 1
  135. * @type animation
  136. *
  137. * @param Rank4 Effect
  138. * @desc ランク4の時のアニメーションIDを指定します。-1を指定するとアニメーションを表示しません。
  139. * @default -1
  140. * @require 1
  141. * @type animation
  142. *
  143. * @param Rank5 Effect
  144. * @desc ランク5の時のアニメーションIDを指定します。-1を指定するとアニメーションを表示しません。
  145. * @default -1
  146. * @require 1
  147. * @type animation
  148. *
  149. * @param ME
  150. * @desc アイテム取得時のMEを指定します。
  151. * @default Organ
  152. * @require 1
  153. * @dir audio/me/
  154. * @type file
  155. *
  156. * @param  Required Amount
  157. * @desc ガチャを引くのに必要なGです。
  158. * @default 100
  159. *
  160. * @noteParam gachaImage
  161. * @noteRequire 1
  162. * @noteDir img/gacha/
  163. * @noteType file
  164. * @noteData items
  165. *
  166. * @help
  167. *
  168. * Plugin Command:
  169. *   Gacha open                 # ガチャ画面を開きます。
  170. *   Gacha add item 1           # アイテム番号1をガチャ対象に追加します。
  171. *   Gacha remove item 1        # アイテム番号1をガチャ対象から外します。
  172. *   Gacha clear                # 全てのガチャ対象をクリアします。
  173. *
  174. *
  175. * Item Note:
  176. *   <gachaImage:image>        # ガチャアイテムの画像を指定します。画像はimg/gacha/フォルダ内に入れてください。
  177. *   <gachaNumLot:10>          # ガチャアイテムのくじ数を指定します。
  178. *   <gachaRank:5>             # ガチャアイテムのランクを1から5の間で指定します。
  179. */

  180. (function () {

  181.     var parameters = PluginManager.parameters('Gacha');
  182.     var message = String(parameters['Help Message Text'] || '1回Required Amount\\Gでガチャを引きます');
  183.     var buttonText = String(parameters['Button Text'] || 'ガチャを引く');
  184.     var getText = String(parameters['Get Message Text'] || 'GET Item Name');
  185.     var itemDescEnable = !!Number(parameters['Show Item Description'] || 0);
  186.     var effect = Number(parameters['Effect'] || '119');
  187.     var rankEffect = [];
  188.     rankEffect.push(Number(parameters['Rank1 Effect'] || '-1'));
  189.     rankEffect.push(Number(parameters['Rank2 Effect'] || '-1'));
  190.     rankEffect.push(Number(parameters['Rank3 Effect'] || '-1'));
  191.     rankEffect.push(Number(parameters['Rank4 Effect'] || '-1'));
  192.     rankEffect.push(Number(parameters['Rank5 Effect'] || '-1'));
  193.     var me = String(parameters['ME'] || 'Organ');
  194.     var amount = Number(parameters['Required Amount'] || '100');
  195.     var reg = /Required Amount/gi;
  196.     message = message.replace(reg, String(amount));


  197.     var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  198.     Game_Interpreter.prototype.pluginCommand = function (command, args) {
  199.         _Game_Interpreter_pluginCommand.call(this, command, args);
  200.         if (command === "Gacha") {
  201.             switch (args[0]) {
  202.                 case "open":
  203.                     SceneManager.push(Scene_Gacha);
  204.                     break;

  205.                 case 'add':
  206.                     $gameSystem.addToGacha(args[1], Number(args[2]));
  207.                     break;

  208.                 case 'remove':
  209.                     $gameSystem.removeFromGacha(args[1], Number(args[2]));
  210.                     break;

  211.                 case 'clear':
  212.                     $gameSystem.clearGacha();
  213.                     break;
  214.             }
  215.         }
  216.     };


  217.     Game_System.prototype.addToGacha = function(type, dataId) {
  218.         if (!this._GachaFlags) {
  219.             this.clearGacha();
  220.         }
  221.         var typeIndex = this.gachaTypeToIndex(type);
  222.         if (typeIndex >= 0) {
  223.             this._GachaFlags[typeIndex][dataId] = true;
  224.         }
  225.     };

  226.     Game_System.prototype.removeFromGacha = function(type, dataId) {
  227.         if (this._GachaFlags) {
  228.             var typeIndex = this.gachaTypeToIndex(type);
  229.             if (typeIndex >= 0) {
  230.                 this._GachaFlags[typeIndex][dataId] = false;
  231.             }
  232.         }
  233.     };

  234.     Game_System.prototype.gachaTypeToIndex = function(type) {
  235.         switch (type) {
  236.             case 'item':
  237.                 return 0;
  238.             case 'weapon':
  239.                 return 1;
  240.             case 'armor':
  241.                 return 2;
  242.             default:
  243.                 return -1;
  244.         }
  245.     };

  246.     Game_System.prototype.clearGacha = function() {
  247.         this._GachaFlags = [[], [], []];
  248.     };

  249.     Game_System.prototype.isInGacha = function(item) {
  250.         if (this._GachaFlags && item) {
  251.             var typeIndex = -1;
  252.             if (DataManager.isItem(item)) {
  253.                 typeIndex = 0;
  254.             } else if (DataManager.isWeapon(item)) {
  255.                 typeIndex = 1;
  256.             } else if (DataManager.isArmor(item)) {
  257.                 typeIndex = 2;
  258.             }
  259.             if (typeIndex >= 0) {
  260.                 return !!this._GachaFlags[typeIndex][item.id];
  261.             } else {
  262.                 return false;
  263.             }
  264.         } else {
  265.             return false;
  266.         }
  267.     };


  268.     function Scene_Gacha() {
  269.         this.initialize.apply(this, arguments);
  270.     }

  271.     Scene_Gacha.prototype = Object.create(Scene_MenuBase.prototype);
  272.     Scene_Gacha.prototype.constructor = Scene_Gacha;

  273.     Scene_Gacha.prototype.initialize = function () {
  274.         Scene_MenuBase.prototype.initialize.call(this);
  275.         this._item = null;
  276.         this._effectPlaying = false;
  277.         this._resultShowing = false;
  278.         this._wait = 0;
  279.         this._effectSprite = null;
  280.         this._windowFadeSprite = null;
  281.         this._screenFadeOutDuration = 0;
  282.         this._screenFadeInDuration = 0;

  283.         this._lot = [];
  284.         var numLot;
  285.         var item, i, j;
  286.         for (i = 1; i < $dataItems.length; i++) {
  287.             item = $dataItems[i];
  288.             if ($gameSystem.isInGacha(item)) {
  289.                 numLot = Number(item.meta.gachaNumLot || '0');
  290.                 for (j = 0; j < numLot; j++) {
  291.                     this._lot.push(item);
  292.                 }
  293.             }
  294.         }
  295.         for (i = 1; i < $dataWeapons.length; i++) {
  296.             item = $dataWeapons[i];
  297.             if ($gameSystem.isInGacha(item)) {
  298.                 numLot = Number(item.meta.gachaNumLot || '0');
  299.                 for (j = 0; j < numLot; j++) {
  300.                     this._lot.push(item);
  301.                 }
  302.             }
  303.         }
  304.         for (i = 1; i < $dataArmors.length; i++) {
  305.             item = $dataArmors[i];
  306.             if ($gameSystem.isInGacha(item)) {
  307.                 numLot = Number(item.meta.gachaNumLot || '0');
  308.                 for (j = 0; j < numLot; j++) {
  309.                     this._lot.push(item);
  310.                 }
  311.             }
  312.         }
  313.     };

  314.     Scene_Gacha.prototype.create = function () {
  315.         Scene_MenuBase.prototype.create.call(this);

  316.         this.createHelpWindow();
  317.         this.createGoldWindow();
  318.         this.createCommandWindow();
  319.         this.createDummyWindow();
  320.         this.createGetCommandWindow();
  321.         this.createGetWindow();

  322.         this._rankSprite = new Sprite_GachaEffect();
  323.         this._rankSprite.keepDisplay(true);
  324.         this.addChild(this._rankSprite);

  325.         this._windowFadeSprite = new ScreenSprite();
  326.         this._windowFadeSprite.setColor(0, 0, 0);
  327.         this._windowFadeSprite.opacity = 0;
  328.         this._windowFadeSprite.visible = false;
  329.         this.addChild(this._windowFadeSprite);

  330.         this._effectSprite = new Sprite_GachaEffect();
  331.         this._effectSprite.x = Graphics.boxWidth / 2;
  332.         this._effectSprite.y = Graphics.boxHeight / 2;
  333.         this.addChild(this._effectSprite);

  334.         this._helpWindow.setText(message);
  335.     };

  336.     Scene_Gacha.prototype.createGoldWindow = function () {
  337.         this._goldWindow = new Window_Gold(0, this._helpWindow.height);
  338.         this._goldWindow.x = Graphics.boxWidth - this._goldWindow.width;
  339.         this.addWindow(this._goldWindow);
  340.     };

  341.     Scene_Gacha.prototype.createCommandWindow = function () {
  342.         this._commandWindow = new Window_GachaCommand(this._goldWindow.x, this._purchaseOnly);
  343.         this._commandWindow.y = this._helpWindow.height;
  344.         this._commandWindow.setHandler('gacha', this.commandGacha.bind(this));
  345.         this._commandWindow.setHandler('cancel', this.popScene.bind(this));
  346.         this._commandWindow.lotIsValid(this._lot.length > 0);
  347.         this._commandWindow.clearCommandList();
  348.         this._commandWindow.makeCommandList();
  349.         this._commandWindow.refresh();
  350.         this.addWindow(this._commandWindow);
  351.     };

  352.     Scene_Gacha.prototype.createDummyWindow = function () {
  353.         var wy = this._commandWindow.y + this._commandWindow.height;
  354.         var wh = Graphics.boxHeight - wy;
  355.         this._dummyWindow = new Window_Base(0, wy, Graphics.boxWidth, wh);
  356.         this.addWindow(this._dummyWindow);
  357.     };

  358.     Scene_Gacha.prototype.createGetCommandWindow = function () {
  359.         this._getCommandWindow = new Window_GachaGetCommand(Graphics.boxWidth, false);
  360.         this._getCommandWindow.y = Graphics.boxHeight - this._getCommandWindow.height;
  361.         this._getCommandWindow.setHandler('cancel', this.commandOk.bind(this));
  362.         this._getCommandWindow.hide();
  363.         this.addWindow(this._getCommandWindow);
  364.     };

  365.     Scene_Gacha.prototype.createGetWindow = function () {
  366.         var wy = this._helpWindow.height;
  367.         var wh = Graphics.boxHeight - wy - this._getCommandWindow.height;
  368.         this._getWindow = new Window_GachaGet(0, wy, Graphics.boxWidth, wh);
  369.         this._getWindow.itemDescEnable(itemDescEnable);
  370.         this._getWindow.hide();
  371.         this.addWindow(this._getWindow);
  372.     };


  373.     Scene_Gacha.prototype.commandGacha = function () {
  374.         // Draw lots
  375.         if (this._lot.length <= 0) {
  376.             this._item = null;
  377.         }
  378.         else {
  379.             this._item = this._lot[(Math.random() * this._lot.length) >> 0];
  380.             $gameParty.loseGold(amount);
  381.             $gameParty.gainItem(this._item, 1);
  382.             this._goldWindow.refresh();

  383.         }

  384.         this._commandWindow.deactivate();
  385.         this._getCommandWindow.deactivate();

  386.         if (this._item) {
  387.             this._getWindow.setItem(this._item);

  388.             this._screenFadeOut();
  389.             this._effectPlaying = true;
  390.             this._wait = 0;

  391.             var animation = $dataAnimations[effect];
  392.             this._effectSprite.startAnimation(animation, false, 0);

  393.             AudioManager.playMe({"name": me, "volume": 90, "pitch": 100, "pan": 0});
  394.         }
  395.         else {
  396.             this._commandWindow.activate();
  397.         }

  398.     };

  399.     Scene_Gacha.prototype.commandOk = function () {
  400.         this._effectSprite.allRemove();
  401.         this._rankSprite.allRemove();
  402.         this._goldWindow.show();
  403.         this._commandWindow.show();
  404.         this._commandWindow.activate();
  405.         this._dummyWindow.show();
  406.         this._getCommandWindow.hide();
  407.         this._getWindow.hide();
  408.         this._helpWindow.setText(message);
  409.         this._item = null;

  410.         this._commandWindow.clearCommandList();
  411.         this._commandWindow.makeCommandList();
  412.         this._commandWindow.refresh();
  413.     };

  414.     Scene_Gacha.prototype.update = function () {
  415.         Scene_Menu.prototype.update.call(this);
  416.         this._updateScreenFlashSprite();

  417.         this._wait++;
  418.         if (this._wait > 12) {
  419.             if (this._effectPlaying) {
  420.                 if (!this._effectSprite.isAnimationPlaying()) {
  421.                     this._screenFadeIn();
  422.                     if (!!this._item.meta.gachaImage) {
  423.                         var rank = Number(this._item.meta.gachaRank || '-1');
  424.                         if (rank > 0 && rank < 6) {
  425.                             if (rankEffect[rank - 1] > 0) {
  426.                                 var animation = $dataAnimations[rankEffect[rank - 1]];
  427.                                 this._rankSprite.x = this._getWindow.width / 2 + this._getWindow.x - 20;
  428.                                 this._rankSprite.y = this._getWindow.contentsHeight() + this._getWindow.y;
  429.                                 if (itemDescEnable) {
  430.                                     this._rankSprite.y -= this._getWindow.lineHeight() * 3;
  431.                                 }
  432.                                 this._rankSprite.startAnimation(animation, false, 0);
  433.                             }
  434.                         }
  435.                     }

  436.                     this._effectPlaying = false;
  437.                     this._goldWindow.hide();
  438.                     this._commandWindow.hide();
  439.                     this._dummyWindow.hide();
  440.                     this._getCommandWindow.show();
  441.                     this._getWindow.show();
  442.                     var message = getText;
  443.                     var reg = /Item Name/gi;
  444.                     message = message.replace(reg, String(this._item.name));
  445.                     this._helpWindow.setText(message);
  446.                     this._wait = 0;
  447.                     this._resultShowing = true;
  448.                 }
  449.                 else {
  450.                     if (TouchInput.isTriggered() || Input.isTriggered("ok")) {
  451.                         this._effectSprite.allRemove();
  452.                     }
  453.                 }
  454.             }
  455.             else if (this._resultShowing) {
  456.                 this._resultShowing = false;
  457.                 this._getCommandWindow.activate();
  458.             }
  459.         }
  460.     };

  461.     Scene_Gacha.prototype._updateScreenFlashSprite = function () {
  462.         var d;
  463.         if (this._screenFadeOutDuration > 0) {
  464.             d = this._screenFadeOutDuration--;
  465.             this._windowFadeSprite.opacity += 255 * (1 - (d - 1) / d);
  466.         }
  467.         if (this._screenFadeInDuration > 0) {
  468.             d = this._screenFadeInDuration--;
  469.             this._windowFadeSprite.opacity *= (d - 1) / d;
  470.             this._windowFadeSprite.visible = (this._screenFadeInDuration > 0);
  471.         }
  472.     };

  473.     Scene_Gacha.prototype._screenFadeOut = function() {
  474.         this._windowFadeSprite.visible = true;
  475.         this._screenFadeOutDuration = 15;
  476.         this._screenFadeInDuration = 0;
  477.     };

  478.     Scene_Gacha.prototype._screenFadeIn = function() {
  479.         this._windowFadeSprite.visible = true;
  480.         this._screenFadeOutDuration = 0;
  481.         this._screenFadeInDuration = 15;
  482.     };


  483.     function Window_Gacha() {
  484.         this.initialize.apply(this, arguments);
  485.     }

  486.     Window_Gacha.prototype = Object.create(Window_Selectable.prototype);
  487.     Window_Gacha.prototype.constructor = Window_Gacha;

  488.     Window_Gacha.prototype.initialize = function (x, y) {
  489.         var width = Graphics.boxWidth;
  490.         var height = this.fittingHeight(6);
  491.         Window_Selectable.prototype.initialize.call(this, x, y, width, height);
  492.         this.refresh();
  493.         this.activate();
  494.     };


  495.     function Window_GachaCommand() {
  496.         this.initialize.apply(this, arguments);
  497.     }

  498.     Window_GachaCommand.prototype = Object.create(Window_HorzCommand.prototype);
  499.     Window_GachaCommand.prototype.constructor = Window_GachaCommand;

  500.     Window_GachaCommand.prototype.initialize = function (width, purchaseOnly) {
  501.         this._windowWidth = width;
  502.         this._purchaseOnly = purchaseOnly;
  503.         Window_HorzCommand.prototype.initialize.call(this, 0, 0);
  504.     };

  505.     Window_GachaCommand.prototype.windowWidth = function () {
  506.         return this._windowWidth;
  507.     };

  508.     Window_GachaCommand.prototype.maxCols = function () {
  509.         return 2;
  510.     };

  511.     Window_GachaCommand.prototype.makeCommandList = function () {
  512.         this.addCommand(buttonText, 'gacha', $gameParty.gold() >= amount && !!this._lotIsValid);
  513.         this.addCommand(TextManager.cancel, 'cancel');
  514.     };

  515.     Window_GachaCommand.prototype.lotIsValid = function(value) {
  516.         this._lotIsValid = value;
  517.     };


  518.     function Window_GachaGetCommand() {
  519.         this.initialize.apply(this, arguments);
  520.     }

  521.     Window_GachaGetCommand.prototype = Object.create(Window_HorzCommand.prototype);
  522.     Window_GachaGetCommand.prototype.constructor = Window_GachaGetCommand;

  523.     Window_GachaGetCommand.prototype.initialize = function (width, purchaseOnly) {
  524.         this._windowWidth = width;
  525.         this._purchaseOnly = purchaseOnly;
  526.         Window_HorzCommand.prototype.initialize.call(this, 0, 0);
  527.     };

  528.     Window_GachaGetCommand.prototype.windowWidth = function () {
  529.         return this._windowWidth;
  530.     };

  531.     Window_GachaGetCommand.prototype.maxCols = function () {
  532.         return 1;
  533.     };

  534.     Window_GachaGetCommand.prototype.makeCommandList = function () {
  535.         this.addCommand('OK', 'cancel');
  536.     };


  537.     function Window_GachaGet() {
  538.         this.initialize.apply(this, arguments);
  539.     }

  540.     Window_GachaGet.prototype = Object.create(Window_Base.prototype);
  541.     Window_GachaGet.prototype.constructor = Window_GachaGet;

  542.     Window_GachaGet.prototype.initialize = function(x, y, width, height) {
  543.         Window_Base.prototype.initialize.call(this, x, y, width, height);
  544.         this._item = null;
  545.         this._itemDescEnable = true;
  546.         this._gachaSprite = new Sprite();
  547.         this._gachaSprite.anchor.x = 0.5;
  548.         this._gachaSprite.anchor.y = 0;
  549.         this._gachaSprite.x = width / 2 - 20;
  550.         this._gachaSprite.y = this.padding;
  551.         this.addChildToBack(this._gachaSprite);
  552.         this.refresh();
  553.     };

  554.     Window_GachaGet.prototype.itemDescEnable = function(value) {
  555.         if (this._itemDescEnable !== value) {
  556.             this._itemDescEnable = value;
  557.             this.refresh();
  558.         }
  559.     };

  560.     Window_GachaGet.prototype.setItem = function(item) {
  561.         if (this._item !== item) {
  562.             this._item = item;
  563.             this.refresh();
  564.         }
  565.     };

  566.     Window_GachaGet.prototype.update = function() {
  567.         Window_Base.prototype.update.call(this);
  568.         if (this._gachaSprite.bitmap) {
  569.             var bitmapHeight = this._gachaSprite.bitmap.height;
  570.             var contentsHeight = this.contents.height;
  571.             if (this._itemDescEnable) {
  572.                 contentsHeight -= this.lineHeight() * 3
  573.             }
  574.             var scale = 1;
  575.             if (bitmapHeight > contentsHeight) {
  576.                 scale = contentsHeight / bitmapHeight;
  577.             }
  578.             this._gachaSprite.scale.x = scale;
  579.             this._gachaSprite.scale.y = scale;
  580.         }
  581.     };

  582.     Window_GachaGet.prototype.refresh = function() {
  583.         var item = this._item;
  584.         this.contents.clear();

  585.         if (this._itemDescEnable) {
  586.             var y = this.contentsHeight() - this.lineHeight() * 3;
  587.             this.drawHorzLine(y);
  588.             this.drawDescription(0, y + this.lineHeight());
  589.         }

  590.         if (!item || !item.meta.gachaImage) {
  591.             this._gachaSprite.bitmap = null;
  592.             return;
  593.         }
  594.         else {
  595.             var bitmap;
  596.             bitmap = ImageManager.loadBitmap("img/gacha/", this._item.meta.gachaImage);
  597.             this._gachaSprite.bitmap = bitmap;
  598.             bitmap.smooth = true;
  599.         }
  600.     };

  601.     Window_GachaGet.prototype.drawDescription = function(x, y) {
  602.         if (this._item) this.drawTextEx(this._item.description, x, y);
  603.     };

  604.     Window_GachaGet.prototype.drawHorzLine = function(y) {
  605.         var lineY = y + this.lineHeight() / 2 - 1;
  606.         this.contents.paintOpacity = 48;
  607.         this.contents.fillRect(0, lineY, this.contentsWidth(), 2, this.lineColor());
  608.         this.contents.paintOpacity = 255;
  609.     };

  610.     Window_GachaGet.prototype.lineColor = function() {
  611.         return this.normalColor();
  612.     };



  613.     function Sprite_GachaEffect() {
  614.         this.initialize.apply(this, arguments);
  615.     }

  616.     Sprite_GachaEffect.prototype = Object.create(Sprite.prototype);
  617.     Sprite_GachaEffect.prototype.constructor = Sprite_GachaEffect;

  618.     Sprite_GachaEffect.prototype.initialize = function() {
  619.         Sprite.prototype.initialize.call(this);
  620.         this._animationSprites = [];
  621.         this._endSprites = [];
  622.         this._effectTarget = this;
  623.         this._hiding = false;
  624.         this._keepDisplay = false;
  625.     };

  626.     Sprite_GachaEffect.prototype.keepDisplay = function(value) {
  627.         this._keepDisplay = value;
  628.     };

  629.     Sprite_GachaEffect.prototype.update = function() {
  630.         Sprite.prototype.update.call(this);
  631.         this.updateVisibility();
  632.         this.updateAnimationSprites();
  633.     };

  634.     Sprite_GachaEffect.prototype.hide = function() {
  635.         this._hiding = true;
  636.         this.updateVisibility();
  637.     };

  638.     Sprite_GachaEffect.prototype.show = function() {
  639.         this._hiding = false;
  640.         this.updateVisibility();
  641.     };

  642.     Sprite_GachaEffect.prototype.updateVisibility = function() {
  643.         this.visible = !this._hiding;
  644.     };

  645.     Sprite_GachaEffect.prototype.updateAnimationSprites = function() {
  646.         if (this._animationSprites.length > 0) {
  647.             var sprites = this._animationSprites.clone();
  648.             this._animationSprites = [];
  649.             for (var i = 0; i < sprites.length; i++) {
  650.                 var sprite = sprites[i];
  651.                 if (sprite.isPlaying()) {
  652.                     this._animationSprites.push(sprite);
  653.                 } else {
  654.                     if (!this._keepDisplay) {
  655.                         sprite.remove();
  656.                     }
  657.                     else {
  658.                         this._endSprites.push(sprite);
  659.                     }
  660.                 }
  661.             }
  662.         }
  663.     };

  664.     Sprite_GachaEffect.prototype.startAnimation = function(animation, mirror, delay) {
  665.         var sprite = new Sprite_Animation();
  666.         sprite.setup(this._effectTarget, animation, mirror, delay);
  667.         this.parent.addChild(sprite);
  668.         this._animationSprites.push(sprite);
  669.     };

  670.     Sprite_GachaEffect.prototype.isAnimationPlaying = function() {
  671.         return this._animationSprites.length > 0;
  672.     };

  673.     Sprite_GachaEffect.prototype.allRemove = function() {
  674.         var sprites, sprite, i;
  675.         if (this._animationSprites.length > 0) {
  676.             sprites = this._animationSprites.clone();
  677.             this._animationSprites = [];
  678.             for (i = 0; i < sprites.length; i++) {
  679.                 sprite = sprites[i];
  680.                 sprite.remove();
  681.             }
  682.         }
  683.         if (this._endSprites.length > 0) {
  684.             sprites = this._endSprites.clone();
  685.             this._endSprites = [];
  686.             for (i = 0; i < sprites.length; i++) {
  687.                 sprite = sprites[i];
  688.                 sprite.remove();
  689.             }
  690.         }
  691.     };

  692. })();
复制代码



我记得有demo下载的官网上?反正感觉并不好用
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2014-8-21
帖子
11
8
 楼主| 发表于 2016-7-15 19:49:20 | 只看该作者
chenyilindzh 发表于 2016-7-14 19:29
我记得有demo下载的官网上?反正感觉并不好用

能直接用吗,那个扭蛋机应该要特定图片吧。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2014-8-21
帖子
11
9
 楼主| 发表于 2016-7-15 19:50:26 | 只看该作者
chenyilindzh 发表于 2016-7-14 19:29
我记得有demo下载的官网上?反正感觉并不好用

能直接用吗,扭蛋机不用特定图片吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
帖子
166
10
发表于 2016-7-15 20:23:44 | 只看该作者
死亡人鱼 发表于 2016-7-15 19:50
能直接用吗,扭蛋机不用特定图片吗?

照着前面的文档用就好了,不过这个扭蛋脚本,不怎么样···
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-25 00:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表