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

Project1

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

[已经解决] 关于自定义血条

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
662
在线时间
333 小时
注册时间
2011-3-14
帖子
121
跳转到指定楼层
1
发表于 2011-4-16 15:51:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想问一下大家,自定义血条如何设置?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
343 小时
注册时间
2010-8-14
帖子
315
2
发表于 2011-4-16 16:03:03 | 只看该作者
下载一个ARPG1.03或者下载一个夜想曲吧,修改位置就可以了
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1140
在线时间
381 小时
注册时间
2010-10-9
帖子
386

开拓者

3
发表于 2011-4-16 17:08:22 | 只看该作者
新建公共事件,选“并行处理”,条件选一个开关。
内容,显示一张图片(血条的框框)。添加一个标签a
写入以下脚本(自己排版。。)
maxhp=$game_actors[1].hp*100/$game_actors[1].maxhp
$game_screen.pictures[30].show("maxhp", 0, 0,
0, $kahp, 100, 255, 0)
等待1帧
标签跳转:a


需要显示血槽时,打开上面写的那个开关即可。
回复

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

4
发表于 2011-4-16 18:00:34 | 只看该作者
最常用的?
这个吧……
  1. # ————————————————————————————————————

  2. # HP/SP/EXPゲージ表示スクリプト Ver 1.00
  3. # 配布元・サポートURL
  4. # http://members.jcom.home.ne.jp/cogwheel/

  5. #==============================================================================
  6. # Game_Actor
  7. #------------------------------------------------------------------------------
  8. #  アクターを扱うクラスです。このクラスは Game_Actors クラス ($game_actors)
  9. # の内部で使用され、Game_Party クラス ($game_party) からも参照されます。
  10. #==============================================================================

  11. class Game_Actor < Game_Battler
  12.   def now_exp
  13.     return @exp - @exp_list[@level]
  14.   end
  15.   def next_exp
  16.     return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  17.   end
  18. end

  19. #==============================================================================
  20. # ■ Window_Base
  21. #------------------------------------------------------------------------------
  22. #  ゲーム中のすべてのウィンドウのスーパークラスです。
  23. #==============================================================================

  24. class Window_Base < Window
  25.   #--------------------------------------------------------------------------
  26.   # ● HP ゲージの描画
  27.   #--------------------------------------------------------------------------
  28.   # オリジナルのHP描画を draw_actor_hp_original と名前変更
  29.   alias :draw_actor_hp_original :draw_actor_hp
  30.   def draw_actor_hp(actor, x, y, width = 144)
  31.     # 変数rateに 現在のHP/MHPを代入
  32.     if actor.maxhp != 0
  33.       rate = actor.hp.to_f / actor.maxhp
  34.     else
  35.       rate = 0
  36.     end
  37.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  38.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  39.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  40.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  41.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  42.     plus_x = 0
  43.     rate_x = 0
  44.     plus_y = 25
  45.     plus_width = 0
  46.     rate_width = 100
  47.     height = 10
  48.     align1 = 1
  49.     align2 = 2
  50.     align3 = 0
  51.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  52.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  53.     grade1 = 1
  54.     grade2 = 0
  55.     # 色設定。color1:外枠,color2:中枠
  56.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  57.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  58.     color1 = Color.new(0, 0, 0, 192)
  59.     color2 = Color.new(255, 255, 192, 192)
  60.     color3 = Color.new(0, 0, 0, 192)
  61.     color4 = Color.new(64, 0, 0, 192)
  62.     color5 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192)
  63.     color6 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192)
  64.     # 変数spに描画するゲージの幅を代入
  65.     if actor.maxhp != 0
  66.       hp = (width + plus_width) * actor.hp * rate_width / 100 / actor.maxhp
  67.     else
  68.       hp = 0
  69.     end
  70.     # ゲージの描画
  71.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  72.                 width, plus_width + width * rate_width / 100,
  73.                 height, hp, align1, align2, align3,
  74.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  75.     # オリジナルのHP描画処理を呼び出し
  76.     draw_actor_hp_original(actor, x, y, width)
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● SP ゲージの描画
  80.   #--------------------------------------------------------------------------
  81.   # オリジナルのSP描画を draw_actor_sp_original と名前変更
  82.   alias :draw_actor_sp_original :draw_actor_sp
  83.   def draw_actor_sp(actor, x, y, width = 144)
  84.     # 変数rateに 現在のSP/MSPを代入
  85.     if actor.maxsp != 0
  86.       rate = actor.sp.to_f / actor.maxsp
  87.     else
  88.       rate = 1
  89.     end
  90.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  91.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  92.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  93.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  94.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  95.     plus_x = 0
  96.     rate_x = 0
  97.     plus_y = 25
  98.     plus_width = 0
  99.     rate_width = 100
  100.     height = 10
  101.     align1 = 1
  102.     align2 = 2
  103.     align3 = 0
  104.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  105.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  106.     grade1 = 1
  107.     grade2 = 0
  108.     # 色設定。color1:外枠,color2:中枠
  109.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  110.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  111.     color1 = Color.new(0, 0, 0, 192)
  112.     color2 = Color.new(255, 255, 192, 192)
  113.     color3 = Color.new(0, 0, 0, 192)
  114.     color4 = Color.new(0, 64, 0, 192)
  115.     color5 = Color.new(14 * rate, 80 - 24 * rate, 80 * rate, 192)
  116.     color6 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
  117.     # 変数spに描画するゲージの幅を代入
  118.     if actor.maxsp != 0
  119.       sp = (width + plus_width) * actor.sp * rate_width / 100 / actor.maxsp
  120.     else
  121.       sp = (width + plus_width) * rate_width / 100
  122.     end
  123.     # ゲージの描画
  124.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  125.                 width, plus_width + width * rate_width / 100,
  126.                 height, sp, align1, align2, align3,
  127.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  128.     # オリジナルのSP描画処理を呼び出し
  129.     draw_actor_sp_original(actor, x, y, width)
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● EXP ゲージの描画
  133.   #--------------------------------------------------------------------------
  134.   # オリジナルのEXP描画を draw_actor_sp_original と名前変更
  135.   alias :draw_actor_exp_original :draw_actor_exp
  136.   def draw_actor_exp(actor, x, y, width = 204)
  137.     # 変数rateに 現在のexp/nextexpを代入
  138.     if actor.next_exp != 0
  139.       rate = actor.now_exp.to_f / actor.next_exp
  140.     else
  141.       rate = 1
  142.     end
  143.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  144.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  145.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  146.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  147.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  148.     plus_x = 0
  149.     rate_x = 0
  150.     plus_y = 25
  151.     plus_width = 0
  152.     rate_width = 100
  153.     height = 10
  154.     align1 = 1
  155.     align2 = 2
  156.     align3 = 0
  157.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  158.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  159.     grade1 = 1
  160.     grade2 = 0
  161.     # 色設定。color1:外枠,color2:中枠
  162.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  163.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  164.     color1 = Color.new(0, 0, 0, 192)
  165.     color2 = Color.new(255, 255, 192, 192)
  166.     color3 = Color.new(0, 0, 0, 192)
  167.     color4 = Color.new(64, 0, 0, 192)
  168.     color5 = Color.new(80 * rate, 80 - 80 * rate ** 2, 80 - 80 * rate, 192)
  169.     color6 = Color.new(240 * rate, 240 - 240 * rate ** 2, 240 - 240 * rate, 192)
  170.     # 変数expに描画するゲージの幅を代入
  171.     if actor.next_exp != 0
  172.       exp = (width + plus_width) * actor.now_exp * rate_width /
  173.                                                           100 / actor.next_exp
  174.     else
  175.       exp = (width + plus_width) * rate_width / 100
  176.     end
  177.     # ゲージの描画
  178.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  179.                 width, plus_width + width * rate_width / 100,
  180.                 height, exp, align1, align2, align3,
  181.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  182.     # オリジナルのEXP描画処理を呼び出し
  183.     draw_actor_exp_original(actor, x, y)
  184.   end
  185.   #--------------------------------------------------------------------------
  186.   # ● EXP_STATE描画
  187.   #--------------------------------------------------------------------------
  188.   def draw_actor_exp_state(actor, x, y,width = 204)
  189.     #——不好意思,偷懒一个~呵呵~~
  190.     if actor.next_exp != 0
  191.       rate = actor.now_exp.to_f / actor.next_exp
  192.     else
  193.       rate = 1
  194.     end
  195.     plus_x = 0
  196.     rate_x = 0
  197.     plus_y = 25
  198.     plus_width = 0
  199.     rate_width = 100
  200.     height = 10
  201.     align1 = 1
  202.     align2 = 2
  203.     align3 = 0
  204.     grade1 = 1
  205.     grade2 = 0
  206.     color1 = Color.new(0, 0, 0, 192)
  207.     color2 = Color.new(255, 255, 192, 192)
  208.     color3 = Color.new(0, 0, 0, 192)
  209.     color4 = Color.new(64, 0, 0, 192)
  210.     color5 = Color.new(80 * rate, 80 - 80 * rate ** 2, 80 - 80 * rate, 192)
  211.     color6 = Color.new(240 * rate, 240 - 240 * rate ** 2, 240 - 240 * rate, 192)
  212.     if actor.next_exp != 0
  213.       exp = (width + plus_width) * actor.now_exp * rate_width /
  214.                                                           100 / actor.next_exp
  215.     else
  216.       exp = (width + plus_width) * rate_width / 100
  217.     end
  218.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  219.                 width, plus_width + width * rate_width / 100,
  220.                 height, exp, align1, align2, align3,
  221.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  222.     self.contents.font.color = system_color
  223.     self.contents.draw_text(x, y, 64, 32, "EXP")
  224.     self.contents.font.color = normal_color
  225.     self.contents.draw_text(x + 6, y, 84, 32, actor.now_exp.to_s, 2)
  226.     self.contents.draw_text(x + 90, y, 12, 32, "/", 1)
  227.     self.contents.draw_text(x + 102, y, 84, 32, actor.next_exp.to_s)
  228.   end
  229.   #--------------------------------------------------------------------------
  230.   # ● parameter_state描画
  231.   #--------------------------------------------------------------------------
  232.   def draw_actor_parameter_state(actor, x, y, type)
  233.     case type
  234.     when 0
  235.       parameter_name = $data_system.words.atk
  236.       parameter_value = actor.atk
  237.     when 1
  238.       parameter_name = $data_system.words.pdef
  239.       parameter_value = actor.pdef
  240.     when 2
  241.       parameter_name = $data_system.words.mdef
  242.       parameter_value = actor.mdef
  243.     when 3
  244.       parameter_name = $data_system.words.str
  245.       parameter_value = actor.str
  246.     when 4
  247.       parameter_name = $data_system.words.dex
  248.       parameter_value = actor.dex
  249.     when 5
  250.       parameter_name = $data_system.words.agi
  251.       parameter_value = actor.agi
  252.     when 6
  253.       parameter_name = $data_system.words.int
  254.       parameter_value = actor.int
  255.     end
  256.     self.contents.font.color = system_color
  257.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  258.     self.contents.font.color.set(0,0,0)
  259.     self.contents.draw_text(x + 130, y, 36, 32, parameter_value.to_s, 2)
  260.   end
  261.   #--------------------------------------------------------------------------
  262.   # ● ゲージの描画
  263.   #--------------------------------------------------------------------------
  264.   def gauge_rect(x, y, rect_width, width, height, gauge, align1, align2, align3,
  265.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  266.     case align1
  267.     when 1
  268.       x += (rect_width - width) / 2
  269.     when 2
  270.       x += rect_width - width
  271.     end
  272.     case align2
  273.     when 1
  274.       y -= height / 2
  275.     when 2
  276.       y -= height
  277.     end
  278.     # 枠描画
  279.     self.contents.fill_rect(x, y, width, height, color1)
  280.     self.contents.fill_rect(x + 1, y + 1, width - 2, height - 2, color2)
  281.     if align3 == 0
  282.       if grade1 == 2
  283.         grade1 = 3
  284.       end
  285.       if grade2 == 2
  286.         grade2 = 3
  287.       end
  288.     end
  289.     if (align3 == 1 and grade1 == 0) or grade1 > 0
  290.       color = color3
  291.       color3 = color4
  292.       color4 = color
  293.     end
  294.     if (align3 == 1 and grade2 == 0) or grade2 > 0
  295.       color = color5
  296.       color5 = color6
  297.       color6 = color
  298.     end
  299.     # 空ゲージの描画
  300.     self.contents.gradation_rect(x + 2, y + 2, width - 4, height - 4,
  301.                                   color3, color4, grade1)
  302.     if align3 == 1
  303.       x += width - gauge
  304.     end
  305.     # 実ゲージの描画
  306.     self.contents.gradation_rect(x + 2, y + 2, gauge - 4, height - 4,
  307.                                   color5, color6, grade2)
  308.   end
  309. end

  310. #------------------------------------------------------------------------------
  311. #  Bitmapクラスに新たな機能を追加します。
  312. #==============================================================================

  313. class Bitmap
  314.   #--------------------------------------------------------------------------
  315.   # ● 矩形をグラデーション表示
  316.   #     color1 : スタートカラー
  317.   #     color2 : エンドカラー
  318.   #     align  :  0:横にグラデーション
  319.   #               1:縦にグラデーション
  320.   #               2:斜めにグラデーション(激重につき注意)
  321.   #--------------------------------------------------------------------------
  322.   def gradation_rect(x, y, width, height, color1, color2, align = 0)
  323.     if align == 0
  324.       for i in x...x + width
  325.         red   = color1.red + (color2.red - color1.red) * (i - x) / (width - 1)
  326.         green = color1.green +
  327.                 (color2.green - color1.green) * (i - x) / (width - 1)
  328.         blue  = color1.blue +
  329.                 (color2.blue - color1.blue) * (i - x) / (width - 1)
  330.         alpha = color1.alpha +
  331.                 (color2.alpha - color1.alpha) * (i - x) / (width - 1)
  332.         color = Color.new(red, green, blue, alpha)
  333.         fill_rect(i, y, 1, height, color)
  334.       end
  335.     elsif align == 1
  336.       for i in y...y + height
  337.         red   = color1.red +
  338.                 (color2.red - color1.red) * (i - y) / (height - 1)
  339.         green = color1.green +
  340.                 (color2.green - color1.green) * (i - y) / (height - 1)
  341.         blue  = color1.blue +
  342.                 (color2.blue - color1.blue) * (i - y) / (height - 1)
  343.         alpha = color1.alpha +
  344.                 (color2.alpha - color1.alpha) * (i - y) / (height - 1)
  345.         color = Color.new(red, green, blue, alpha)
  346.         fill_rect(x, i, width, 1, color)
  347.       end
  348.     elsif align == 2
  349.       for i in x...x + width
  350.         for j in y...y + height
  351.           red   = color1.red + (color2.red - color1.red) *
  352.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  353.           green = color1.green + (color2.green - color1.green) *
  354.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  355.           blue  = color1.blue + (color2.blue - color1.blue) *
  356.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  357.           alpha = color1.alpha + (color2.alpha - color1.alpha) *
  358.                   ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  359.           color = Color.new(red, green, blue, alpha)
  360.           set_pixel(i, j, color)
  361.         end
  362.       end
  363.     elsif align == 3
  364.       for i in x...x + width
  365.         for j in y...y + height
  366.           red   = color1.red + (color2.red - color1.red) *
  367.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  368.           green = color1.green + (color2.green - color1.green) *
  369.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  370.           blue  = color1.blue + (color2.blue - color1.blue) *
  371.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  372.           alpha = color1.alpha + (color2.alpha - color1.alpha) *
  373.                 ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
  374.           color = Color.new(red, green, blue, alpha)
  375.           set_pixel(i, j, color)
  376.         end
  377.       end
  378.     end
  379.   end
  380. end

  381. #==============================================================================
  382. # ■ Spriteモジュール
  383. #------------------------------------------------------------------------------
  384. #  アニメーションの管理を行うモジュールです。
  385. #==============================================================================
  386. =begin
  387. module RPG
  388.   class Sprite < ::Sprite
  389.     def damage(value, critical)
  390.       dispose_damage
  391.       if value.is_a?(Numeric)
  392.         damage_string = value.abs.to_s
  393.       else
  394.         damage_string = value.to_s
  395.       end
  396.       bitmap = Bitmap.new(160, 48)
  397.       bitmap.font.name = "Arial Black"
  398.       bitmap.font.size = 32
  399.       bitmap.font.color.set(0, 0, 0)
  400.       bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
  401.       bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
  402.       bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
  403.       bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
  404.       if value.is_a?(Numeric) and value < 0
  405.         bitmap.font.color.set(176, 255, 144)
  406.       else
  407.         bitmap.font.color.set(255, 255, 255)
  408.       end
  409.       bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
  410.       if critical
  411.         bitmap.font.size = 20
  412.         bitmap.font.color.set(0, 0, 0)
  413.         bitmap.draw_text(-1, -1, 160, 20, "CRITICAL", 1)
  414.         bitmap.draw_text(+1, -1, 160, 20, "CRITICAL", 1)
  415.         bitmap.draw_text(-1, +1, 160, 20, "CRITICAL", 1)
  416.         bitmap.draw_text(+1, +1, 160, 20, "CRITICAL", 1)
  417.         bitmap.font.color.set(255, 255, 255)
  418.         bitmap.draw_text(0, 0, 160, 20, "CRITICAL", 1)
  419.       end
  420.       @_damage_sprite = ::Sprite.new
  421.       @_damage_sprite.bitmap = bitmap
  422.       @_damage_sprite.ox = 80 + self.viewport.ox
  423.       @_damage_sprite.oy = 20 + self.viewport.oy
  424.       @_damage_sprite.x = self.x + self.viewport.rect.x
  425.       @_damage_sprite.y = self.y - self.oy / 2 + self.viewport.rect.y
  426.       @_damage_sprite.z = 3000
  427.       @_damage_duration = 40
  428.     end
  429.     def animation(animation, hit)
  430.       dispose_animation
  431.       @_animation = animation
  432.       return if @_animation == nil
  433.       @_animation_hit = hit
  434.       @_animation_duration = @_animation.frame_max
  435.       animation_name = @_animation.animation_name
  436.       animation_hue = @_animation.animation_hue
  437.       bitmap = RPG::Cache.animation(animation_name, animation_hue)
  438.       if @@_reference_count.include?(bitmap)
  439.         @@_reference_count[bitmap] += 1
  440.       else
  441.         @@_reference_count[bitmap] = 1
  442.       end
  443.       @_animation_sprites = []
  444.       if @_animation.position != 3 or not @@_animations.include?(animation)
  445.         for i in 0..15
  446.           sprite = ::Sprite.new
  447.           sprite.bitmap = bitmap
  448.           sprite.visible = false
  449.           @_animation_sprites.push(sprite)
  450.         end
  451.         unless @@_animations.include?(animation)
  452.           @@_animations.push(animation)
  453.         end
  454.       end
  455.       update_animation
  456.     end
  457.     def loop_animation(animation)
  458.       return if animation == @_loop_animation
  459.       dispose_loop_animation
  460.       @_loop_animation = animation
  461.       return if @_loop_animation == nil
  462.       @_loop_animation_index = 0
  463.       animation_name = @_loop_animation.animation_name
  464.       animation_hue = @_loop_animation.animation_hue
  465.       bitmap = RPG::Cache.animation(animation_name, animation_hue)
  466.       if @@_reference_count.include?(bitmap)
  467.         @@_reference_count[bitmap] += 1
  468.       else
  469.         @@_reference_count[bitmap] = 1
  470.       end
  471.       @_loop_animation_sprites = []
  472.       for i in 0..15
  473.         sprite = ::Sprite.new
  474.         sprite.bitmap = bitmap
  475.         sprite.visible = false
  476.         @_loop_animation_sprites.push(sprite)
  477.       end
  478.       update_loop_animation
  479.     end
  480.     def animation_set_sprites(sprites, cell_data, position)
  481.       for i in 0..15
  482.         sprite = sprites[i]
  483.         pattern = cell_data[i, 0]
  484.         if sprite == nil or pattern == nil or pattern == -1
  485.           sprite.visible = false if sprite != nil
  486.           next
  487.         end
  488.         sprite.visible = true
  489.         sprite.src_rect.set(pattern % 5 * 192, pattern / 5 * 192, 192, 192)
  490.         if position == 3
  491.           if self.viewport != nil
  492.             sprite.x = self.viewport.rect.width / 2
  493.             sprite.y = self.viewport.rect.height - 160
  494.           else
  495.             sprite.x = 320
  496.             sprite.y = 240
  497.           end
  498.         else
  499.           sprite.x = self.x + self.viewport.rect.x -
  500.                       self.ox + self.src_rect.width / 2
  501.           sprite.y = self.y + self.viewport.rect.y -
  502.                       self.oy + self.src_rect.height / 2
  503.           sprite.y -= self.src_rect.height / 4 if position == 0
  504.           sprite.y += self.src_rect.height / 4 if position == 2
  505.         end
  506.         sprite.x += cell_data[i, 1]
  507.         sprite.y += cell_data[i, 2]
  508.         sprite.z = 9000
  509.         sprite.ox = 96
  510.         sprite.oy = 96
  511.         sprite.zoom_x = cell_data[i, 3] / 100.0
  512.         sprite.zoom_y = cell_data[i, 3] / 100.0
  513.         sprite.angle = cell_data[i, 4]
  514.         sprite.mirror = (cell_data[i, 5] == 1)
  515.         sprite.opacity = cell_data[i, 6] * self.opacity / 255.0
  516.         sprite.blend_type = cell_data[i, 7]
  517.       end
  518.     end
  519.   end
  520. end
  521. =end
复制代码
回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
98 小时
注册时间
2011-3-20
帖子
243
5
发表于 2011-4-16 19:22:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 08:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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