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

Project1

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

[已经解决] 横版战斗如何加入血条和指针

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
33 小时
注册时间
2011-4-4
帖子
42
跳转到指定楼层
1
发表于 2013-11-1 14:44:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 q577757 于 2013-11-4 15:36 编辑

怎么在每个战斗行走图脚下加一个血条?
战斗下方框框内选取敌人如何变为 指针选取敌人,在要选的敌人行走图前面加个箭头或者让选择的敌人身体变亮一些

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
2
发表于 2013-11-1 15:00:49 | 只看该作者
这个……这个……
第一个血条脚本蛮多地方有的,随便挑个给你吧。http://rpg.blue/thread-252003-1-1.html
第二个可以使用http://www.66rpg.com/articles/5129里的第四个脚本,这个是高亮显示被选中敌人的。
箭头的脚本我正好有,但是贴出来好长啊,俺不会改成滚动的。

评分

参与人数 1星屑 +150 收起 理由
Sion + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
3
发表于 2013-11-1 15:25:36 | 只看该作者
tan12345 发表于 2013-11-1 15:00
这个……这个……
第一个血条脚本蛮多地方有的,随便挑个给你吧。http://rpg.blue/thread-252003-1-1. ...

同求箭头选定敌人!!!
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
33 小时
注册时间
2011-4-4
帖子
42
4
 楼主| 发表于 2013-11-1 15:29:07 | 只看该作者
tan12345 发表于 2013-11-1 15:00
这个……这个……
第一个血条脚本蛮多地方有的,随便挑个给你吧。http://rpg.blue/thread-252003-1-1. ...

偶去试试
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
5
发表于 2013-11-1 15:34:34 | 只看该作者
魔力的觉醒 发表于 2013-11-1 15:25
同求箭头选定敌人!!!

MOG有脚本是箭头的,MOG_Battle_Cursor这个脚本就是在战斗时可以用箭头选择敌人,不过他的箭头在底部,可以通过设定改到左边或右边,我的脚本是基于他这个的脚本上改的,加了好多自己的元素,不太适合通用……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
33 小时
注册时间
2011-4-4
帖子
42
6
 楼主| 发表于 2013-11-1 15:39:42 | 只看该作者
本帖最后由 q577757 于 2013-11-1 15:41 编辑
tan12345 发表于 2013-11-1 15:00
这个……这个……
第一个血条脚本蛮多地方有的,随便挑个给你吧。http://rpg.blue/thread-252003-1-1. ...


第一个是有血条 但是在横版系统下出现错误。。。
提示战斗显示血条第45行错误
#--------------------------------------------------------------------------
  # ● 生成位图
  #--------------------------------------------------------------------------
  def create_bitmap
    @last_hp = @battler.hp
    bw = 96
    bh = 6
    self.bitmap = Bitmap.new(bw, bh)
    self.bitmap.fill_rect(0, 0, bw, bh, Color.new(32,32,64))
