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

Project1

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

[已经解决] 请求帮助,如何让VX横版战斗界面变成这样?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2012-6-15
帖子
26
跳转到指定楼层
1
发表于 2012-6-30 23:09:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 旺仔牛奶糖 于 2012-7-1 00:15 编辑


我用的是 国外的 超级VX横版战斗 具体就是如何 加入人物立绘的血条显示


‘‘──旺仔牛奶糖于2012-6-30 23:11补充以下内容:


正常的应该是这样
’’

我使用的是VX完美横板RPG系统SBS3.4d:http://rpg.blue/forum.php?mod=vi ... 2&highlight=3.4

Lv1.梦旅人

梦石
0
星屑
880
在线时间
32 小时
注册时间
2011-6-6
帖子
4
2
发表于 2012-7-1 11:55:07 | 只看该作者
楼主我比较在意你的第一个游戏……
回复

使用道具 举报

Lv3.寻梦者

最萌的小猫

梦石
0
星屑
1347
在线时间
692 小时
注册时间
2011-11-5
帖子
3443
3
发表于 2012-7-1 17:51:11 | 只看该作者
我知道,但是你悬赏那么少养我怎么告诉你??

点评

呜呜呜~~我错了~~~~  发表于 2012-8-2 20:00

评分

参与人数 1星屑 -40 收起 理由
Luciffer -40 消极发言

查看全部评分

小猫,感情浓郁的天然嘿啾一只,属性:水,嘿啾,无轨迹流线萌。喜欢在正午伸出小爪子卖着各种次元萌。平行穿越次元萌差。
如需要小猫,请认准啾怪时空电话。这宇宙萌源的秘密,需要找到时空边界萌源能量爆发的封印钥匙。快来和小猫一同去冒险吧!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2012-7-1
帖子
36
4
发表于 2012-7-1 23:00:53 | 只看该作者
这不是有一个脚步可以修改这个横版战斗的那些东西吗,我好像看过哦~

评分

参与人数 1星屑 -20 收起 理由
Luciffer -20 这不等于什么都没说吗?

查看全部评分

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2012-6-15
帖子
26
5
 楼主| 发表于 2012-7-2 20:44:10 | 只看该作者
D2之触 发表于 2012-7-1 11:55
楼主我比较在意你的第一个游戏……

我在制作中……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2012-6-15
帖子
26
6
 楼主| 发表于 2012-7-3 18:20:30 | 只看该作者
@houyuxiaoyang你需要多少悬赏 你说? 我现在的游戏急需啊.. 跪求!
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1409
在线时间
962 小时
注册时间
2012-4-30
帖子
1475

开拓者

7
发表于 2012-7-3 19:39:09 | 只看该作者
本帖最后由 铅笔描绘的思念 于 2012-7-3 19:45 编辑

修改一下你的哪个Battle Status在draw_item加一些
  1. s[16] = Sprite.new
  2.      s[16].bitmap = Cache.system(actor.name)#载入system里与角色名一样的文件
  3.      s[16].x = @x[index] + 10 - 227
  4.      s[16].y = @y[index] + -4 + 225
  5.      s[16].z = 0
复制代码
再在下面dispose里[0,1,2,3,4,8,9,15] 改成[0,1,2,3,4,8,9,15,16] 恩。。update里的加不加随便。。这个精灵更不更新没什么大碍
还有update_cursor加self.cursor_rect.empty


我知道,但是你悬赏那么少养我怎么告诉你??

@houyuxiaoyang 您厉害。。为什么不帮忙呢。。100EXP对一个在杂兵用户组的还是比较多的了。。不要贪得无厌。。

点评

战斗测试中 for i in [email]0...@s_sprite.size[/email] 错误  发表于 2012-7-4 20:53
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2012-6-15
帖子
26
8
 楼主| 发表于 2012-7-4 20:05:23 | 只看该作者
