Project1

标题: 精灵动态图脚本这段脚本要加在那个部分 [打印本页]

作者: 金芒芒    时间: 2023-8-26 16:21
标题: 精灵动态图脚本这段脚本要加在那个部分
本帖最后由 金芒芒 于 2023-8-26 16:49 编辑

    @team_flag_sprite.bitmap =  RPG::Cache.picture("图片显示/动态图/队标")
    w = @team_flag_sprite.bitmap.width / 15
    src_rect = Rect.new(kind * w, 0, w, @team_flag_sprite.bitmap.height)
    self.contents.blt(x, y, @team_flag_sprite.bitmap, src_rect)



RUBY 代码复制
  1. class Sprite_Character < RPG::Sprite
  2.   #--------------------------------------------------------------------------
  3.   # ● 参数设置 正太君改
  4.   #--------------------------------------------------------------------------
  5.   # 设置图片文件名.不想要底图就让底图完全透明或设置为 ""
  6.   # 图片放在 Graphics/Pictures/ 文件夹下
  7.   TeamTagFileName = "大脚"#团队组标记文件名
  8.   # 设置显示友军标记的开关号
  9.   TeamTagBar = 10
  10.  
  11.   #--------------------------------------------------------------------------
  12.   # ● 初始化对像
  13.   #--------------------------------------------------------------------------
  14.   #别名hzhj旧初始化使标记初始化
  15.   alias hzhj_old_init_make_tag initialize
  16.   #定义初始化参数
  17.   def initialize(*args)
  18.    #@团队标记精灵= 精灵新建(参数[0])
  19.     @team_tag_sprite = Sprite.new(args[0])
  20.     @tags_sprites = [] #@标记精灵=[]
  21.     #@标记精灵 << @团队标记精灵
  22.     @tags_sprites << @team_tag_sprite
  23.     # @团队标记精灵位图 = RPG::缓存。图片(团队标记文件名)
  24.     @team_tag_sprite.bitmap = RPG::Cache.picture(TeamTagFileName)
  25.     #队旗精灵=精灵.new(参数[0])
  26.     @team_flag_sprite = Sprite.new(args[0])
  27.     # 团队旗帜精灵位图= RPG::缓存。图片("队标")
  28.     @team_flag_sprite.bitmap =  RPG::Cache.picture("图片显示/动态图/队标")
  29.  
  30.    #@标记精灵 << @团队旗帜精灵
  31.     @tags_sprites << @team_flag_sprite
  32.  
  33.     @count = 0 #@计数=0
  34.     @wait_count = 0#@等待计数=0
  35.     #hzhj旧初始化使用标记(*参数)
  36.     hzhj_old_init_make_tag(*args)
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 释放
  40.   #--------------------------------------------------------------------------
  41.   #别名hzhj旧的布置使标记布置除非$@
  42.   alias hzhj_old_dispose_make_tag dispose unless $@
  43.   def dispose#定义布置
  44.    # @标记精灵。每个{|精灵|精灵.布置}
  45.     @tags_sprites.each{|sprite|sprite.dispose}
  46.     #hzhj旧的布置使用标志
  47.     hzhj_old_dispose_make_tag
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 获取事件 HP # 正太君改
  51.   #--------------------------------------------------------------------------
  52.   def event_hp#定义事件hp
  53.      return 0 if @character.nil?#如果@角色,则返回0。无
  54.      #如果@角色,则返回0。是a吗?(游戏玩家)
  55.      return 0 if @character.is_a?(Game_Player)
  56.      #返回@角色hp
  57.      return @character.hp
  58.   end
  59.  
  60.   #--------------------------------------------------------------------------
  61.   # ● 判断是否显示队长旗子
  62.   #--------------------------------------------------------------------------
  63.   def show_team_flag?#是否定义显示队长旗子?
  64.     #如果@角色.是_a?则返回假的?(游戏玩家)
  65.     return false if @character.is_a?(Game_Player)
  66.      #如果@角色.是_a?则返回假的?(EFS英雄)
  67.     return false if @character.is_a?(EFS_Hero)
  68.     #如果$场景可以用的队组 == 无     则返回假的
  69.     return false if $scene.group_lisenter == nil
  70.     #挑选选着=$场景。小组成员。包括?(@角色队组)
  71.     selected = $scene.group_lisenter.include?(@character.group)
  72.    # cp队长=场景。小组[@角色.队组-1].队长
  73.     cp = $scene.team_groups[@character.group[0]-1].captain
  74.  
  75.     if cp == @character
  76.       # if cp.character_name = "E_Horseman" #"E_Horseman"  #如果队长==@角色
  77.       #返回$游戏开关[TeamTagBar]
  78.         return $game_switches[TeamTagBar]
  79.      # end
  80.       #end
  81.    #  return false
  82.    else#否则
  83.       return false#返回假的
  84.   #  end  
  85.    # cp = $scene.team_groups[@character.group-1].captain
  86.    # if cp == @character
  87.    # bitmap = nil
  88.    # @character.id= Figter_data::data_id
  89.    # case @character.id
  90.    # 队长 id 为 2 显示 E_HeavyInfantry
  91.    # when 2 then bitmap = RPG::Cache.Icons("E_HeavyInfantry")
  92.    # end
  93.    # @team_flag_sprite.bitmap = bitmap if bitmap
  94.     end   
  95.  
  96. end
  97.  
  98.   #--------------------------------------------------------------------------
  99.   # ● 判断是否显示队友标记
  100.   #--------------------------------------------------------------------------
  101.   def show_team_tag?#是否定义显示队友标记?
  102.     #under construct
  103.     #如果@角色.是_a?则返回假的?(游戏玩家)
  104.     return false if @character.is_a?(Game_Player)
  105.     #如果$场景可以用的队组 == 无     则返回假的
  106.     return false if $scene.group_lisenter == nil
  107.     #挑选选着=$场景。小组成员。包括?(@角色队组)
  108.     @selected = $scene.group_lisenter.include?(@character.group)
  109.     #如果事件hp>0且@角色.团队==1且@角色已删除
  110.     if event_hp > 0 and @character.team == 1 and !@character.removed # and selected
  111.       ##返回$游戏开关[TeamTagBar]
  112.       return $game_switches[TeamTagBar]
  113.     else#否者
  114.       return false#返回假的
  115.     end  
  116.  
  117.   end
  118.  
  119.   #--------------------------------------------------------------------------
  120.   # ● 更新画面
  121.   #--------------------------------------------------------------------------
  122.   #别名hzhj旧更新使标记更新
  123.   alias hzhj_old_update_make_tag update
  124.   def update#定义更新
  125.     hzhj_old_update_make_tag#hzhj旧更新标记
  126.     #如果@角色.is_a?(EFS_Battler)和@角色.is_a?(游戏玩家)
  127.     if !@character.is_a?(EFS_Battler) and !@character.is_a?(Game_Player)
  128.       #@标记精灵。每个{|sprite|sprite.可见=false}
  129.       @tags_sprites.each{|sprite|sprite.visible = false}
  130.     else#否则
  131.       if show_team_flag?#如果展示队旗?
  132.        # @队旗精灵。可见=真
  133.         @team_flag_sprite.visible =  true
  134.       else #否则
  135.         @team_flag_sprite.visible =  false # @队旗精灵。可见=假
  136.       end  
  137.       # 刷新 标记 可见状态
  138.       if show_team_tag?
  139.         # @队旗精灵。可见=真
  140.         @team_tag_sprite.visible =  true
  141.  
  142.         if @selected#如果@选定
  143.          # @标记精灵。每个do|精灵|
  144.           @tags_sprites.each do |sprite|
  145.  
  146.  
  147.           sprite.ox = sprite.bitmap.width / 2
  148.           sprite.oy = sprite.bitmap.height
  149.           sprite.z = z
  150.          # 精灵.x =   @角色。屏幕_x
  151.  
  152.           #sprite.x = @character.screen_x
  153.           sprite.x = @character.screen_x
  154.           #blink_on
  155.          # 函数键=@角色。是使用权限
  156.           shif = @character.is_cal
  157.           #sprite.x = shif [email protected]_x : 120+i+160
  158.           if @character.ammo>0#如果@角色。弹药>0
  159.  
  160.           #精灵y=函数键?@角色屏幕y-92:@角色。屏幕y-60  
  161.           sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
  162.           else#否者
  163.  
  164.            #精灵y=函数键?@角色屏幕y-82:@角色。屏幕y-50
  165.           sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
  166.           end
  167.           sprite.opacity = 255#精灵不透明度=255
  168.           end#loop
  169.  
  170.         else
  171.  
  172.         # 刷新坐标
  173.         @tags_sprites.each do |sprite|#@标记精灵。每个do|sprite|
  174.           #sprite.zoom_y = 1
  175.           sprite.ox = sprite.bitmap.width / 2
  176.           sprite.oy = sprite.bitmap.height
  177.           sprite.z = z
  178.           # 精灵.x =   @角色。屏幕_x
  179.        #   sprite.x = shif [email protected]_x : 120+screen_x+160
  180.           sprite.x = @character.screen_x
  181.           #blink_on
  182.           # 函数键=@角色。是使用权限
  183.           shif = @character.is_cal
  184.  
  185.           if @character.ammo>0#如果@角色。弹药>0\
  186.  
  187.           #精灵y=函数键?@角色屏幕y-92:@角色。屏幕y-60  
  188.           sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
  189.           else#否者
  190.  
  191.           #精灵y=函数键?@角色屏幕y-82:@角色。屏幕y-50
  192.           sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
  193.           end
  194.           sprite.opacity = 125#精灵不透明度=125
  195.         end#loop
  196.  
  197.         end #if include
  198.  
  199.       else#否者
  200.         #@标记精灵。每个{|sprite|sprite.可见度=假的}
  201.         @tags_sprites.each{|sprite|sprite.visible = false}
  202.       end
  203.  
  204.     end
  205.  
  206.  
  207.  
  208.   end
  209.  
  210.  
  211. end





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1