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

Project1

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

[已经解决] 在站里找了个血条脚本,用起来有点问题,哪里出错了?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
125
在线时间
152 小时
注册时间
2014-8-23
帖子
135
跳转到指定楼层
1
发表于 2015-1-18 15:35:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 RyanBern 于 2015-1-18 15:37 编辑

这个脚本,WIN2窗口是用来显示第二个角色的血条的,但是开关打开后,两个血条窗口总是重合,调整窗口的坐标都没有用,怎么办。
这是原帖地址
https://rpg.blue/thread-366576-1-1.html
(第一次发脚本,直接复制粘贴就好了吧?)


RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4. #◆◇◆◇◆-----XRXS54. マップ上で簡易ウィンドウ表示 ver1.0 -----◇◆◇◆◇
  5. # by 刻宮
  6.  
  7. # 「ディフォルト機能 & 仕様」
  8. #  ・$WIN_2 = true。としても、スイッチがONでかつ、アクターが存在しなければ
  9. #   ウィンドウは表示されません。この3要素が揃った時にウィンドウを表示します。
  10. #  ・逆にこの要素が一つでも欠けるとウィンドウは自動的に非表示になります。
  11. #  ・ツクール開始時はスイッチはOFFなので、ONにしないと表示されません。
  12. #------------------------------------------------------------------
  13. # カスタマイズポイント
  14. #(*存在しないスイッチを指定されるとエラーになります。)
  15.  
  16.  
  17. #----------------------------------------------------------------
  18. # 使用说明(66RPG提示:本脚本其实难度不是很高,建议学习RGSS略有心得
  19. #           的人尝试自己编写一个同类功能窗口)
  20. #----------------------------------------------------------------
  21. WIN_1     = true  # 是否使用1号窗口,true为使用,false为不使用
  22. SWITVH_1  = 56   # 当此编号开关打开的时候窗口显示。如设置为40则40号开关打开,1号窗口显示
  23. OPACITY_1 = 0 # 1号窗口透明度
  24. X_1       = 320     # 1号窗口X坐标
  25. Y_1       = 384   # 1号窗口Y坐标
  26.  
  27. $WIN_2    = true  # 是否使用2号窗口,true为使用,false为不使用
  28. SWITVH_2  = 57    # 当此编号开关打开的时候窗口显示。如设置为41则41号开关打开,2号窗口显示
  29. OPACITY_2 = 0   # 2号窗口透明度
  30. X_2       = 160   # 2号窗口X坐标
  31. Y_2       = 384   # 2号窗口Y坐标
  32.  
  33. WIN_3     = true  # 是否使用3号窗口,true为使用,false为不使用
  34. SWITVH_3  = 42    # 当此编号开关打开的时候窗口显示。如设置为42则42号开关打开,3号窗口显示
  35. OPACITY_3 = 255   # 3号窗口透明度
  36. X_3       = 320   # 3号窗口X坐标
  37. Y_3       = 384   # 3号窗口Y坐标
  38.  
  39. WIN_4     = true  # 是否使用4号窗口,true为使用,false为不使用
  40. SWITVH_4  = 43    # 当此编号开关打开的时候窗口显示。如设置为43则43号开关打开,4号窗口显示
  41. OPACITY_4 = 255   # 4号窗口透明度
  42. X_4       = 480   # 4号窗口X坐标
  43. Y_4       = 384   # 4号窗口Y坐标
  44.  
  45. SET_SP    = [true,true,true,true] # 决定各个窗口是否显示SP数值,true为显示,false为不显示。
  46. OPTION    =44   # 决定在对话的时候是否让窗口隐藏的开关编号。
  47.                    # 比如设置为44,则当44号开关打开,则在对话的时候窗口隐藏
  48.                    # 否则窗口不隐藏。
  49.  
  50.  
  51. #=========================================================================
  52. # ■ Scene_Map
  53. #=========================================================================
  54. class Scene_Map
  55. #---------------------------------------------------------------------
  56. # ● フレーム更新
  57. #---------------------------------------------------------------------
  58. alias main_tokimiya main
  59. def main
  60.    # 簡易ウィンドウ1を作成
  61.      @simple_window1 = Window_MapStatus.new(X_1,Y_1,0)
  62.         @simple_window1.opacity = OPACITY_1
  63.      @simple_window1.visible = $game_switches[SWITVH_1]
  64.      unless $game_party.actors.size > 0
  65.        @simple_window1.visible = false
  66.      end
  67.    # 簡易ウィンドウ2を作成
  68.      @simple_window2 = Window_MapStatus.new(X_2,Y_2,1)
  69.      @simple_window2.opacity = OPACITY_2
  70.      @simple_window2.visible = $game_switches[SWITVH_2]
  71.      unless $game_party.actors.size > 1
  72.        @simple_window2.visible = false
  73.      end
  74.    # 簡易ウィンドウ3を作成
  75.      @simple_window3 = Window_MapStatus.new(X_3,Y_3,2)
  76.      @simple_window3.opacity = OPACITY_3
  77.      @simple_window3.visible = $game_switches[SWITVH_3]
  78.      unless $game_party.actors.size > 2
  79.        @simple_window3.visible = false
  80.      end
  81.    # 簡易ウィンドウ4を作成
  82.      @simple_window4 = Window_MapStatus.new(X_4,Y_4,3)
  83.      @simple_window4.opacity = OPACITY_4
  84.      @simple_window4.visible = $game_switches[SWITVH_4]
  85.      unless $game_party.actors.size > 3
  86.        @simple_window4.visible = false
  87.      end
  88.  
  89.      main_tokimiya   # 旧メソッドの呼び出し
  90.  
  91.    # 簡易ウィンドウの解放
  92.      @simple_window1.dispose
  93.      @simple_window2.dispose
  94.      @simple_window3.dispose
  95.      @simple_window4.dispose
  96. end
  97.  
  98. #---------------------------------------------------------------------
  99. # ● フレーム更新
  100. #---------------------------------------------------------------------
  101. alias update_tokimiya update
  102. def update
  103.    update_tokimiya   # 旧メソッドの呼び出し
  104.    # 以前のパラメーターと相違があれば、内容を更新する。
  105.    #
  106.    # ウィンドウ1の更新。
  107.    if WIN_1 == true and $game_party.actors.size > 0
  108.      # データの更新
  109.      actor = $game_party.actors[0]
  110.      factor_1 = @simple_window1.before_1[0] != actor.name
  111.      factor_2 = @simple_window1.before_1[1] != actor.hp
  112.      factor_3 = @simple_window1.before_1[2] != actor.sp
  113.      if factor_1 or factor_2 or factor_3
  114.        @simple_window1.before_1[0] = actor.name
  115.        @simple_window1.before_1[1] = actor.hp
  116.        @simple_window1.before_1[2] = actor.sp
  117.        @simple_window1.refresh(0)
  118.      end
  119.      # 非表示機能の実行
  120.      if @message_window.visible == true and $game_switches[OPTION] == true
  121.        @simple_window1.before_1[3] = false
  122.        @simple_window1.visible = false
  123.      elsif @simple_window1.before_1[3] != $game_switches[SWITVH_1]
  124.        @simple_window1.before_1[3] = $game_switches[SWITVH_1]
  125.        @simple_window1.visible = $game_switches[SWITVH_1]
  126.      end
  127.    end
  128.  
  129.    # ウィンドウ2の更新。
  130.    if $WIN_2 == true and $game_party.actors.size > 1
  131.      # データの更新
  132.      actor = $game_party.actors[1]
  133.      factor_1 = @simple_window2.before_2[0] != actor.name
  134.      factor_2 = @simple_window2.before_2[1] != actor.hp
  135.      factor_3 = @simple_window2.before_2[2] != actor.sp
  136.      if factor_1 or factor_2 or factor_3
  137.        @simple_window2.before_2[0] = actor.name
  138.        @simple_window2.before_2[1] = actor.hp
  139.        @simple_window2.before_2[2] = actor.sp
  140.        @simple_window2.refresh(1)
  141.        # ウィンドウを強制的に生成
  142.        @simple_window2.before_2[3] = true
  143.        @simple_window2.visible = true
  144.      end
  145.      # 非表示機能の実行
  146.      if @message_window.visible == true and $game_switches[OPTION] == true
  147.        @simple_window2.before_2[3] = false
  148.        @simple_window2.visible = false
  149.      elsif @simple_window2.before_2[3] != $game_switches[SWITVH_2]
  150.        @simple_window2.before_2[3] = $game_switches[SWITVH_2]
  151.        @simple_window2.visible = $game_switches[SWITVH_2]
  152.      end
  153.    # アクターが存在しないのにウィンドウが表示されたままの場合。
  154.    elsif @simple_window2.visible == true and @simple_window2.before_2 != nil
  155.      # ウィンドウを消去。
  156.      @simple_window2.before_2[3] = false
  157.      @simple_window2.visible = false
  158.    end
  159.  
  160.    # ウィンドウ3の更新。
  161.    if WIN_3 == true and $game_party.actors.size > 2
  162.      # データの更新
  163.      actor = $game_party.actors[2]
  164.      factor_1 = @simple_window3.before_3[0] != actor.name
  165.      factor_2 = @simple_window3.before_3[1] != actor.hp
  166.      factor_3 = @simple_window3.before_3[2] != actor.sp
  167.      if factor_1 or factor_2 or factor_3
  168.        @simple_window3.before_3[0] = actor.name
  169.        @simple_window3.before_3[1] = actor.hp
  170.        @simple_window3.before_3[2] = actor.sp
  171.        @simple_window3.refresh(2)
  172.        # ウィンドウを強制的に生成
  173.        @simple_window3.before_3[3] = true
  174.        @simple_window3.visible = true
  175.      end
  176.      # 非表示機能の実行
  177.      if @message_window.visible == true and $game_switches[OPTION] == true
  178.        @simple_window3.before_3[3] = false
  179.        @simple_window3.visible = false
  180.      elsif @simple_window3.before_3[3] != $game_switches[SWITVH_3]
  181.        @simple_window3.before_3[3] = $game_switches[SWITVH_3]
  182.        @simple_window3.visible = $game_switches[SWITVH_3]
  183.      end
  184.    # アクターが存在しないのにウィンドウが表示されたままの場合。
  185.    elsif @simple_window3.visible == true and @simple_window3.before_3 != nil
  186.      # ウィンドウを消去。
  187.      @simple_window3.before_3[3] = false
  188.      @simple_window3.visible = false
  189.    end
  190.  
  191.    # ウィンドウ4の更新。
  192.    if WIN_4 == true and $game_party.actors.size > 3
  193.      # データの更新
  194.      actor = $game_party.actors[3]
  195.      factor_1 = @simple_window4.before_4[0] != actor.name
  196.      factor_2 = @simple_window4.before_4[1] != actor.hp
  197.      factor_3 = @simple_window4.before_4[2] != actor.sp
  198.      if factor_1 or factor_2 or factor_3
  199.        @simple_window4.before_4[0] = actor.name
  200.        @simple_window4.before_4[1] = actor.hp
  201.        @simple_window4.before_4[2] = actor.sp
  202.        @simple_window4.refresh(3)
  203.        # ウィンドウを強制的に生成
  204.        @simple_window4.before_4[3] = true
  205.        @simple_window4.visible = true
  206.      end
  207.      # 非表示機能の実行
  208.      if @message_window.visible == true and $game_switches[OPTION] == true
  209.        @simple_window4.before_4[3] = false
  210.        @simple_window4.visible = false
  211.      elsif @simple_window4.before_4[3] != $game_switches[SWITVH_4]
  212.        @simple_window4.before_4[3] = $game_switches[SWITVH_4]
  213.        @simple_window4.visible = $game_switches[SWITVH_4]
  214.      end
  215.    # アクターが存在しないのにウィンドウが表示されたままの場合。
  216.    elsif @simple_window4.visible == true and @simple_window4.before_4 != nil
  217.      # ウィンドウを消去。
  218.      @simple_window4.before_4[3] = false
  219.      @simple_window4.visible = false
  220.    end
  221. end
  222. end
  223.  
  224.  
  225.  
  226. #=========================================================================
  227. # ■ Window_MapStatus,脚本来自[url]www.66rpg.com[/url],转载请注意说明
  228. #=========================================================================
  229. class Window_MapStatus < Window_Base
  230. #--------------------------------------------------------------------------
  231. # ○ 公開インスタンス変数
  232. #--------------------------------------------------------------------------
  233. attr_accessor   :before_1              # 更新前のウィンドウ1のパラメーター
  234. attr_accessor   :before_2              # 更新前のウィンドウ2のパラメーター
  235. attr_accessor   :before_3              # 更新前のウィンドウ3のパラメーター
  236. attr_accessor   :before_4              # 更新前のウィンドウ4のパラメーター
  237. #---------------------------------------------------------------------
  238. # ● フレーム更新
  239. #---------------------------------------------------------------------
  240. def initialize(x,y,id)
  241.    #super(x,y,160,96)
  242.    super(0,0,640,128)
  243.    self.contents = Bitmap.new(width - 32, height - 32)
  244.    self.contents.font.size = 18
  245.    @before_1=[]
  246.    @before_2=[]
  247.    @before_3=[]
  248.    @before_4=[]
  249.     # 現段階のアクターのパラメーターと可視状態を記憶。
  250.    data
  251.    # 項目の描画。
  252.    refresh(id)
  253. end
  254. #--------------------------------------------------------------------------
  255. # ● 項目の描画
  256. #--------------------------------------------------------------------------
  257. def data
  258.    # アクター1の記憶(ただし、パーティが1名以上の場合)
  259.    if $game_party.actors.size > 0
  260.      actor = $game_party.actors[0]
  261.      @before_1 = [actor.name, actor.hp, actor.sp,true]
  262.    end
  263.    # アクター2の記憶(ただし、パーティが2名以上の場合)
  264.    if $game_party.actors.size > 1
  265.      actor = $game_party.actors[1]
  266.      @before_2 = [actor.name, actor.hp, actor.sp,true]
  267.    end
  268.    # アクター3の記憶(ただし、パーティが3名以上の場合)
  269.    if $game_party.actors.size > 2
  270.      actor = $game_party.actors[2]
  271.      @before_3 = [actor.name, actor.hp, actor.sp,true]
  272.    end
  273.    # アクター3の記憶(ただし、パーティが4名以上の場合)
  274.    if $game_party.actors.size > 3
  275.      actor = $game_party.actors[3]
  276.      @before_4 = [actor.name, actor.hp, actor.sp,true]
  277.    end
  278. end
  279. #--------------------------------------------------------------------------
  280. # ● 項目の描画
  281. #--------------------------------------------------------------------------
  282. def refresh(id)
  283.    # 再描画のために一旦内容を破棄する
  284.    self.contents.clear
  285.    # 対応するアクターがいなければ、何もせずに終了する。
  286.    actor = $game_party.actors[id]
  287.    if actor == nil
  288.      return
  289.    end
  290.    # 名前の描画
  291.    draw_actor_name(actor, 0, -5)
  292.    # HPの描画
  293.    if SET_SP[id]
  294.      draw_actor_hp_bar(actor, 0, 18)
  295.    else
  296.      draw_actor_hp_bar(actor, 0, 28)
  297.    end
  298.    # SPの描画
  299.    if SET_SP[id]
  300.      draw_actor_sp_bar(actor, 0, 36)
  301.    end
  302. end
  303. end
  304.  
  305.  
  306. class Window_Base < Window
  307. #--------------------------------------------------------------------------
  308. # ● HP ゲージの描画
  309. #--------------------------------------------------------------------------
  310. # オリジナルのHP描画を draw_actor_hp_original と名前変更
  311. def draw_actor_hp_bar(actor, x, y, width = 144)
  312.    # 変数rateに 現在のHP/MHPを代入
  313.    if actor.maxhp != 0
  314.      rate = actor.hp.to_f / actor.maxhp
  315.    else
  316.      rate = 0
  317.    end
  318.    # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  319.    # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  320.    # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  321.    # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  322.    # align3:ゲージタイプ 0:左詰め 1:右詰め
  323.    plus_x = 0
  324.    rate_x = -20#HP条的X
  325.    plus_y = 25#HP条的Y
  326.    plus_width = 0
  327.    rate_width = 50 #HP条的高
  328.    height = 10#HP条的高
  329.    align1 = 1
  330.    align2 = 2
  331.    align3 = 0
  332.    # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  333.    # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  334.    grade1 = 1
  335.    grade2 = 0
  336.    # 色設定。color1:外枠,color2:中枠
  337.    # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  338.    # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  339.    color1 = Color.new(0, 0, 0, 192)
  340.    color2 = Color.new(255, 255, 192, 192)
  341.    color3 = Color.new(0, 0, 0, 192)
  342.    color4 = Color.new(64, 0, 0, 192)
  343.    color5 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192)
  344.    color6 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192)
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.    # 変数spに描画するゲージの幅を代入
  353.    if actor.maxhp != 0
  354.      hp = (width + plus_width) * actor.hp * rate_width / 100 / actor.maxhp
  355.    else
  356.      hp = 0
  357.    end
  358.    # ゲージの描画
  359.    gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  360.                width, plus_width + width * rate_width / 100,
  361.                height, hp, align1, align2, align3,
  362.                color1, color2, color3, color4, color5, color6, grade1, grade2)
  363.  
  364. end
  365. #--------------------------------------------------------------------------
  366. # ● SP ゲージの描画
  367. #--------------------------------------------------------------------------
  368. # オリジナルのSP描画を draw_actor_sp_original と名前変更
  369.  
  370. def draw_actor_sp_bar(actor, x, y, width = 144)
  371.    # 変数rateに 現在のSP/MSPを代入
  372.    if actor.maxsp != 0
  373.      rate = actor.sp.to_f / actor.maxsp
  374.    else
  375.      rate = 1
  376.    end
  377.    # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  378.    # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  379.    # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  380.    # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  381.    # align3:ゲージタイプ 0:左詰め 1:右詰め
  382.    plus_x = 0
  383.    rate_x = -20#SP条的X
  384.    plus_y = 25#SP条的Y
  385.    plus_width = 0
  386.    rate_width = 50 #SP条宽
  387.    height = 10#SP条的高
  388.    align1 = 1
  389.    align2 = 2
  390.    align3 = 0
  391.    # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  392.    # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  393.    grade1 = 1
  394.    grade2 = 0
  395.    # 色設定。color1:外枠,color2:中枠
  396.    # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  397.    # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  398.    color1 = Color.new(0, 0, 0, 192)
  399.    color2 = Color.new(255, 255, 192, 192)
  400.    color3 = Color.new(0, 0, 0, 192)
  401.    color4 = Color.new(0, 64, 0, 192)
  402.    color5 = Color.new(14 * rate, 80 - 24 * rate, 80 * rate, 192)
  403.    color6 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
  404.    # 変数spに描画するゲージの幅を代入
  405.    if actor.maxsp != 0
  406.      sp = (width + plus_width) * actor.sp * rate_width / 100 / actor.maxsp
  407.    else
  408.      sp = (width + plus_width) * rate_width / 100
  409.    end
  410.    # ゲージの描画
  411.    gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  412.                width, plus_width + width * rate_width / 100,
  413.                height, sp, align1, align2, align3,
  414.                color1, color2, color3, color4, color5, color6, grade1, grade2)
  415.    # オリジナルのSP描画処理を呼び出し
  416.  
  417. end  
  418. end
  419.  
  420.  
  421. def gauge_rect(x, y, rect_width, width, height, gauge, align1, align2, align3,
  422.                color1, color2, color3, color4, color5, color6, grade1, grade2)
  423.    case align1
  424.    when 1
  425.      x += (rect_width - width) / 2
  426.    when 2
  427.      x += rect_width - width
  428.    end
  429.    case align2
  430.    when 1
  431.      y -= height / 2
  432.    when 2
  433.      y -= height
  434.    end
  435.    # 枠描画
  436.    self.contents.fill_rect(x, y, width, height, color1)
  437.    self.contents.fill_rect(x + 1, y + 1, width - 2, height - 2, color2)
  438.    if align3 == 0
  439.      if grade1 == 2
  440.        grade1 = 3
  441.      end
  442.      if grade2 == 2
  443.        grade2 = 3
  444.      end
  445.    end
  446.    if (align3 == 1 and grade1 == 0) or grade1 > 0
  447.      color = color3
  448.      color3 = color4
  449.      color4 = color
  450.    end
  451.    if (align3 == 1 and grade2 == 0) or grade2 > 0
  452.      color = color5
  453.      color5 = color6
  454.      color6 = color
  455.    end
  456.    # 空ゲージの描画
  457.    self.contents.gradation_rect(x + 2, y + 2, width - 4, height - 4,
  458.                                  color3, color4, grade1)
  459.    if align3 == 1
  460.      x += width - gauge
  461.    end
  462.    # 実ゲージの描画
  463.    self.contents.gradation_rect(x + 2, y + 2, gauge - 4, height - 4,
  464.                                  color5, color6, grade2)
  465. end
  466.  
  467.  
  468.  
  469.  
  470.  
  471. class Bitmap
  472. #--------------------------------------------------------------------------
  473. # ● 矩形をグラデーション表示
  474. #     color1 : スタートカラー
  475. #     color2 : エンドカラー
  476. #     align  :  0:横にグラデーション
  477. #               1:縦にグラデーション
  478. #               2:斜めにグラデーション(激重につき注意)
  479. #--------------------------------------------------------------------------
  480. def gradation_rect(x, y, width, height, color1, color2, align = 0)
  481.    if align == 0
  482.      for i in x...x + width
  483.        red   = color1.red + (color2.red - color1.red) * (i - x) / (width - 1)
  484.        green = color1.green +
  485.                (color2.green - color1.green) * (i - x) / (width - 1)
  486.        blue  = color1.blue +
  487.                (color2.blue - color1.blue) * (i - x) / (width - 1)
  488.        alpha = color1.alpha +
  489.                (color2.alpha - color1.alpha) * (i - x) / (width - 1)
  490.        color = Color.new(red, green, blue, alpha)
  491.        fill_rect(i, y, 1, height, color)
  492.      end
  493.    elsif align == 1
  494.      for i in y...y + height
  495.        red   = color1.red +
  496.                (color2.red - color1.red) * (i - y) / (height - 1)
  497.        green = color1.green +
  498.                (color2.green - color1.green) * (i - y) / (height - 1)
  499.        blue  = color1.blue +
  500.                (color2.blue - color1.blue) * (i - y) / (height - 1)
  501.        alpha = color1.alpha +
  502.                (color2.alpha - color1.alpha) * (i - y) / (height - 1)
  503.        color = Color.new(red, green, blue, alpha)
  504.        fill_rect(x, i, width, 1, color)
  505.      end
  506.    elsif align == 2
  507.      for i in x...x + width
  508.        for j in y...y + height
  509.          red   = color1.red + (color2.red - color1.red) *
  510.                  ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  511.          green = color1.green + (color2.green - color1.green) *
  512.                  ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  513.          blue  = color1.blue + (color2.blue - color1.blue) *
  514.                  ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  515.          alpha = color1.alpha + (color2.alpha - color1.alpha) *
  516.                  ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  517.          color = Color.new(red, green, blue, alpha)
  518.          set_pixel(i, j, color)
  519.        end
  520.      end
  521.    elsif align == 3
  522.      for i in x...x + width
  523.        for j in y...y + height
  524.          red   = color1.red + (color2.red - color1.red) *
  525.                ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  526.          green = color1.green + (color2.green - color1.green) *
  527.                ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  528.          blue  = color1.blue + (color2.blue - color1.blue) *
  529.                ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  530.          alpha = color1.alpha + (color2.alpha - color1.alpha) *
  531.                ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  532.          color = Color.new(red, green, blue, alpha)
  533.          set_pixel(i, j, color)
  534.        end
  535.      end
  536.    end
  537. end
  538. end
  539.  
  540.  
  541.  
  542.  
  543. #==============================================================================
  544. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  545. #==============================================================================

点评

发脚本时推荐使用代码框,用[pre lang="Ruby"]代码内容[/pre]这样把代码框起来  发表于 2015-1-18 15:38

Lv1.梦旅人

梦石
0
星屑
125
在线时间
152 小时
注册时间
2014-8-23
帖子
135
2
 楼主| 发表于 2015-1-18 21:28:48 | 只看该作者
话说没人帮么QAQ
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3846
在线时间
1966 小时
注册时间
2013-1-3
帖子
9536
3
发表于 2015-1-19 12:36:59 | 只看该作者
把242行
  1. super(0,0,640,128)
复制代码
改为
  1. super(x,y,640,128)
复制代码
还有后面的640、128即为窗口宽高

点评

不好意思,回复迟了,已经解决了,就是这个问题,谢谢  发表于 2015-1-25 09:00

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 XP提问区有卡

查看全部评分

《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 07:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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