45 if Freya::Gauge_Type.nil? or Freya::Gauge_Type == 0
      hp = ((bw) * @battler.hp_rate).to_i
      self.bitmap.gradient_fill_rect(0, 0, hp, bh, Freya::EnemyHPGa

第二个指针是脸图战斗专用的。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
7
发表于 2013-11-1 15:49:21 | 只看该作者
本帖最后由 魔力的觉醒 于 2013-11-1 15:50 编辑
tan12345 发表于 2013-11-1 15:34
MOG有脚本是箭头的,MOG_Battle_Cursor这个脚本就是在战斗时可以用箭头选择敌人,不过他的箭头在底部,可 ...


请问是这个吗? 我插进去 没效果怎么回事!!
RUBY 代码复制
  1. #==============================================================================
  2. # +++ MOG - Animated Cursor (V1.2) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # [url]http://www.atelier-rgss.com/[/url]
  6. #==============================================================================
  7. # Adiciona um cursor animado nos menus de comandos.
  8. #==============================================================================
  9. # Será necessário ter a imagem
  10. #
  11. # Menu_Cursor.png
  12. #
  13. # gravado na pasta GRAPHICS/SYSTEM/
  14. #==============================================================================
  15. # Ativando a animação do cursor
  16. #
  17. # Basta criar uma imagem que tenha a largura com no minimo o dobro de altura da
  18. # imagem do cursor.
  19. #
  20. # EX
  21. # largura 32 pixel (width) altura 32 pixel = 1 frames de animação.(Sem animação)
  22. # largura 64 pixel (width) altura 32 pixel = 2 frames de animação.
  23. # largura 128 pixel (width) altura 32 pixel = 4 frames de animação.
  24. # largura 256 pixel (width) altura 32 pixel = 8 frames de animação
  25. # Etc...
  26. #
  27. # NOTA
  28. # Não há limite para quantidade de frames de animação, se não quiser a animação
  29. # basta criar uma imagem com a altura proporcional a largura da imagem.
  30. #
  31. #==============================================================================
  32. # ● Histórico (Version History)
  33. #==============================================================================
  34. # v 1.1 - Correção da posição do cursor na cena de batalha.
  35. #==============================================================================
  36.  
  37. module MOG_MENU_CURSOR
  38.   #Ativar animação do cursor se movimentando para os lados.
  39.   SIDE_ANIMATION = true
  40.   #Definição da posição do cursor. (Ajustes na posição)
  41.   CURSOR_POSITION = [0,0]
  42.   #Definição da velocidade da animação de frames.
  43.   CURSOR_ANIMATION_SPEED = 6
  44. end
  45.  
  46. #==============================================================================
  47. # ■ Game_System
  48. #==============================================================================
  49. class Game_System
  50.  
  51.   attr_accessor :menu_cursor_name
  52.  
  53.   #--------------------------------------------------------------------------
  54.   # ● Initialize
  55.   #--------------------------------------------------------------------------      
  56.   alias mog_menu_cursor_initialize initialize
  57.   def initialize
  58.       mog_menu_cursor_initialize
  59.       @menu_cursor_name = "Menu_Cursor"
  60.   end  
  61.  
  62. end  
  63.  
  64. #==============================================================================
  65. # ■ Game_Temp
  66. #==============================================================================
  67. class Game_Temp
  68.  
  69.   attr_accessor :menu_cursor   
  70.  
  71.   #--------------------------------------------------------------------------
  72.   # ● Initialize
  73.   #--------------------------------------------------------------------------      
  74.   alias mog_cursor_sprite_initialize initialize
  75.   def initialize
  76.       mog_cursor_sprite_initialize
  77.       @menu_cursor = [false,0,0,0]
  78.   end  
  79.  
  80. end  
  81.  
  82. #==============================================================================
  83. # ■ Sprite Cursor
  84. #==============================================================================
  85. class Sprite_Cursor < Sprite
  86.  
  87.   include MOG_MENU_CURSOR
  88.  
  89.   #--------------------------------------------------------------------------
  90.   # ● Initialize
  91.   #--------------------------------------------------------------------------   
  92.   def initialize(viewport = nil , x , y)
  93.       super(viewport)
  94.       @cursor_image = Cache.system($game_system.menu_cursor_name.to_s)
  95.       @frame_max = (@cursor_image.width / @cursor_image.height) rescue 1
  96.       @frame_range = @frame_max > 0 ? (@cursor_image.width  / @frame_max) : 1
  97.       @frame = 0
  98.       @ca_speed = CURSOR_ANIMATION_SPEED
  99.       self.bitmap = Bitmap.new(@frame_range,@frame_range)
  100.       self.z = 10000
  101.       self.opacity = 0
  102.       @cw = self.bitmap.width / 2
  103.       @c_p = [-@cw + CURSOR_POSITION[0],CURSOR_POSITION[1]]
  104.       [url=home.php?mod=space&uid=287812]@mx[/url] = [0,0,0]
  105.       refresh_animation(true)
  106.       update_move
  107.   end
  108.  
  109.   #--------------------------------------------------------------------------
  110.   # ● Dispose
  111.   #--------------------------------------------------------------------------   
  112.   def dispose
  113.       self.bitmap.dispose
  114.       self.bitmap = nil
  115.       @cursor_image.dispose
  116.       super
  117.   end  
  118.  
  119.   #--------------------------------------------------------------------------
  120.   # ● Update
  121.   #--------------------------------------------------------------------------  
  122.   def update
  123.       if cursor_visible?
  124.          self.visible = true
  125.          update_move
  126.          refresh_animation(false)
  127.       else   
  128.          self.visible = false
  129.       end  
  130.   end
  131.  
  132.   #--------------------------------------------------------------------------
  133.   # ● Initialize
  134.   #--------------------------------------------------------------------------      
  135.   def refresh_animation(start = false)
  136.       @ca_speed += 1
  137.       return if @frame_max == 1 and !start
  138.       return if @ca_speed < CURSOR_ANIMATION_SPEED
  139.       @ca_speed = 0
  140.       self.bitmap.clear
  141.       scr_rect = Rect.new(@frame_range * @frame,0,@frame_range,@frame_range)
  142.       self.bitmap.blt(0,0,@cursor_image, scr_rect)
  143.       @frame += 1
  144.       @frame = 0 if @frame >= @frame_max
  145.   end  
  146.  
  147.   #--------------------------------------------------------------------------
  148.   # ● Cursor Visible?
  149.   #--------------------------------------------------------------------------   
  150.   def cursor_visible?
  151.       px = $game_temp.menu_cursor[2]
  152.       py = $game_temp.menu_cursor[3]
  153.       return false if $game_temp.menu_cursor[1] == 0
  154.       return false if px < 0 or py < 0 or (px == 0 and py == 0)
  155.       return true
  156.   end  
  157.  
  158.   #--------------------------------------------------------------------------
  159.   # ● Update Move
  160.   #--------------------------------------------------------------------------   
  161.   def update_move
  162.       self.opacity += 25
  163.       @new_pos = [$game_temp.menu_cursor[2],$game_temp.menu_cursor[3]]
  164.       execute_animation_s
  165.       execute_move(0,self.x, @new_pos[0] + @mx[1] + @c_p[0])
  166.       execute_move(1,self.y, @new_pos[1] + @c_p[1])
  167.   end  
  168.  
  169.   #--------------------------------------------------------------------------
  170.   # ● Execute Animation S
  171.   #--------------------------------------------------------------------------      
  172.   def execute_animation_s
  173.       return if !SIDE_ANIMATION
  174.       @mx[2] += 1
  175.       return if @mx[2] < 4
  176.       @mx[2] = 0
  177.       @mx[0] += 1
  178.       case @mx[0]
  179.          when 1..7;  @mx[1] += 1            
  180.          when 8..14; @mx[1] -= 1
  181.          else
  182.            @mx[0] = 0
  183.            @mx[1] = 0
  184.       end
  185.   end
  186.  
  187.   #--------------------------------------------------------------------------
  188.   # ● Execute Move
  189.   #--------------------------------------------------------------------------      
  190.   def execute_move(type,cp,np)
  191.       sp = 5 + ((cp - np).abs / 5)
  192.       if cp > np
  193.          cp -= sp
  194.          cp = np if cp < np
  195.       elsif cp < np
  196.          cp += sp
  197.          cp = np if cp > np
  198.       end     
  199.       self.x = cp if type == 0
  200.       self.y = cp if type == 1
  201.   end  
  202.  
  203. end
  204.  
  205. #==============================================================================
  206. # ■ CURSOR_MENU SPRITE
  207. #==============================================================================
  208. module CURSOR_MENU_SPRITE
  209.  
  210.   #--------------------------------------------------------------------------
  211.   # ● Cursor Sprite Enable
  212.   #--------------------------------------------------------------------------      
  213.   def cursor_sprite_enable
  214.       return if self.index == nil rescue return
  215.       create_cursor_sprite
  216.       update_cursor_sprite
  217.       update_cusor_position
  218.       if !self.active
  219.          $game_temp.menu_cursor[1] -= 1 if $game_temp.menu_cursor[1] > 0
  220.       end
  221.   end
  222.  
  223.   #--------------------------------------------------------------------------
  224.   # ● Create Cursor Sprite
  225.   #--------------------------------------------------------------------------   
  226.   def create_cursor_sprite
  227.       return if @cursor != nil
  228.       return if $game_temp.menu_cursor[0]
  229.       $game_temp.menu_cursor[0] = true
  230.       reset_cursor_position
  231.       @cursor = Sprite_Cursor.new(nil,x,y)
  232.       @cursor_name = $game_system.menu_cursor_name
  233.   end   
  234.  
  235.   #--------------------------------------------------------------------------
  236.   # ● Dispose Cursor Sprite
  237.   #--------------------------------------------------------------------------      
  238.   def dispose_cursor_sprite
  239.       return if @cursor == nil
  240.       $game_temp.menu_cursor[0] = false
  241.       reset_cursor_position
  242.       @cursor.dispose
  243.       @cursor = nil
  244.   end  
  245.  
  246.   #--------------------------------------------------------------------------
  247.   # ● Reset Cursor Position
  248.   #--------------------------------------------------------------------------        
  249.   def reset_cursor_position
  250.       $game_temp.menu_cursor[1] = 0
  251.       $game_temp.menu_cursor[2] = -32
  252.       $game_temp.menu_cursor[3] = -32
  253.   end  
  254.  
  255.   #--------------------------------------------------------------------------
  256.   # ● Update Cursor
  257.   #--------------------------------------------------------------------------         
  258.   def update_cursor_sprite
  259.       return if @cursor == nil
  260.       @cursor.update
  261.       refresh_cursor_sprite if @cursor_name != $game_system.menu_cursor_name
  262.   end
  263.  
  264.   #--------------------------------------------------------------------------
  265.   # ● Refresh Cursor Sprite
  266.   #--------------------------------------------------------------------------            
  267.   def refresh_cursor_sprite
  268.       @cursor_name = $game_system.menu_cursor_name
  269.       dispose_cursor_sprite
  270.       create_cursor_sprite
  271.   end  
  272.  
  273.   #--------------------------------------------------------------------------
  274.   # ● Update Cursor Position
  275.   #--------------------------------------------------------------------------         
  276.   def update_cusor_position
  277.       return if !can_update_cursor_position?
  278.       x_v = [0,0]
  279.       if SceneManager.scene_is?(Scene_Battle)
  280.           if self.viewport != nil
  281.              x_v = [-self.viewport.ox, self.viewport.rect.y]
  282.           end
  283.       end      
  284.       x_e = (self.cursor_rect.x + self.x) - self.ox
  285.       $game_temp.menu_cursor[2] = x_e + x_v[0]
  286.       y_e = (self.cursor_rect.y + self.y + self.cursor_rect.height / 2) - self.oy
  287.       $game_temp.menu_cursor[3] = y_e + x_v[1]
  288.       $game_temp.menu_cursor[1] = 13
  289.    end
  290.  
  291.   #--------------------------------------------------------------------------
  292.   # ● Can Update Cursor
  293.   #--------------------------------------------------------------------------            
  294.    def can_update_cursor_position?
  295.        return false if !self.active     
  296.        return false if self.index < 0
  297.        return false if !self.visible
  298.        return true
  299.    end  
  300.  
  301. end
  302.  
  303. #==============================================================================
  304. # ■ Window Base
  305. #==============================================================================
  306. class Window_Base < Window
  307.   include CURSOR_MENU_SPRITE
  308.  
  309.   #--------------------------------------------------------------------------
  310.   # ● Dispose
  311.   #--------------------------------------------------------------------------              
  312.   alias mog_menu_cursor_base_dispose dispose
  313.   def dispose
  314.       mog_menu_cursor_base_dispose
  315.       dispose_cursor_sprite
  316.   end  
  317.  
  318.   #--------------------------------------------------------------------------
  319.   # ● Update
  320.   #--------------------------------------------------------------------------              
  321.   alias mog_cursor_update update
  322.   def update
  323.       mog_cursor_update
  324.       cursor_sprite_enable
  325.   end   
  326.  
  327. end
  328.  
  329. $mog_rgss3_animated_cursor = true
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
8
发表于 2013-11-1 15:51:42 | 只看该作者
q577757 发表于 2013-11-1 15:39
第一个是有血条 但是在横版系统下出现错误。。。
提示战斗显示血条第45行错误
#----------------------- ...

指针那个,你用MOG的脚本吧,有范例但是一时找不到了,范例里脚本名MOG_Battle_Cursor就是指针,可以独立使用。
血条的话站里很多,你搜一下自己挑选吧……甚至MOG里都有血条,也是可以直接独立使用的
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
9
发表于 2013-11-1 15:57:56 | 只看该作者
魔力的觉醒 发表于 2013-11-1 15:49
请问是这个吗? 我插进去 没效果怎么回事!!#======================================================= ...

是这个,至于没效果,我只能说你用的脚本太多了……
你要测试效果很简单,新建个空白的系统,把这个脚本放到main前面,然后把图片也拷贝到相应文件夹,然后战斗,效果就出来了。图片是我自己改动后的效果……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
10
发表于 2013-11-1 16:01:46 | 只看该作者
tan12345 发表于 2013-11-1 15:57
是这个,至于没效果,我只能说你用的脚本太多了……
你要测试效果很简单,新建个空白的系统,把这个脚本 ...

好吧好吧!!!我的离狂拽炫酷吊炸天永远那么远!!谢谢帮忙啊!
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 09:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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