铅笔描绘的思念 发表于 2012-7-3 19:39
修改一下你的哪个Battle Status在draw_item加一些再在下面dispose里[0,1,2,3,4,8,9,15] 改成[0,1,2,3,4,8,9 ...

感谢了!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2012-6-15
帖子
26
9
 楼主| 发表于 2012-7-4 20:19:21 | 只看该作者
铅笔描绘的思念 发表于 2012-7-3 19:39
修改一下你的哪个Battle Status在draw_item加一些再在下面dispose里[0,1,2,3,4,8,9,15] 改成[0,1,2,3,4,8,9 ...

Battle status 是不是 Window_BattleStatus?
dispose 和 updata 在哪
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1409
在线时间
962 小时
注册时间
2012-4-30
帖子
1475

开拓者

10
发表于 2012-7-4 20:28:35 | 只看该作者
本帖最后由 铅笔描绘的思念 于 2012-7-4 20:30 编辑
旺仔牛奶糖 发表于 2012-7-4 20:19
Battle status 是不是 Window_BattleStatus?
dispose 和 updata 在哪


RUBY 代码复制
  1. #==============================================================================
  2. # ★RGSS2
  3. # STR33g1_Battle Status  0.5 08/03/20
  4. #
  5. # ・STR11e has the same specifications.
  6. # ★STR11eの後付ゲージプラグインを利用することができます。
  7. #  このスクリプトより下に導入してください。
  8. #
  9. # ◇Features
  10. # ・Different HP/MP Gauge Flavor
  11. # ・"Rolling" Numbers
  12. # ・State Icon Cycle
  13. #
  14. # ◇Materials
  15. # This script requires several image skins.
  16. # Skin images are placed in the .Graphics\System folder.
  17. #
  18. # ・Main Skin
  19. #  HP/MP Back Gauge Skin
  20. #   No size limit.
  21. # ・HP/MP Gauge
  22. #  Normally two gauges
  23. #   Width = Unlimited
  24. #  Height = Gauge Height(Optional) * 2
  25. #  一列目に通常ゲージ、二列目に追尾ゲージを配置します。
  26. # ・Numbers
  27. #  0123456789 is the order of number arrays
  28. #   Width = One Frame Width(Any Size) * 10
  29. #  Height = Unlimited
  30. # ・State Skin
  31. #  State Icon Main Skin
  32. #  なにもステートが掛かっていない時は非表示になる仕様の為、
  33. #  Main skin is separate.
  34. #  No size limit.
  35. #
  36. #==============================================================================
  37. # ■ Window_BattleStatus
  38. #==============================================================================
  39. class Window_BattleStatus < Window_Selectable
  40.   # Skin File name
  41.   BTSKIN_00 = "Btskin_main"   # Main Skin
  42.  
  43.   BTSKIN_01 = "Btskin_hp"     # HP(Gauge)
  44.   BTSKIN_02 = "Btskin_mp"     # MP(Gauge)
  45.   BTSKIN_04 = ""    # HP(Numbers)
  46.   BTSKIN_05 = ""    # MP(Numbers)
  47.   BTSKIN_03 = ""  # State
  48.   # Skin coordinates[  x,  y]
  49.   BTSKIN_B_XY = [  0,  0]     # Standard Coordinates
  50.   BTSKIN_00XY = [  0,  0]     # Main Skin
  51.  
  52.   BTSKIN_01XY = [142,  3]     # HP(Gauge)
  53.   BTSKIN_02XY = [151, 15]     # MP(Gauge)
  54.  
  55.   BTSKIN_04XY = [148,  2]     # HP(Numbers) [10,  2]#
  56.   BTSKIN_05XY = [232,  2]     # MP(Numbers) [0,  2]#
  57.   BTSKIN_03XY = [384,  2]     # State Skin
  58.   BTSKIN_06XY = [368,  2]     # State
  59.   # Various Settings
  60.   BTSKIN_01GS = 2             # HP Gauge Speed (Low values are fast)
  61.   BTSKIN_02GS = 4             # MP Gauge Speed(Low values are fast)
  62.  
  63.   BTSKIN_04SS = 8             # HP Rolling Numbers Speed(Low values are fast)
  64.   BTSKIN_05SS = 2             # MP Rolling Numbers Speed(Low values are fast)
  65.  
  66.   BTSKIN_04NS = 4             # HP Maximum Digits
  67.   BTSKIN_05NS = 4             # MP Maximum Digits
  68.  
  69.   BTSKIN_06WH = [20,20]       # [State Width, Height]
  70.   BTSKIN_06SC = 2             # State Icon Scroll Speed
  71.                               # (Values close to 1 are fast)
  72.   # バトルステータス座標
  73.   def set_xy
  74.     @x = []
  75.     @y = []
  76.     for i in 0...$game_party.members.size
  77.       x = 0
  78.       y = (i * 24)
  79.       @x[i] = x + 16#+ STRRGSS2::ST_SX
  80.       @y[i] = y + 16#+ STRRGSS2::ST_SY
  81.     end
  82.   end
  83.   # 設定箇所ここまで
  84.   @@f = false
  85.  
  86.   #--------------------------------------------------------------------------
  87.   # ● カーソルを下に移動  ※再定義
  88.   #--------------------------------------------------------------------------
  89.   def cursor_down(wrap = false)
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ● カーソルを上に移動  ※再定義
  93.   #--------------------------------------------------------------------------
  94.   def cursor_up(wrap = false)
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # ● フレーム更新  ※再定義
  98.   #--------------------------------------------------------------------------
  99.   def update
  100.     super
  101.     update_cursor
  102.     call_update_help
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ★ エイリアス
  106.   #--------------------------------------------------------------------------
  107.   alias initialize_str33 initialize
  108.   def initialize(f = false)
  109.     initialize_str33
  110.     unless @@f
  111.       @f = @@f = true
  112.     else
  113.       @f = false
  114.     end
  115.     set_xy
  116.     @s_sprite = []
  117.     @s_party = []
  118.     @s_lv = []
  119.     @opacity = 0
  120.     self.contents.dispose
  121.     self.create_contents
  122.     self.back_opacity = 0
  123.     self.opacity = 0
  124.     #@column_max = $game_party.actors.size
  125.     @viewport = Viewport.new(0, 416-128, 416, 128)
  126.     @hpgw = (Cache.system(BTSKIN_01)).width
  127.     @mpgw = (Cache.system(BTSKIN_02)).width
  128.     @viewport.z = self.z - 1
  129.     @state_opacity = []
  130.     @item_max = $game_party.members.size
  131.     return unless @f
  132.     for i in 0...@item_max
  133.       draw_item(i)
  134.     end
  135.     update
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ● リフレッシュ潰し
  139.   #--------------------------------------------------------------------------
  140.   def refresh
  141.     # :-)
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● ステートの描画
  145.   #--------------------------------------------------------------------------
  146.   def draw_actor_state(actor)
  147.     icon = Cache.system("Iconset")
  148.     w = actor.states.size * 24
  149.     w = 24 if w < 1
  150.     bitmap = Bitmap.new(w, BTSKIN_06WH[1])
  151.     count = 0
  152.     for state in actor.states
  153.       icon_index = state.icon_index
  154.       x = 24 * count
  155.       rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  156.       bitmap.blt(x, 0, icon, rect)
  157.       count += 1
  158.     end
  159.     return bitmap
  160.   end
  161.   #--------------------------------------------------------------------------
  162.   # ● 名前作成
  163.   #--------------------------------------------------------------------------
  164.   def name_bitmap(actor)
  165.     bitmap = Bitmap.new(100, 24)
  166.     bitmap.font.size = 17
  167.     bitmap.draw_text_f(20, -2, 100, 24, actor.name)
  168.     return bitmap
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● ステート数取得
  172.   #--------------------------------------------------------------------------
  173.   def state_size(actor)
  174.     return actor.states.size
  175.   end
  176.   #--------------------------------------------------------------------------
  177.   # ● アイテム作成
  178.   #--------------------------------------------------------------------------
  179.   def draw_item(index)
  180.     return unless @f
  181.     actor = $game_party.members[index]
  182.     #
  183.     @s_sprite[index] = []
  184.     s = @s_sprite[index]
  185.     # メインスキン
  186.     s[0] = Sprite.new(@viewport)
  187.     s[0].bitmap = Cache.system(BTSKIN_00)
  188.     s[0].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_00XY[0]
  189.     s[0].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_00XY[1]
  190.     s[0].z = 0
  191.  
  192.  
  193.  
  194.  
  195.     # HP
  196.     s[1] = Sprite.new(@viewport)
  197.     s[1].bitmap = Cache.system(BTSKIN_01)
  198.     s[1].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_01XY[0]
  199.     s[1].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_01XY[1]
  200.     s[1].z = 4
  201.     w = s[1].bitmap.width
  202.     h = s[1].bitmap.height / 2
  203.     s[1].src_rect.set(0, 0, w, h)
  204.     s[2] = Sprite.new(@viewport)
  205.     s[2].bitmap = Cache.system(BTSKIN_01)
  206.     s[2].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_01XY[0]
  207.     s[2].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_01XY[1]
  208.     s[2].z = 3
  209.     s[2].src_rect.set(0, h, w, h)
  210.     s[11] = 96
  211.     s[6] = Sprite_strNumbers.new(@viewport, BTSKIN_04, BTSKIN_04NS)
  212.     s[6].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_04XY[0]
  213.     s[6].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_04XY[1]
  214.     s[6].z = 5
  215.     s[13] = actor.hp
  216.     s[6].update(s[13])
  217.     # MP
  218.     s[3] = Sprite.new(@viewport)
  219.     s[3].bitmap = Cache.system(BTSKIN_02)
  220.     s[3].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_02XY[0]
  221.     s[3].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_02XY[1]
  222.     s[3].z = 4
  223.     w = s[3].bitmap.width
  224.     h = s[3].bitmap.height / 2
  225.     s[3].src_rect.set(0, 0, w, h)
  226.     s[4] = Sprite.new(@viewport)
  227.     s[4].bitmap = Cache.system(BTSKIN_02)
  228.     s[4].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_02XY[0]
  229.     s[4].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_02XY[1]
  230.     s[4].z = 3
  231.     s[4].src_rect.set(0, h, w, h)
  232.     s[12] = 56
  233.     s[7] = Sprite_strNumbers.new(@viewport, BTSKIN_05, BTSKIN_05NS)
  234.     s[7].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_05XY[0]
  235.     s[7].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_05XY[1]
  236.     s[7].z = 5
  237.     s[14] = actor.mp
  238.     s[7].update(s[14])
  239.     # ステート
  240.     s[5] = Viewport.new(0, 0, BTSKIN_06WH[0], BTSKIN_06WH[1])
  241.     s[5].rect.x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_06XY[0] + @viewport.rect.x
  242.     s[5].rect.y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_06XY[1] + @viewport.rect.y
  243.     s[5].z = @viewport.z + 1
  244.     s[8] = Sprite.new(@viewport)
  245.     s[8].bitmap = Cache.system(BTSKIN_03)
  246.     s[8].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_03XY[0]
  247.     s[8].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_03XY[1]
  248.     s[8].z = -2
  249.     s[9] = Plane.new(s[5])
  250.     s[9].bitmap = draw_actor_state(actor)
  251.     s[10] = state_size(actor)
  252.     # 現在のステータスに
  253.     s[11] = ((@hpgw * (actor.hp / (actor.maxhp * 1.0))) + 1).truncate
  254.     if actor.maxmp != 0
  255.       s[12] = ((@mpgw * (actor.mp / (actor.maxmp * 1.0))) + 1).truncate
  256.     else
  257.       s[12] = 0
  258.     end
  259.     s[15] = Sprite.new(@viewport)
  260.     s[15].bitmap = name_bitmap(actor)
  261.     s[15].x = @x[index] + 4
  262.     s[15].y = @y[index] + 2
  263.     s[15].z = 0
  264.     s[1].src_rect.width = s[11]
  265.     s[2].src_rect.width = s[11]
  266.     s[3].src_rect.width = s[12]
  267.     s[4].src_rect.width = s[12]
  268.     s[6].update(s[13])
  269.     s[7].update(s[14])
  270.     # 不可視に
  271.     for l in [0,1,2,3,4,8,9,15]
  272.       s[l].opacity = 0
  273.     end
  274.     for l in [6,7]
  275.       s[l].o = 0
  276.     end
  277.     # 情報記憶
  278.     @s_lv[index] = actor.level
  279.     @s_party[index] = [actor.name, actor.hp, actor.maxhp,
  280.                        actor.mp, actor.maxmp, actor.states]
  281.     # ==add
  282.     s[16] = Sprite.new(@viewport)
  283.     s[16].bitmap = Cache.system("actor.name")
  284.     s[16].x = X # X坐标
  285.     s[16].y = Y # Y坐标
  286.     s[16].z = -1
  287.  
  288.   end
  289.   #--------------------------------------------------------------------------
  290.   # ● オブジェクト開放
  291.   #--------------------------------------------------------------------------
  292.   def dispose      
  293.     super
  294.     return unless @f
  295.     for i in [email]0...@s_sprite.size[/email]
  296.       for l in [0,1,2,3,4,8,9,15,16] # 加16
  297.         @s_sprite[i][l].bitmap.dispose
  298.         @s_sprite[i][l].dispose
  299.       end
  300.       for l in [5,6,7]
  301.         @s_sprite[i][l].dispose
  302.       end
  303.     end
  304.     @@f = false
  305.   end
  306.   #--------------------------------------------------------------------------
  307.   # ● フレーム更新
  308.   #--------------------------------------------------------------------------
  309.   def update
  310.     super
  311.     return unless @f
  312.     for i in [email]0...@s_sprite.size[/email]
  313.       s = @s_sprite[i]
  314.       a = $game_party.members[i]
  315.       m = @s_party[i]
  316.       @state_opacity[i] = 0 if @state_opacity[i] == nil
  317.       # 不透明度アップ
  318.       @state_opacity[i] += 8
  319.       if @opacity < 272
  320.         @opacity += 8
  321.         for l in [0,1,2,3,4,15,16] #这里加不加无所谓。。
  322.           s[l].opacity = @opacity
  323.         end
  324.         for l in [6,7]
  325.           s[l].o = @opacity
  326.         end
  327.       end
  328.       # 名前更新
  329.       if a.name != m[0]
  330.         s[15].bitmap.dispose
  331.         s[15].bitmap = name_bitmap(a)
  332.         m[0] = a.name
  333.       end
  334.       # HP/MP更新
  335.       update_hp(s,a,m)
  336.       update_mp(s,a,m)
  337.       # ステート更新
  338.       if s[10] > BTSKIN_06WH[0] / 24 and (Graphics.frame_count % BTSKIN_06SC) == 0
  339.         s[9].ox += 1
  340.       end
  341.       if s[10] > 0 and @state_opacity[i] < 272
  342.         for l in [8,9]
  343.           s[l].opacity = @state_opacity[i]
  344.         end
  345.       end
  346.       if a.states != m[5]
  347.         m[5] = a.states
  348.         s[9].ox = 0
  349.         s[9].bitmap.dispose
  350.         s[9].bitmap = draw_actor_state($game_party.members[i])
  351.         s[10] = state_size($game_party.members[i])
  352.         @state_opacity[i] = 0
  353.         for l in [8,9]
  354.           s[l].opacity = @state_opacity[i]
  355.         end
  356.       end
  357.     end
  358.   end
  359.   #--------------------------------------------------------------------------
  360.   # ● フレーム更新 (HP)
  361.   #--------------------------------------------------------------------------
  362.   def update_hp(s,a,m)
  363.     # HPくるくる
  364.     if a.hp != s[13]
  365.       c = 0; c = 1 if a.hp < a.maxhp / 4; c = 2 if a.hp == 0
  366.       if s[13] > a.hp
  367.         s[13] -= BTSKIN_04SS
  368.         s[13] = a.hp if s[13] < a.hp
  369.       else
  370.         s[13] += BTSKIN_04SS
  371.         s[13] = a.hp if s[13] > a.hp
  372.       end
  373.       s[6].update(s[13], c)
  374.     end
  375.     # HP
  376.     if a.hp != m[1]
  377.       s[11] = ((@hpgw * (a.hp / (a.maxhp * 1.0))) + 1).truncate
  378.       m[1] = a.hp
  379.     end
  380.     sr = s[1].src_rect
  381.     if sr.width != s[11]
  382.       sp = BTSKIN_01GS
  383.       sr.width = (s[11] + (s[1].src_rect.width * (sp - 1))) / sp
  384.       sr.width = 2 if sr.width <= 1 and a.hp > 0
  385.     end
  386.     sr = s[2].src_rect
  387.     sp = 2
  388.     if sr.width != s[1].src_rect.width and (Graphics.frame_count % sp) == 0
  389.       if sr.width < s[1].src_rect.width
  390.         sr.width += 1
  391.       else
  392.         sr.width -= 1
  393.       end
  394.     end
  395.     sr.width = 2 if sr.width <= 1 and a.hp > 0
  396.   end
  397.   #--------------------------------------------------------------------------
  398.   # ● フレーム更新 (MP)
  399.   #--------------------------------------------------------------------------
  400.   def update_mp(s,a,m)
  401.     # MPくるくる
  402.     if a.mp != s[14]
  403.       c = 0; c = 1 if a.mp < a.maxmp / 4
  404.       if s[14] > a.mp
  405.         s[14] -= BTSKIN_05SS
  406.         s[14] = a.mp if s[14] < a.mp
  407.       else
  408.         s[14] += BTSKIN_05SS
  409.         s[14] = a.mp if s[14] > a.mp
  410.       end
  411.       s[7].update(s[14], c)
  412.     end
  413.     # MP
  414.     if a.mp != m[3]
  415.       if a.maxmp != 0
  416.         s[12] = ((@mpgw * (a.mp / (a.maxmp * 1.0))) + 1).truncate
  417.       else
  418.         s[12] = 0
  419.       end
  420.       m[3] = a.mp
  421.     end
  422.     sr = s[3].src_rect
  423.     if sr.width != s[12]
  424.       sp = BTSKIN_02GS
  425.       sr.width = (s[12] + (s[3].src_rect.width * (sp - 1))) / sp
  426.       sr.width = 2 if sr.width <= 1 and a.mp > 0
  427.     end
  428.     sr = s[4].src_rect
  429.     sp = 2
  430.     if sr.width != s[3].src_rect.width and (Graphics.frame_count % sp) == 0
  431.       if sr.width < s[3].src_rect.width
  432.         sr.width += 1
  433.       else
  434.         sr.width -= 1
  435.       end
  436.     end
  437.     sr.width = 2 if sr.width <= 1 and a.mp > 0
  438.   end
  439. end
  440.  
  441. #==============================================================================
  442. # ■ Sprite_strNumber
  443. #==============================================================================
  444. class Sprite_strNumber < Sprite
  445.   #--------------------------------------------------------------------------
  446.   # ● オブジェクト初期化
  447.   #--------------------------------------------------------------------------
  448.   def initialize(v, gra, n = 0)
  449.     @n = n
  450.     super(v)
  451.     self.bitmap = Cache.system(gra)
  452.     @w = self.bitmap.width/10
  453.     @h = self.bitmap.height/3
  454.     self.src_rect = Rect.new(@n*@w, 0, @w, @h)
  455.   end
  456.   #--------------------------------------------------------------------------
  457.   # ● フレーム更新
  458.   #--------------------------------------------------------------------------
  459.   def update(n = -1, c = 0)
  460.     @n = n
  461.     self.src_rect.x = @n*@w
  462.     self.src_rect.y = c*@h
  463.   end
  464. end
  465. #==============================================================================
  466. # ■ Sprite_strNumbers
  467. #==============================================================================
  468. class Sprite_strNumbers
  469.   attr_accessor :x
  470.   attr_accessor :y
  471.   attr_accessor :z
  472.   attr_accessor :o
  473.   #--------------------------------------------------------------------------
  474.   # ● オブジェクト初期化
  475.   #--------------------------------------------------------------------------
  476.   def initialize(v, gra, n = 4, s = 0)
  477.     @n = n # 桁数
  478.     @x = 0
  479.     @y = 0
  480.     @z = 0
  481.     @o = 255
  482.     @sprite = []
  483.     # 字間設定
  484.     b = Cache.system(gra)
  485.     @s = b.width / 10 - s
  486.     # スプライト作成
  487.     for i in 0...n
  488.       @sprite[i] = Sprite_strNumber.new(v, gra)
  489.     end
  490.     update
  491.   end
  492.   #--------------------------------------------------------------------------
  493.   # ● フレーム更新
  494.   #--------------------------------------------------------------------------
  495.   def update(v = 0, c = 0)
  496.     val = []
  497.     # 数値を配列に格納
  498.     for i in 0...@n
  499.       if (10 ** (i)) == 0
  500.         val[i] = v % 10
  501.       else
  502.         val[i] = v / (10 ** (i)) % 10
  503.       end
  504.     end
  505.     val = val.reverse
  506.     # 先頭の0を取り除く
  507.     for i in 0...@n
  508.       if val[i] == 0 and @n != i + 1
  509.         val[i] = -1
  510.       else
  511.         break
  512.       end
  513.     end
  514.     # スプライト更新
  515.     for i in 0...@n
  516.       @sprite[i].update(val[i], c)
  517.       @sprite[i].x = @x + (i * @s)
  518.       @sprite[i].y = @y
  519.       @sprite[i].z = @z
  520.       @sprite[i].opacity = @o
  521.     end
  522.   end
  523.   #--------------------------------------------------------------------------
  524.   # ● 不透明度の適用
  525.   #--------------------------------------------------------------------------
  526.   def o=(val)
  527.     @o = val
  528.     for i in 0...@n
  529.       @sprite[i].opacity = @o
  530.     end
  531.   end
  532.   #--------------------------------------------------------------------------
  533.   # ● オブジェクト開放
  534.   #--------------------------------------------------------------------------
  535.   def dispose
  536.     for i in [email]0...@sprite.size[/email]
  537.       @sprite[i].bitmap.dispose
  538.       @sprite[i].dispose
  539.     end
  540.   end
  541. end


update_cursor这个脚本是没有的。。你可以在默认的里面加。。也可以直接在这个脚本里加

点评

282、296、321行是改的  发表于 2012-7-4 20:29
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 23:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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