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

Project1

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

颜色问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2008-6-5
帖子
312
跳转到指定楼层
1
发表于 2009-2-6 23:14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
RT(255.255.255.255)是白色,那红色是(?.?.?.?)呢!
版务信息:版主帮忙结贴~

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

2
发表于 2009-2-6 23:16:09 | 只看该作者
255,0,0,255
R   G B A
系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2008-6-5
帖子
312
3
 楼主| 发表于 2009-2-6 23:21:13 | 只看该作者
哦!顺便再问一个...
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================


  4. #◆◇◆◇◆-----XRXS54. マップ上で簡易ウィンドウ表示 ver1.0 -----◇◆◇◆◇
  5. # by 刻宮
  6. # 「ディフォルト機能 & 仕様」
  7. #  ・$WIN_2 = true。としても、スイッチがONでかつ、アクターが存在しなければ
  8. #   ウィンドウは表示されません。この3要素が揃った時にウィンドウを表示します。
  9. #  ・逆にこの要素が一つでも欠けるとウィンドウは自動的に非表示になります。
  10. #  ・ツクール開始時はスイッチはOFFなので、ONにしないと表示されません。
  11. #------------------------------------------------------------------
  12. # カスタマイズポイント
  13. #(*存在しないスイッチを指定されるとエラーになります。)

  14. #----------------------------------------------------------------
  15. # 使用说明(66RPG提示:本脚本其实难度不是很高,建议学习RGSS略有心得
  16. #           的人尝试自己编写一个同类功能窗口)
  17. #----------------------------------------------------------------
  18.   WIN_1     = true  # 是否使用1号窗口,true为使用,false为不使用
  19.   SWITVH_1  = 40    # 当此编号开关打开的时候窗口显示。如设置为40则40号开关打开,1号窗口显示
  20.   OPACITY_1 = 0   # 1号窗口透明度
  21.   X_1       = 495     # 1号窗口X坐标
  22.   Y_1       = -2  # 1号窗口Y坐标
  23.   
  24.   
  25.   SET_SP    = [true] # 决定各个窗口是否显示SP数值,true为显示,false为不显示。
  26.   OPTION    = 44    # 决定在对话的时候是否让窗口隐藏的开关编号。
  27.                     # 比如设置为44,则当44号开关打开,则在对话的时候窗口隐藏
  28.                     # 否则窗口不隐藏。
  29.                     
  30.                     
  31. #=========================================================================
  32. # ■ Scene_Map
  33. #=========================================================================
  34. class Scene_Map
  35.   #---------------------------------------------------------------------
  36.   # ● フレーム更新
  37.   #---------------------------------------------------------------------
  38.   alias main_tokimiya main
  39.   def main
  40.     # 簡易ウィンドウ1を作成
  41.       @simple_window1 = Window_MapStatus.new(X_1,Y_1,0)
  42.       @simple_window1.opacity = OPACITY_1
  43.       @simple_window1.visible = $game_switches[SWITVH_1]
  44.       unless $game_party.actors.size > 0
  45.         @simple_window1.visible = false
  46.       end
  47.    
  48.       main_tokimiya   # 旧メソッドの呼び出し
  49.    
  50.     # 簡易ウィンドウの解放
  51.       @simple_window1.dispose
  52.   end
  53.   #---------------------------------------------------------------------
  54.   # ● フレーム更新
  55.   #---------------------------------------------------------------------
  56.   alias update_tokimiya update
  57.   def update
  58.     update_tokimiya   # 旧メソッドの呼び出し
  59.     # 以前のパラメーターと相違があれば、内容を更新する。
  60.     #
  61.     # ウィンドウ1の更新。
  62.     if WIN_1 == true and $game_party.actors.size > 0
  63.       # データの更新
  64.       actor = $game_party.actors[0]
  65.       factor_1 = @simple_window1.before_1[0] != actor.name
  66.       factor_2 = @simple_window1.before_1[1] != actor.hp
  67.       factor_3 = @simple_window1.before_1[2] != actor.sp
  68.       if factor_1 or factor_2 or factor_3
  69.         @simple_window1.before_1[0] = actor.name
  70.         @simple_window1.before_1[1] = actor.hp
  71.         @simple_window1.before_1[2] = actor.sp
  72.         @simple_window1.refresh(0)
  73.       end
  74.       # 非表示機能の実行
  75.       if @message_window.visible == true and $game_switches[OPTION] == true
  76.         @simple_window1.before_1[3] = false
  77.         @simple_window1.visible = false
  78.       elsif @simple_window1.before_1[3] != $game_switches[SWITVH_1]
  79.         @simple_window1.before_1[3] = $game_switches[SWITVH_1]
  80.         @simple_window1.visible = $game_switches[SWITVH_1]
  81.       end
  82.     end
  83. end
  84.   
  85. end
  86. class Game_Actor < Game_Battler
  87.   def now_exp
  88.     return @exp - @exp_list[@level]
  89.   end
  90.   def next_exp
  91.     return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  92.   end
  93. end


  94. #==========================================================
  95. # ■ Window_Base
  96. #------------------------------------------------------------
  97. #  ゲーム中のすべてのウィンドウのスーパークラスです。
  98. #============================================================
  99. class Window_Base < Window
  100.   #--------------------------------------------------------
  101.   # ● HP ゲージの描画
  102.   #--------------------------------------------------
  103.   # オリジナルのHP描画を draw_actor_hp_original と名前変更
  104.   alias :draw_actor_hp_original :draw_actor_hp
  105.   def draw_actor_hp2(actor, x, y, width = 124)
  106.     # 変数rateに 現在のHP/MHPを代入
  107.     if actor.maxhp != 0
  108.       rate = actor.hp.to_f / actor.maxhp
  109.     else
  110.       rate = 0
  111.     end
  112.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  113.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  114.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  115.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  116.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  117.     plus_x = 0
  118.     rate_x = 0
  119.     plus_y = 25
  120.     plus_width = 0
  121.     rate_width = 100
  122.     height = 10
  123.     align1 = 1
  124.     align2 = 2
  125.     align3 = 0
  126.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  127.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  128.     grade1 = 1
  129.     grade2 = 0
  130.     # 色設定。color1:外枠,color2:中枠
  131.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  132.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  133.     color1 = Color.new(0, 0, 0, 192)
  134.     color2 = Color.new(255, 255, 192, 192)
  135.     color3 = Color.new(0, 0, 0, 192)
  136.     color4 = Color.new(64, 0, 0, 192)
  137.     color5 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192)
  138.     color6 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192)
  139.     # 変数spに描画するゲージの幅を代入
  140.     if actor.maxhp != 0
  141.       hp = (width + plus_width) * actor.hp * rate_width / 100 / actor.maxhp
  142.     else
  143.       hp = 0
  144.     end
  145.     # ゲージの描画
  146.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  147.                 width, plus_width + width * rate_width / 100,
  148.                 height, hp, align1, align2, align3,
  149.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  150.     # オリジナルのHP描画処理を呼び出し
  151.     draw_actor_hp_original(actor, x, y, width)
  152.   end
  153.   #--------------------------------------------------------------
  154.   # ● SP ゲージの描画
  155.   #------------------------------------------------------------
  156.   # オリジナルのSP描画を draw_actor_sp_original と名前変更
  157.   alias :draw_actor_sp_original :draw_actor_sp
  158.   def draw_actor_sp2(actor, x, y, width = 124)
  159.     # 変数rateに 現在のSP/MSPを代入
  160.     if actor.maxsp != 0
  161.       rate = actor.sp.to_f / actor.maxsp
  162.     else
  163.       rate = 1
  164.     end
  165.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  166.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  167.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  168.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  169.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  170.     plus_x = 0
  171.     rate_x = 0
  172.     plus_y = 25
  173.     plus_width = 0
  174.     rate_width = 100
  175.     height = 10
  176.     align1 = 1
  177.     align2 = 2
  178.     align3 = 0
  179.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  180.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  181.     grade1 = 1
  182.     grade2 = 0
  183.     # 色設定。color1:外枠,color2:中枠
  184.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  185.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  186.     color1 = Color.new(0, 0, 0, 192)
  187.     color2 = Color.new(255, 255, 192, 192)
  188.     color3 = Color.new(0, 0, 0, 192)
  189.     color4 = Color.new(0, 64, 0, 192)
  190.     color5 = Color.new(14 * rate, 80 - 24 * rate, 80 * rate, 192)
  191.     color6 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
  192.     # 変数spに描画するゲージの幅を代入
  193.     if actor.maxsp != 0
  194.       sp = (width + plus_width) * actor.sp * rate_width / 100 / actor.maxsp
  195.     else
  196.       sp = (width + plus_width) * rate_width / 100
  197.     end
  198.     # ゲージの描画
  199.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  200.                 width, plus_width + width * rate_width / 100,
  201.                 height, sp, align1, align2, align3,
  202.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  203.     # オリジナルのSP描画処理を呼び出し
  204.     draw_actor_sp_original(actor, x, y, width)
  205.   end
  206.   #--------------------------------------------------------
  207.   # ● EXP ゲージの描画
  208.   #----------------------------------------------------------
  209.   # オリジナルのEXP描画を draw_actor_sp_original と名前変更
  210.   alias :draw_actor_exp_original :draw_actor_exp
  211.   def draw_actor_exp2(actor, x, y, width = 124)
  212.     # 変数rateに 現在のexp/nextexpを代入
  213.     if actor.next_exp != 0
  214.       rate = actor.now_exp.to_f / actor.next_exp
  215.     else
  216.       rate = 1
  217.     end
  218.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  219.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  220.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  221.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  222.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  223.     plus_x = 0
  224.     rate_x = 0
  225.     plus_y = 25
  226.     plus_width = 0
  227.     rate_width = 100
  228.     height = 10
  229.     align1 = 1
  230.     align2 = 2
  231.     align3 = 0
  232.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  233.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  234.     grade1 = 1
  235.     grade2 = 0
  236.     # 色設定。color1:外枠,color2:中枠
  237.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  238.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  239.     color1 = Color.new(0, 0, 0, 192)
  240.     color2 = Color.new(255, 255, 192, 192)
  241.     color3 = Color.new(0, 0, 0, 192)
  242.     color4 = Color.new(64, 0, 0, 192)
  243.     color5 = Color.new(80 * rate, 80 - 80 * rate ** 2, 80 - 80 * rate, 192)
  244.     color6 = Color.new(240 * rate, 240 - 240 * rate ** 2, 240 - 240 * rate, 192)
  245.     # 変数expに描画するゲージの幅を代入
  246.     if actor.next_exp != 0
  247.       exp = (width + plus_width) * actor.now_exp * rate_width /
  248.                                                           100 / actor.next_exp
  249.     else
  250.       exp = (width + plus_width) * rate_width / 100
  251.     end
  252.     # ゲージの描画
  253.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  254.                 width, plus_width + width * rate_width / 100,
  255.                 height, exp, align1, align2, align3,
  256.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  257.     # オリジナルのEXP描画処理を呼び出し
  258.     draw_actor_exp_original(actor, x-20, y)
  259.   end
  260.   #---------------------------------------------------------
  261.   # ● ゲージの描画
  262.   #-----------------------------------------------------
  263.   def gauge_rect(x, y, rect_width, width, height, gauge, align1, align2, align3,
  264.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  265.     case align1
  266.     when 1
  267.       x += (rect_width - width) / 2
  268.     when 2
  269.       x += rect_width - width
  270.     end
  271.     case align2
  272.     when 1
  273.       y -= height / 2
  274.     when 2
  275.       y -= height
  276.     end
  277.     # 枠描画
  278.     self.contents.fill_rect(x, y, width, height, color1)
  279.     self.contents.fill_rect(x + 1, y + 1, width - 2, height - 2, color2)
  280.     if align3 == 0
  281.       if grade1 == 2
  282.         grade1 = 3
  283.       end
  284.       if grade2 == 2
  285.         grade2 = 3
  286.       end
  287.     end
  288.     if (align3 == 1 and grade1 == 0) or grade1 > 0
  289.       color = color3
  290.       color3 = color4
  291.       color4 = color
  292.     end
  293.     if (align3 == 1 and grade2 == 0) or grade2 > 0
  294.       color = color5
  295.       color5 = color6
  296.       color6 = color
  297.     end
  298.     # 空ゲージの描画
  299.     self.contents.gradation_rect(x + 2, y + 2, width - 4, height - 4,
  300.                                   color3, color4, grade1)
  301.     if align3 == 1
  302.       x += width - gauge
  303.     end
  304.     # 実ゲージの描画
  305.     self.contents.gradation_rect(x + 2, y + 2, gauge - 4, height - 4,
  306.                                   color5, color6, grade2)
  307.   end
  308. end
  309. #--------------------------------------------------------------
  310. #  Bitmapクラスに新たな機能を追加します。
  311. #===================================================================
  312. class Bitmap
  313.   #------------------------------------------------------------
  314.   # ● 矩形をグラデーション表示
  315.   #     color1 : スタートカラー
  316.   #     color2 : エンドカラー
  317.   #     align  :  0:横にグラデーション
  318.   #               1:縦にグラデーション
  319.   #               2:斜めにグラデーション(激重につき注意)
  320.   #--------------------------------------------------------
  321.   def gradation_rect(x, y, width, height, color1, color2, align = 0)
  322.     if align == 0
  323.       for i in x...x + width
  324.         red   = color1.red + (color2.red - color1.red) * (i - x) / (width - 1)
  325.         green = color1.green +
  326.                 (color2.green - color1.green) * (i - x) / (width - 1)
  327.         blue  = color1.blue +
  328.                 (color2.blue - color1.blue) * (i - x) / (width - 1)
  329.         alpha = color1.alpha +
  330.                 (color2.alpha - color1.alpha) * (i - x) / (width - 1)
  331.         color = Color.new(red, green, blue, alpha)
  332.         fill_rect(i, y, 1, height, color)
  333.       end
  334.     elsif align == 1
  335.       for i in y...y + height
  336.         red   = color1.red +
  337.                 (color2.red - color1.red) * (i - y) / (height - 1)
  338.         green = color1.green +
  339.                 (color2.green - color1.green) * (i - y) / (height - 1)
  340.         blue  = color1.blue +
  341.                 (color2.blue - color1.blue) * (i - y) / (height - 1)
  342.         alpha = color1.alpha +
  343.                 (color2.alpha - color1.alpha) * (i - y) / (height - 1)
  344.         color = Color.new(red, green, blue, alpha)
  345.         fill_rect(x, i, width, 1, color)
  346.       end
  347.     elsif align == 2
  348.       for i in x...x + width
  349.         for j in y...y + height
  350.           red   = color1.red + (color2.red - color1.red) *
  351.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  352.           green = color1.green + (color2.green - color1.green) *
  353.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  354.           blue  = color1.blue + (color2.blue - color1.blue) *
  355.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  356.           alpha = color1.alpha + (color2.alpha - color1.alpha) *
  357.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  358.           color = Color.new(red, green, blue, alpha)
  359.           set_pixel(i, j, color)
  360.         end
  361.       end
  362.     elsif align == 3
  363.       for i in x...x + width
  364.         for j in y...y + height
  365.           red   = color1.red + (color2.red - color1.red) *
  366.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  367.           green = color1.green + (color2.green - color1.green) *
  368.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  369.           blue  = color1.blue + (color2.blue - color1.blue) *
  370.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  371.           alpha = color1.alpha + (color2.alpha - color1.alpha) *
  372.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  373.           color = Color.new(red, green, blue, alpha)
  374.           set_pixel(i, j, color)
  375.         end
  376.       end
  377.     end
  378.   end
  379. end
  380. #==================================================================
  381. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  382. #==================================================================








  383. #=========================================================================
  384. # ■ Window_MapStatus,脚本来自www.66rpg.com,转载请注意说明
  385. #=========================================================================
  386. class Window_MapStatus < Window_Base
  387.   #--------------------------------------------------------------------------
  388.   # ○ 公開インスタンス変数
  389.   #--------------------------------------------------------------------------
  390.   attr_accessor   :before_1              # 更新前のウィンドウ1のパラメーター
  391.   #---------------------------------------------------------------------
  392.   # ● フレーム更新
  393.   #---------------------------------------------------------------------
  394.   def initialize(x,y,id)
  395.     super(x,y-32,160,96+32)
  396.     self.contents = Bitmap.new(width - 32, height - 32)
  397.     self.contents.font.size = 18
  398.     @before_1=[]
  399.      # 現段階のアクターのパラメーターと可視状態を記憶。
  400.     data
  401.     # 項目の描画。
  402.     refresh(id)
  403.   end
  404.   #--------------------------------------------------------------------------
  405.   # ● 項目の描画
  406.   #--------------------------------------------------------------------------
  407.   def data
  408.     # アクター1の記憶(ただし、パーティが1名以上の場合)
  409.     if $game_party.actors.size > 0
  410.       actor = $game_party.actors[0]
  411.       @before_1 = [actor.name, actor.hp, actor.sp,true]
  412.     end
  413.   end
  414.   #--------------------------------------------------------------------------
  415.   # ● 項目の描画
  416.   #--------------------------------------------------------------------------
  417.   def refresh(id)
  418.     # 再描画のために一旦内容を破棄する
  419.     self.contents.clear
  420.     # 対応するアクターがいなければ、何もせずに終了する。
  421.     actor = $game_party.actors[id]
  422.     if actor == nil
  423.       return
  424.     end
  425.     # 名前の描画
  426.     draw_actor_name(actor, 0, -5)
  427.     # HPの描画
  428.     if SET_SP[id]
  429.       draw_actor_hp2(actor, 0, 18)
  430.     else
  431.       draw_actor_hp2(actor, 0, 28)
  432.     end
  433.     # SPの描画
  434.     if SET_SP[id]
  435.       draw_actor_sp2(actor, 0, 36)
  436.     end
  437.     draw_actor_exp2(actor,0,36+18)
  438.   end
  439.   
  440. end
  441. #==============================================================================
  442. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  443. #==============================================================================
复制代码

我使用了这个脚本后血条上为什么出现文字HP和SP我想去调怎么弄?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-18 06:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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